Save script
save_scriptSave script text (your own draft, or an edited version of the generated one). Saving UPDATES the active version in place — the previous text is not kept, so show the user the current script (get_script) before overwriting it. New versions are created by generate_script runs, and activate_script_version switches between those. Run scan_script afterwards so assets and voice blocks reflect the new text.
Three notations the script text carries, none of them ever spoken:
SCENE DIRECTIONS — `[SCENE: <visual direction>]` as its OWN paragraph
(blank line before and after; brackets inside a narration paragraph are
never matched). It directs the storyboard for the narration that follows
it, until the next direction. For that span it OUTRANKS the channel
director style's shot choices — say what is on screen, who is in frame,
and any on-screen text you need baked in verbatim — while the director
style still governs look and rhythm. It is NOT a segmentation constraint:
the storyboard still cuts the span into as many segments as the pacing
wants. scan_script's asset extraction reads directions too: a character
or place named ONLY inside a direction is still extracted, under the
exact name the direction uses — no manual create_asset needed for it.
PAUSES — `<break time="1.5s" />` is the ONLY thing that makes the voice
pause. Ellipses, em dashes and paragraph breaks produce no silence at
all, so a script without break tags is read as one continuous sprint.
Both engines honor it (MiniMax natively, ElevenLabs masked out of the
caption alignment). Use ~0.5s between thoughts, ~1.0s at act seams, and
longer where a card or list needs reading time on screen; write ONE tag
with the total ("4.0s"), never two tags back to back. Breaks are also
the pacing lever the project's narrator_speed can't reach: speed changes
how fast words are said, breaks add the silence between them.
SPEAKERS — a paragraph starting `Name: "..."` assigns that line to a
character, who gets their own voice (set_character_voice) and their own
shot. Narration with no prefix is the narrator's.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Full script text to save as a new version; plain prose narration, optionally with `[SCENE: ...]` direction paragraphs, `<break time="0.5s" />` pauses, and `Name:` speaker prefixes | |
| project_id | Yes | Project ID, as returned by create_project or list_projects |