REST API ReferenceEndpointsWorkflows

Add visuals, narrations, and captions to a script

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

AuthorizationBearer
API key from [app.videogen.io/developers](https://app.videogen.io/developers). The full key is only shown once when you create it.

Request

This endpoint expects an object.
scriptstringRequired

The narration script, used verbatim. This exact text is narrated and turned into a video — it is not rewritten or expanded.

visualStyleobjectRequired

Visual treatment for the generated b-roll.

aspectRatioobjectOptional

Aspect ratio as a width:height pair (e.g. 16 and 9 for 16:9). Not pixel dimensions.

visualPacingenumOptionalDefaults to MEDIUM

How quickly visuals change. FAST shows more, shorter shots; SLOW holds each visual longer. Defaults to MEDIUM.

languagestringOptional

Output language as a BCP-47 code (e.g. en, es, fr). Defaults to English.

voiceIdstring or nullOptional

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.

voiceSpeeddoubleOptional
Speech rate multiplier. Defaults to the voice's default speed.
avatarPresenterIdstring or nullOptional

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.

featuredBRollFileIdslist of stringsOptional

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.

captionStyleobject or nullOptional

Caption styling. Omit to use the default style with captions shown. Pass an object to override individual style fields (any omitted field uses the default). Pass null to hide captions entirely.

logoFileIdstring or nullOptional

Optional file id of an uploaded logo image to overlay on the video (e.g. vg_file_...). Upload the image first via POST /v1/files/upload. Only image files are accepted.

remixActionslist of objectsOptional

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. Use this for background music, logo overlays, or caption changes beyond captionStyle.

Response

Workflow run accepted.
workflowRunIdstring

Opaque workflow run id (e.g. vg_work_...).

projectIdstring
Id of the project created for this workflow run.
projectUrlstringformat: "uri"
URL to view the project in the VideoGen app.
remixActionIdslist of strings

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.