Skip to main content
GET
/
v2
/
voices
cURL
curl --request GET \
  --url 'https://api.typecast.ai/v2/voices?model=ssfm-v30&gender=female&age=young_adult' \
  --header 'X-API-KEY: <api-key>'
[
  {
    "voice_id": "tc_60e5426de8b95f1d3000d7b5",
    "voice_name": "Olivia",
    "models": [
      {
        "version": "ssfm-v30",
        "emotions": [
          "normal",
          "happy",
          "sad",
          "angry",
          "whisper",
          "toneup",
          "tonedown"
        ]
      },
      {
        "version": "ssfm-v21",
        "emotions": [
          "normal",
          "happy",
          "sad",
          "angry"
        ]
      }
    ],
    "gender": "female",
    "age": "young_adult",
    "use_cases": [
      "Audiobook",
      "E-learning",
      "Ads"
    ],
    "voice_type": "original"
  }
]

Documentation Index

Fetch the complete documentation index at: https://typecast.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-KEY
string
header
required

API key for authentication. You can obtain an API key from the Typecast API Console.

Query Parameters

model
enum<string>

Filter by voice model (ssfm-v21 or ssfm-v30). Returns voices that support the specified model. Optional - if not provided, returns voices for all models. TTS model version to use for speech synthesis. Different models offer varying capabilities and quality levels.

Available models:

  • ssfm-v30: Latest model with improved prosody and additional emotion presets (recommended)
  • ssfm-v21: Stable production model with proven reliability and consistent quality
Available options:
ssfm-v30,
ssfm-v21
gender
enum<string>

Filter by gender (male or female). Returns voices matching the specified gender. Optional - if not provided, returns voices of all genders. Gender classification enum - Converts database values (Korean) to API values (English).

Available values:

  • male: Male voice
  • female: Female voice
Available options:
male,
female
age
enum<string>

Filter by age group (child, teenager, young_adult, middle_age, elder). Returns voices matching the specified age group. Optional - if not provided, returns voices of all ages. Age group classification enum - Converts database values (Korean) to API values (English).

Available values:

  • child: Child voice (under 12 years old)
  • teenager: Teenage voice (13-19 years old)
  • young_adult: Young adult voice (20-35 years old)
  • middle_age: Middle-aged voice (36-60 years old)
  • elder: Elder voice (over 60 years old)
Available options:
child,
teenager,
young_adult,
middle_age,
elder
use_cases
enum<string>

Filter by use case category. Returns voices tagged with the specified use case (TikTok/Reels/Shorts, Game, Audiobook/Storytelling, etc.). Optional - if not provided, returns all voices regardless of use case. Voice use case categories for content type filtering. Each voice is tagged with one or more use cases indicating its suitability for specific content types.

Available Use Cases:

  • Announcer: Public announcements and presentations
  • Anime: Animation and character voices
  • Audiobook: Long-form narration and storytelling
  • Conversational: Chatbots and conversational AI
  • Documentary: Documentary narration and commentary
  • E-learning: Educational content and tutorials
  • Rapper: Rap and music performance
  • Game: Video game characters and narration
  • Tiktok/Reels: Short-form social media content
  • News: News broadcasting
  • Podcast: Broadcasting and podcast production
  • Voicemail: IVR systems and voice assistants
  • Ads: Advertising and promotional content
Available options:
Announcer,
Anime,
Audiobook,
Conversational,
Documentary,
E-learning,
Rapper,
Game,
Tiktok/Reels,
News,
Podcast,
Voicemail,
Ads
voice_type
enum<string>

Filter by voice type (original or custom). Optional - if not provided, returns voices of all types. Voice type classification.

  • original — Typecast-provided stock voices available to every account.
  • custom — Voices the user created by uploading or cloning their own sample.
Available options:
original,
custom

Response

Success - Returns list of voice models with enhanced metadata

voice_id
string
required

Unique voice identifier. Built-in voices use the tc_ prefix (e.g., tc_60e5426de8b95f1d3000d7b5); cloned custom voices created via POST /v1/voices/clone use the uc_ prefix and are also returned by /v2/voices for the owner.

voice_name
string
required

Human-readable name of the voice

models
ModelInfo · object[]
required

List of supported TTS models with their available emotions (e.g., [{'version': 'ssfm-v21', 'emotions': ['happy', 'sad']}])

voice_type
enum<string>
required

Voice type — original for Typecast-provided stock voices, custom for user-cloned voices.

Available options:
original,
custom
gender
enum<string> | null

Voice gender classification (male/female)

Available options:
male,
female
age
enum<string> | null

Voice age group classification (child/teenager/young_adult/middle_age/elder)

Available options:
child,
teenager,
young_adult,
middle_age,
elder
use_cases
string[]

List of use case categories this voice is suitable for