Skip to main content

Overview

TypecastTTSService converts text into expressive, lifelike speech using Typecast’s neural voices. It supports emotion control and audio customization, and integrates Typecast’s streaming text-to-speech into a Pipecat pipeline.

Source Repository

Source code, examples, and issues for the Typecast integration

PyPI Package

The pipecat-ai-typecast package on PyPI

Typecast Website

Learn more about Typecast’s text-to-speech voices

API Keys

Create and manage your Typecast API keys

Installation

This is a community-maintained package distributed separately from pipecat-ai:

Prerequisites

Typecast Account Setup

Before using the Typecast TTS service, you need:
  1. Typecast Account: Sign up at Typecast
  2. API Key: Create a key from the Typecast API key page

Required Environment Variables

  • TYPECAST_API_KEY: Your Typecast API key for authentication (required)
  • TYPECAST_VOICE_ID: Voice ID override (optional; defaults to the service’s built-in voice)

Configuration

aiohttp_session
aiohttp.ClientSession
required
Active aiohttp client session used for Typecast API requests.
api_key
str
default:"None"
Typecast API key. Falls back to the TYPECAST_API_KEY environment variable if not provided.
voice_id
str
default:"None"
Voice ID to use. Falls back to the TYPECAST_VOICE_ID environment variable, or the service’s built-in default voice.
model
str
default:"ssfm-v30"
Typecast model version. Use ssfm-v30 (default) or the legacy ssfm-v21.
base_url
str
default:"https://api.typecast.ai/v1/text-to-speech"
Typecast API endpoint URL.
sample_rate
int
default:"44100"
Audio sample rate in Hz.
params
TypecastInputParams
default:"None"
Advanced configuration parameters for language, seed, emotion, and audio output. See Input Parameters below.

Input Parameters

Advanced settings passed via the params constructor argument using TypecastInputParams(...). prompt_options accepts one of:
  • PresetPromptOptions (ssfm-v30): emotion_preset (e.g. normal, happy, sad, angry, whisper, toneup, tonedown) and emotion_intensity (0.02.0).
  • SmartPromptOptions (ssfm-v30): previous_text and next_text (max 2000 chars each) for context-aware emotion inference.
  • PromptOptions (legacy ssfm-v21): emotion_preset and emotion_intensity.
OutputOptions fields:
Available parameters and defaults are defined by the integration and the selected Typecast model. See the source repository for the authoritative, up-to-date list.

Usage

See example.py in the source repository for a complete working bot.

Compatibility

Tested with Pipecat v0.0.94+. Check the source repository for the latest tested version and changelog.