Add Typecast HTTP TTS service and foundational example #2960
+442
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
TypecastTTSServicealigned with the official Typecast Text-to-Speech REST APIpipecat.services.typecast, include atypecastoptional dependency, and document new env vars for credentialsWhat's New
Typecast TTS Service
src/pipecat/services/typecast/tts.pyusing a sharedaiohttpclient; handles ISO 639-3 language mapping plusprompt/outputcontrols (emotion, intensity, pitch, tempo, format) as documented by Typecast_stream_audio_frames_from_iteratorhelper, integratesstart_ttfb_metrics/start_tts_usage_metrics, and enforces theaudio_format="wav"contract for raw PCM playbacksrc/pipecat/services/typecast/__init__.pysopipecat.services.typecastmirrors other provider namespacesFoundational Example
examples/foundational/07z-interruptible-typecast-http.py, matching other HTTP samples with configurable transports, Deepgram STT, OpenAI LLM, and optionalTYPECAST_VOICE_IDoverridesaiohttp.ClientSession, highlighting how to reuse the service within an interruptible pipelineConfiguration & Packaging
typecastoptional dependency group insidepyproject.tomlfor targeted installsenv.examplewithTYPECAST_API_KEY/TYPECAST_VOICE_IDso users know which secrets are required before running the sample or serviceUsage Example