Prepare a speech script with the AI Director
Creates an asynchronous AI Director task. The AI Director reads the text and optional instructions, then returns a script that is ready to synthesize, in Beatra speech markup tailored to the target voice and model: emotion, performance, sound effects, pauses and pronunciation. It never changes the words. Without a voice or model it recommends one, with alternatives, each with a name, a preview link and a reason. Send each script's synthesis object, unchanged, as the body of POST /v1/audio/speech; a script whose synthesis is null cannot be synthesized as is. Charged after completion from actual input, output and reasoning tokens. To submit a text, the balance must cover its estimate (the catalog's estimate_per_1000_characters_credits for its length, counting at least 1,000 characters) plus that of any other AI Director task in progress on the account. An account runs at most 2 AI Director tasks at a time. Nothing is charged when the AI Director could not direct the text (directed is false) or reuses an earlier reading of the same text.
Request Body
application/jsonRequiredmetadataMetadataCaller-supplied metadata; ≤16 keys, key ≤64 chars, value ≤512 chars
callback_urlCallback UrlHTTPS URL Beatra will POST the final Task envelope to when the Task reaches a terminal state
callback_signing_key_idCallback Signing Key IdOptional standalone callback signing key. Omit for unsigned callback delivery; requires callback_url when provided.
inputText to perform, in any supported language, 1 to 50,000 characters. It may already contain Beatra speech markup such as {pause 0.5} or {pron 行 hang2}; the AI Director keeps it and only adds to it. The words themselves are never changed.
1Maximum length: 50000instructionsInstructionsOptional requirements in natural language, in any language, up to 2,000 characters, for example "a bit suspenseful, whisper the last line". Without them the AI Director performs the text by its meaning.
voiceVoiceOptional voice to perform for: a preset voice or one of your own cloned voices. Same meaning as voice in POST /v1/audio/speech. Omit it to let the AI Director recommend a voice.
modelModelOptional speech model to perform for, with the same values and defaults as model in POST /v1/audio/speech. auto or omitted: resolved from the voice, or recommended together with the voice.
"auto"Value in: "auto" | "minimax-speech-2.8-hd" | "minimax-speech-2.8-turbo" | "doubao-seed-tts-2.0" | "elevenlabs-v4-turbo" | "elevenlabs-v4"languageLanguageLanguage of the input as a BCP-47 tag. Usually omit it (auto, the default): the language is detected. Send it only when the user names the language or a dialect the text cannot show, such as Cantonese (yue).
"auto"Minimum length: 2Maximum length: 32contextAny properties in SpeechScriptContextOptional, advanced: the text around the input when a long text is directed in parts, used only to understand the tone. It is not annotated, read aloud or returned. The end of before is also suggested as previous_text when the target model supports it.
Header Parameters
X-Request-IdstringOptional client request id echoed in the response.
Idempotency-Key1Maximum length: 128AuthorizationBearer API key.
Task accepted
Last updated