---
canonical_url: "https://docs.composio.dev/toolkits/typecast"
markdown_url: "https://docs.composio.dev/toolkits/typecast.md"
product: "platform"
version: null
last_updated: null
---

# Typecast

Typecast is an AI voice platform for generating expressive speech, discovering voices, and managing custom voices.

- **Category:** audio & speech
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 7
- **Triggers:** 0
- **Slug:** `TYPECAST`
- **Version:** 20261014_00

## Tools

### Compose Speech

**Slug:** `TYPECAST_COMPOSE_SPEECH`

Generate one audio file from an ordered sequence of speech and pause segments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `segments` | array | Yes | Ordered speech and pause segments. Include 1-50 segments with at least one tts segment; combined speech text is limited to 2000 characters, and combined pauses to 60 seconds. The top-level audio_format applies to every tts segment. |
| `audio_format` | string ("wav" | "mp3") | No | Common audio format for every speech segment in the composed file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Speech

**Slug:** `TYPECAST_GENERATE_SPEECH`

Generate a complete WAV or MP3 audio file from text using a Typecast voice.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `seed` | integer | No | Optional unsigned 32-bit seed for reproducible generation. |
| `text` | string | Yes | Text to synthesize (1-2000 characters). |
| `model` | string ("ssfm-v30" | "ssfm-v21") | Yes | Speech model supported by the selected voice; prefer ssfm-v30 when available. |
| `prompt` | string | No | Optional model-specific smart, preset, or ssfm-v21 voice prompt configuration. |
| `volume` | integer | No | Volume from 0 to 200; mutually exclusive with target_lufs. |
| `language` | string | No | Optional ISO 639-3 language code, such as eng; omit for auto-detection. |
| `voice_id` | string | Yes | Built-in tc_ voice ID or an owned uc_ custom voice ID. |
| `audio_pitch` | integer | No | Pitch adjustment in semitones from -12 to 12. |
| `audio_tempo` | number | No | Tempo multiplier from 0.5 to 2. |
| `target_lufs` | number | No | Target loudness from -70 to 0 LUFS; mutually exclusive with volume. |
| `audio_format` | string ("wav" | "mp3") | No | Format of the generated audio file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Speech With Timestamps

**Slug:** `TYPECAST_GENERATE_SPEECH_WITH_TIMESTAMPS`

Generate speech plus word, character, or both alignment timestamp arrays.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `seed` | integer | No | Optional unsigned 32-bit seed for reproducible generation. |
| `text` | string | Yes | Text to synthesize (1-2000 characters). |
| `model` | string ("ssfm-v30" | "ssfm-v21") | Yes | Speech model supported by the selected voice; prefer ssfm-v30 when available. |
| `prompt` | string | No | Optional model-specific smart, preset, or ssfm-v21 voice prompt configuration. |
| `volume` | integer | No | Volume from 0 to 200; mutually exclusive with target_lufs. |
| `language` | string | No | Optional ISO 639-3 language code, such as eng; omit for auto-detection. |
| `voice_id` | string | Yes | Built-in tc_ voice ID or an owned uc_ custom voice ID. |
| `audio_pitch` | integer | No | Pitch adjustment in semitones from -12 to 12. |
| `audio_tempo` | number | No | Tempo multiplier from 0.5 to 2. |
| `granularity` | string ("word" | "char") | No | Return only word or character alignments; omit to return both. Use char for Japanese and Chinese. |
| `target_lufs` | number | No | Target loudness from -70 to 0 LUFS; mutually exclusive with volume. |
| `audio_format` | string ("wav" | "mp3") | No | Format of the generated audio file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Subscription

**Slug:** `TYPECAST_GET_SUBSCRIPTION`

Get the connected Typecast API plan, credit usage, concurrency limit, and custom-voice allowance.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Voice

**Slug:** `TYPECAST_GET_VOICE`

Get one voice's metadata, supported models, and available emotions by voice ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `voice_id` | string | Yes | Typecast tc_ built-in or uc_ custom voice ID to inspect. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Voices

**Slug:** `TYPECAST_LIST_VOICES`

List available built-in and owned custom Typecast voices, optionally filtered by speech model, gender, age, use case, and voice type. Returns each voice ID with the model versions and emotions it supports for use in speech synthesis.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `age` | string ("child" | "teenager" | "young_adult" | "middle_age" | "elder") | No | Only return voices in this age category. |
| `model` | string ("ssfm-v30" | "ssfm-v21") | No | Only return voices supporting this speech model. |
| `gender` | string ("male" | "female") | No | Only return voices with this documented gender. |
| `use_cases` | string ("Announcer" | "Anime" | "Audiobook" | "Conversational" | "Documentary" | "E-learning" | "Rapper" | "Game" | "Tiktok/Reels" | "News" | "Podcast" | "Voicemail" | "Ads") | No | Only return voices matching this Typecast use-case value. |
| `voice_type` | string ("original" | "custom") | No | Limit results to built-in original voices or owned custom voices. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Recommend Voices

**Slug:** `TYPECAST_RECOMMEND_VOICES`

Find and rank Typecast voices that match a natural-language description.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of ranked recommendations to return (1-10). This is not pagination. |
| `query` | string | Yes | Natural-language description of the desired voice (1-500 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
