Script Submit contract guide
Use this format to provide finished spoken text and cast assignments.
Loading the current contract...
Final Audio Script format
Submit one JSON object using the final_audio_script_2 schema. It needs a title, language, performance, ordered units, and a cast row for every speaker ID used in speech. Earlier final_audio_script_1 files still work with Normal delivery.
- Each spoken line is
{"kind":"speech","speaker_id":"...","text":"...","delivery":"urgent"}. Choose a delivery ID below or omit it for Normal. Its text is recorded exactly.sceneandsectionheadings andstanza_breakare silent. - Set
delivery_catalog_versiontodelivery_catalog_2. Delivery is a best-effort performance direction; the cast profile remains the same person on every line. - Each cast row needs
speaker_id,name,story_function(narrator,other, orantagonist), and one inlineprofile. The profile name must match the cast name. - The profile uses
play_cast_profile_1with gender, exact Dali voice ID, age ID, personality ID, and language. Useenfor an English script profile; useundfor other script languages. Saved-person references are not admitted here yet.
Defaults and required fields
For final_audio_script_2, omit a speech line's delivery to use normal. You may also omit content_form when no form applies. An explicit null delivery is not a valid choice.
There are no automatic defaults for the title, language, performance, spoken text, speaker IDs, or cast. Every spoken speaker needs a matching cast row and a complete inline voice profile. The schema_version, catalog_version, and delivery_catalog_version are required. Validation identifies missing or invalid fields before audio creation.
Example cast row from the current server contract:
Available system voices and cast dimensions
System voices
| Voice | Voice ID for profile | Gender | Use |
|---|
Per-line delivery
| Delivery | ID for speech unit | Direction |
|---|
Gender IDs
female, male