Slideshow to video
slideshow_to_videoBuild an editable narrated video from an uploaded PDF or slideshow file. Upload the file first with upload_file, then pass its fileId. For avatar narration, pass actorEntityId and optionally set avatarQuality. Returns workflowRunId, projectId, and projectUrl; poll get_workflow_run for progress and downloadUrl after auto-export.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | Uploaded PDF or slideshow file id. | |
| voiceId | No | Catalog display name (e.g. Matilda) or voice id from list_tts_voices. | |
| language | No | Output language as a BCP-47 code, such as en, es, or fr. | |
| autoExport | No | When true (the default), the run stays in progress until an MP4 is ready. Use downloadUrl from the result. Set false only if you will call remix_project and then export_project yourself. | |
| aspectRatio | No | Output aspect ratio as width:height units (not pixels). Example: { width: 16, height: 9 }. | |
| slideScripts | No | Optional narration for each slide, in order. | |
| actorEntityId | No | Id of an ACTOR entity (vg_enti_...) with an image reference. When set, narration is delivered by that actor avatar. | |
| avatarQuality | No | Avatar generation quality tier. Applies when actorEntityId is provided. Omit to use workspace settings. | |
| slideshowThemeEntityId | No | Optional id of a SLIDESHOW_THEME entity (vg_enti_...) whose reference board defines the shared slide design system. Omit when converting an uploaded deck's original pages; VideoGen derives a theme from those pages in the background. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | Error details when status is failed; otherwise null. | |
| status | No | Job status: pending, running, succeeded, failed, or cancelled. | |
| exportId | No | Export id when autoExport succeeded (vg_expo_...). | |
| projectId | Yes | Project created for this exact workflow attempt (vg_proj_...). A retry creates a different project. | |
| projectUrl | Yes | Deep link to the project created for this exact workflow attempt. Keep it paired with workflowRunId; a retry returns a new URL. | |
| downloadUrl | No | Signed MP4 download URL when autoExport succeeded. Give this to the user. | |
| attemptIndex | No | Current or latest attempt index. | |
| exportFileId | No | File id of the rendered MP4 when autoExport succeeded. | |
| workflowType | No | Workflow type (present after polling). | |
| workflowRunId | Yes | Workflow run id (vg_work_...). Keep it paired with this response's projectId and projectUrl; a retry returns a new tuple. | |
| remixActionIds | No | Remix action ids from the start response (empty when none requested). | |
| progressPercentage | No | Completion progress 0-100 (present after polling). | |
| downloadUrlExpiresAt | No | Unix expiry for downloadUrl. |