Generate voice-over
generate_voiceoverStart a voice-over generation from text. This spends credits, or runs on the user's own key, and returns immediately. Pass subject to read in the voice bound to one of the account's Subjects — her model, voice, delivery and language — or pick model and voice yourself; omit both to use the default model's default voice.
Lines of one script must sound like one take: generate the whole script once and cut it, or keep the model, voice and delivery fixed across lines.
Models:
elevenlabs-tts (Eleven v3): ~8.5 per 1,000 chars; up to 3000 chars; default voice Rachel; controls language/speed; custom voice ids
eleven-v4 (Eleven v4): ~7 per 1,000 chars; up to 4000 chars; default voice JBFqnCBsd6RMkjVDRZzb; controls language; custom voice ids; stitches lines (continues_from)
gemini-3.1-flash-tts (Gemini 3.1 Flash TTS): ~11 per 1,000 chars; up to 4000 chars; default voice Kore; controls style prompt/language
kokoro-82m (Kokoro 82M): ~0.5 per 1,000 chars; up to 4000 chars; default voice af_bella; controls speed
minimax-speech-2.8-hd (MiniMax Speech 2.8 HD): ~4.5 per 1,000 chars; up to 4000 chars; default voice Wise_Woman; controls language/speed/emotion; custom voice ids
inworld-tts-2 (Inworld TTS 2.0): ~2.5 per 1,000 chars; up to 2000 chars; default voice Ashley; controls language/speed; custom voice ids
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"text": "<text>"
},
"name": "generate_voiceover"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The words to speak. Each model has its own ceiling, shown in its roster line ("up to N chars"); a longer script is split into lines. | |
| model | No | ||
| speed | No | ||
| voice | No | ||
| emotion | No | ||
| runs_on | No | Who pays: "credits", or one of the user's own keys by vendor (get_credits lists them). Leave out to follow their payer order; set it only when the user chose. | |
| subject | No | A Subject's name or id. Reads in her bound voice; model, voice, style_prompt and language_code then come from the binding and may not be passed. | |
| style_prompt | No | ||
| language_code | No | ||
| continues_from | No | The generation ids of up to three earlier lines of the same script, oldest first, on a model whose roster line says it stitches; keeps the voice continuous across separately generated lines. Same model and voice as those lines. | |
| idempotency_key | No | Optional. Pass the same value to retry one operation without spending twice; omit it for a new operation. Different arguments under a reused key are refused. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| generation | Yes | One image, clip, voice-over or piece of music. |