Script to video
Creates a project and generates a narrated video from a prompt or script. Returns immediately with a workflow run id; poll or subscribe to webhooks for completion.
Authentication
Request
The narration script, used verbatim. This exact text is narrated and turned into a video — it is not rewritten or expanded.
Visual treatment for the generated b-roll.
Aspect ratio as a width:height pair (e.g. 16 and 9 for 16:9). Not pixel dimensions.
How quickly visuals change. FAST shows more, shorter shots; SLOW holds each visual longer. Defaults to MEDIUM.
Output language as a BCP-47 code (e.g. en, es, fr). Defaults to English.
Voice id from GET /v1/resources/tts-voices (e.g. vg_voic_...). A default voice is used when omitted. Any voice may be used here, including voices where supportsDirectToolExecution is false.
Optional avatar presenter id from GET /v1/resources/avatar-presenters (e.g. vg_pres_...). When set, the narration is delivered by a talking-head presenter avatar. Pass your voiceId to that endpoint to list presenters sorted by best match for the voice. Omit for a standard voiceover with no presenter.
Optional file ids of images or videos to feature as b-roll (e.g. ["vg_file_..."]). Upload files first via POST /v1/files/upload. Only image and video files are accepted.
Optional production notes for the AI that builds the video — visual direction that should not appear in the spoken narration (e.g. on-screen code or text to display, specific b-roll to feature, or scene-by-scene staging). Never spoken; keep the narration itself in script.
Optional edits applied to the project after the video is built, in order. Each action runs asynchronously; the response returns one remix action id per action. Recommended for script-to-video: ENABLE_CAPTIONS to show and style captions, SET_BACKGROUND_MUSIC to add a music bed, ADD_TRANSITIONS to stamp transitions between sections, and SET_LOGO to overlay a logo (this workflow has no native caption-style or logo fields). EDIT_WITH_AGENT applies open-ended natural-language edits. See the Remix actions guide.
Response
Opaque workflow run id (e.g. vg_work_...).
Opaque remix action ids (e.g. vg_rmix_...), one per remixActions entry in request order. Empty when no remix actions were requested. Each runs after the video is built; poll GET /v1/projects/{projectId}/remix-actions.