StillMade AIDeveloper docs
Browse documentation · SDK 0.1.0

Send a script to Voiceover

Review a connected SDK script output as project narration while preserving existing audio takes.

A recipe, JavaScript, or hosted text-generation Block can supply narration to a Voiceover Step through an explicit Project Type connection. Add both Steps, then use Advanced connections and legacy workflows → Connect steps to connect the Block's declared script output to Voiceover's input. Placing the Steps next to one another alone does not create this document handoff. Production users then work through the normal Step screens; no Canvas node or wire is required.

The Script draft example declares outputs: {"script":{"type":"script","primary":true}}. Embed that exact package in the Project Type's packages array, with these Steps and connection:

json
{
  "stages": [
    {"id":"draft","blockId":"example.script-draft","version":"1.0.0","label":"Draft narration"},
    {"id":"narration","blockId":"sm.voiceover","version":"1.1.0","label":"Voiceover"}
  ],
  "connections": [
    {"from":{"stage":"draft","port":"script"},"to":{"stage":"narration","port":"input"}}
  ]
}

This is the relevant portion of a Project Type, not a complete package. The selected output must contain {"schemaVersion":1,"text":"Your narration"} with non-empty text of at most 200,000 characters. The hosted text runtime has its smaller 32,768-character output limit. A plain text port is not automatically converted to script; authors must declare and return the structured type.

Run the source Block, then continue to Voiceover. Review Use script from [Step] and choose Apply script, or Keep current to leave the existing narration. Applying rechecks the exact source placement, pinned version, completed result, current narration and edit access. Stale, skipped or unverifiable results are not substituted; older saved outputs may need a fresh run. A new library release does not replace the pinned Block. Multiple results are not concatenated or selected arbitrarily for narration.

Applying preserves existing audio takes and history, clears stale word timings and transcript text, and marks the narration changed. Shared narration uses the normal collaboration and conflict controls. Voice generation and timing analysis remain separate explicit actions; opening Voiceover or applying a script does not start a paid audio request. Protected Chat and the built-in Script Writer's Narrative Compiler remain unchanged.