workflowRunIdstring required
workflowType'SCRIPT_TO_VIDEO' | 'VOICEOVER_TO_VIDEO' | 'SLIDESHOW_TO_VIDEO' | 'STORYBOARD_TO_VIDEO' | 'PROMPT_TO_VIDEO_CLIP' | 'VIDEO_TO_VIDEO' required
Workflow type identifier.
progressPercentagenumber required
Completion progress for the current attempt (0-100). Always 100 when status is succeeded.
attemptIndexinteger required
Zero-based index of the current or most recent execution attempt.
projectIdstring required
Id of the project created for this workflow run (e.g. vg_proj_...).
projectUrlstring uri required
Deep link to open this project in the VideoGen web editor. Not required for an API-only integration: store projectId and use the Projects API (export, remix, metadata). Use projectUrl when a person should open the project in the app to review or edit it manually. The project is visible only to members of your team and any project collaborators, the same access model as a project created in the dashboard.
exportIdstring nullable required
Opaque export id (e.g. vg_expo_...) when this run was started with autoExport: true and the export succeeded. Always present as a field; null otherwise.
downloadUrlstring uri nullable required
Private signed MP4 download URL when autoExport succeeded. Always present as a field; null otherwise. Valid for 7 days from when it was signed. This endpoint re-signs the URL when it is within an hour of expiring.
downloadUrlExpiresAtinteger nullable required
Seconds since epoch (Unix timestamp) when downloadUrl expires. null while downloadUrl is null.
thumbnailUrlstring uri nullable required
Private signed thumbnail URL when autoExport succeeded. Always present as a field; null otherwise (and when no thumbnail is available). Re-signed automatically on the same terms as downloadUrl.
thumbnailUrlExpiresAtinteger nullable required
Seconds since epoch (Unix timestamp) when thumbnailUrl expires. null while thumbnailUrl is null.
exportFileIdstring nullable required
File id (e.g. vg_file_...) of the rendered MP4 when autoExport succeeded. Always present as a field; null otherwise. Pass it to POST /v1/files/{fileId}/hydrate for a fresh signed URL.