Realtime TTS-2 is live. Built for realtime conversation that feels human. Learn more

VoiceService

Get a specific voice

GET/voices/v1/voices/{voiceId}

Authorizations

Authorizationstringrequired

Your API key. Read permissions are required for GET endpoints. Write permissions are required for POST, PATCH, and DELETE endpoints.

For Basic authentication, please populate Basic $INWORLD_API_KEY. You can create a key in one command with the Inworld CLI: inworld workspace add-key.

Path Parameters

voiceIdstringrequired

Voice ID of the voice to get.

Response

200 - application/json

voiceIdstring

Voice ID. SYSTEM voices use a simple name (e.g. Alex); IVC voices are workspace-prefixed ({workspace}__{voice}).

langCodeenum<string>

Primary language of the voice in upper-snake format (e.g. EN_US). Note that when filtering via lang_code, you can pass BCP-47 (en-US), underscore form (en_US), or a language prefix (en) — but the response always returns upper-snake.

Available options:EN_USZH_CNKO_KRJA_JPRU_RUAUTOIT_ITES_ESPT_BRDE_DEFR_FRAR_SAPL_PLNL_NLHI_INHE_IL

languageCodestring

Canonical wire form of the voice's primary language as a single string (e.g. en-US, es-MX, vi). Populated on every read alongside the legacy langCode enum. Immutable after creation.

displayNamestring

The human-readable name shown anywhere the voice is listed or selected.

descriptionstring

Longer blurb that explains the voice's tone, accent, use cases, or other relevant attributes.

tagsstring[]

Free-form labels for filtering, grouping, and discovery (e.g. british, calm).

namestring

Resource name. Format: workspaces/{workspace}/voices/{voice}.

sourceenum<string>

Origin of the voice:

  • SYSTEM: Built-in voice provided by Inworld, visible to all workspaces.
  • IVC: Voice cloned from audio or created via Voice Design — owned by your workspace only.
  • PVC: Professional Voice Clone.

Available options:SYSTEMIVCPVC

genderenum<string>

Voice gender (male, female, neutral). Empty string if unspecified. Voices with no gender are excluded when filtering with an explicit gender = predicate.

Available options:malefemaleneutral

ageGroupenum<string>

Age group of the voice (young, middle_aged, elderly). Empty string if unspecified.

Available options:youngmiddle_agedelderly

categoriesenum<string>[]

Use-case categories the voice belongs to. Filterable with the : (has) operator.

Supported values: companions, enterprise, education_training, developer_assistants, healthcare, interactive_media.

promptLanguagesstring[]

Languages the voice can handle, in BCP-47 format (e.g. en-US). May differ from langCode for multilingual voices.