Webhook events

workflow_run.succeeded

Delivered when a workflow run completes successfully.

postWebhookworkflow_run.succeeded

Payload

event'workflow_run.awaiting_approval' | 'workflow_run.succeeded' | 'workflow_run.failed' | 'workflow_run.cancelled' required

Lifecycle events emitted for workflow runs started via the developer API.

workflowRunIdstring required

Opaque workflow run id matching the original request.

occurredAtinteger required

Seconds since epoch (Unix timestamp) when this outcome occurred.

workflowType'SCRIPT_TO_VIDEO' | 'VOICEOVER_TO_VIDEO' | 'SLIDESHOW_TO_VIDEO' | 'STORYBOARD_TO_VIDEO' | 'PROMPT_TO_VIDEO_CLIP' | 'VIDEO_TO_VIDEO' required

Workflow type identifier.

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.

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.

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.

Response

Acknowledge receipt

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.