Submit video generation request
/v1/videosSubmit a normalized video generation request and create an asynchronous task. The API infers the generation workflow from frame_images and input_references roles. The response contains a video task id; poll that id with GET /v1/videos/{video_id} to check generation status and retrieve the final result.
To receive a webhook when the task reaches a terminal state, provide the optional callback_url field. See Webhook for delivery behavior, retries, and payload details.
Authentication
Authorization Bearer
API key as bearer token in Authorization header.
Request Body
modelstringrequiredVideo model ID.
Example: "seedance-2.0"
promptstringrequiredText description of the video to generate.
durationintegerGenerated video duration in seconds, when supported by the selected model.
resolutionenum<string>Resolution enum when supported.
Available options: 360p 480p 540p 720p 1080p 1K 2K 4K
aspect_ratioenum<string>Output aspect ratio when supported by the selected model.
Available options: adaptive 16:9 9:16 1:1 4:3 3:4 21:9 9:21
generate_audiobooleanWhether to generate audio alongside the video when supported.
seedintegerRandom seed when supported by the selected model.
watermarkbooleanWhether to include a watermark when supported.
return_last_framebooleanWhether to return the generated video's last frame image when supported.
execution_expires_afterintegerProvider execution expiration threshold in seconds when supported.
safety_identifierstringProvider safety or audit identifier when supported.
callback_urlstringHTTPS URL that receives a webhook when the video task reaches a terminal state.
metadataobjectArbitrary key/value metadata stored with the task.
Response
idstringVideo task ID.
objectstringAlways video.
statusenum<string>Task status.
Available options: queued in_progress completed failed
modelstringModel used.
promptstringInput prompt.
created_atintegerUnix timestamp.
parametersobjectNormalized task parameters.
contentobjectAdditional generated assets when returned by the provider.
content.last_frame_urlstringLast-frame image URL when return_last_frame=true and the provider returns it.
Previous
Create transcription
Next
Poll video generation status