Realtime TTS-2 is live. Built for realtime conversation that feels human. Learn more
curl --location --request PATCH 'https://api.inworld.ai/voices/v1/voices/<voice-id>' \
--header "Authorization: Basic $INWORLD_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"displayName": "John",
"description": "Cloned voice for narrations.",
"tags": ["demo", "clone"]
}'{
"voiceId": "your_workspace_id__my_voice_clone_demo_20260218_223134z",
"langCode": "EN_US",
"displayName": "John",
"description": "Cloned voice for narrations.",
"tags": [
"demo",
"clone"
],
"name": "workspaces/your_workspace_id/voices/my_voice_clone_demo_20260218_223134z",
"source": "IVC"
}curl --location --request PATCH 'https://api.inworld.ai/voices/v1/voices/<voice-id>' \
--header "Authorization: Basic $INWORLD_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"displayName": "John",
"description": "Cloned voice for narrations.",
"tags": ["demo", "clone"]
}'{
"voiceId": "your_workspace_id__my_voice_clone_demo_20260218_223134z",
"langCode": "EN_US",
"displayName": "John",
"description": "Cloned voice for narrations.",
"tags": [
"demo",
"clone"
],
"name": "workspaces/your_workspace_id/voices/my_voice_clone_demo_20260218_223134z",
"source": "IVC"
}Documentation Index
Fetch the complete documentation index at: https://docs.inworld.ai/llms.txt
Use this file to discover all available pages before exploring further.
/workspaces/{workspace} is no longer required in the path for simplicity and clarity. When omitted, the workspace is derived from your API key. The previous URL with the full path /voices/v1/workspaces/{workspace}/voices/{voice} would continue to be supported.Voice ID containing the voice to update. Expected format: {workspace}__{voice}.
[^/]+The voice resource to update
The human-readable name shown anywhere the voice is listed or selected. Keep it short and distinctive so users can find it easily.
Description of the voice, such as the voice's tone, accent, use cases, or other relevant attributes. Helpful for search and selection.
Flat list of labels used for filtering, grouping and discovery. Examples could include gender, age or use case.
A successful response.
Voice resource representing a voice configuration.
Voice ID. SYSTEM voices use a simple name (e.g. Alex); IVC voices are workspace-prefixed ({workspace}__{voice}).
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.
EN_US, ZH_CN, KO_KR, JA_JP, RU_RU, AUTO, IT_IT, ES_ES, PT_BR, DE_DE, FR_FR, AR_SA, PL_PL, NL_NL, HI_IN, HE_IL The human-readable name shown anywhere the voice is listed or selected.
Longer blurb that explains the voice's tone, accent, use cases, or other relevant attributes.
Free-form labels for filtering, grouping, and discovery (e.g. british, calm).
Resource name. Format: workspaces/{workspace}/voices/{voice}.
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.SYSTEM, IVC, PVC Voice gender (male, female, neutral). Empty string if unspecified. Voices with no gender are excluded when filtering with an explicit gender = predicate.
male, female, neutral, Age group of the voice (young, middle_aged, elderly). Empty string if unspecified.
young, middle_aged, elderly, Use-case categories the voice belongs to. Filterable with the : (has) operator.
Supported values: companions, enterprise, education_training, developer_assistants, healthcare, interactive_media.
companions, enterprise, education_training, developer_assistants, healthcare, interactive_media Languages the voice can handle, in BCP-47 format (e.g. en-US). May differ from langCode for multilingual voices.
Was this page helpful?