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.
Supported optional fields and allowed values are model-specific. Before sending optional parameters such as duration, resolution, size, aspect_ratio, generate_audio, service_tier, or provider policy fields, inspect GET /v1/models/{model_id} and use that model's parameter_schema and supported_parameters.
Authentication
Authorization Bearer
API key as bearer token in Authorization header.
Request Body
modelstringrequiredModel ID.
promptstringrequiredVideo generation prompt.
durationintegerRequested length of the generated video in seconds.
resolutionstringRequested output video resolution or resolution tier.
sizestringRequested output video size or resolution preset when the model uses a size field.
aspect_ratiostringRequested output video frame shape as a width-to-height ratio.
generate_audiobooleanControls whether video generation should include synthesized audio when supported.
prompt_extendbooleanPrompt extension flag.
watermarkbooleanControls whether generated videos include a watermark when supported.
seedintegerOptional numeric seed for repeatable generation when deterministic seeding is supported.
negative_promptstringNegative prompt.
modestringGeneration mode.
cfg_scalenumberControls how strongly generation follows the prompt or guidance signal; higher values usually increase prompt adherence.
camera_controlobjectCamera control configuration.
camera_control.typestringCamera control type.
camera_control.configobjectCamera control configuration.
camera_fixedbooleanFixed camera flag.
callback_urlstringWebhook callback URL.
external_task_idstringExternal task ID.
character_orientationstringCharacter orientation.
keep_original_soundbooleanSource-audio preservation flag.
qualitystringRequested generation quality or fidelity tier.
fpsnumberRequested output frame rate in frames per second.
sample_countintegerNumber of generated samples.
compression_qualitystringCompression quality.
prompt_optimizerbooleanPrompt optimizer flag.
fast_pretreatmentbooleanFast preprocessing flag.
return_last_framebooleanFinal-frame return flag.
movement_amplitudestringControls the amount of visual motion or camera/subject movement in the generated video when supported.
resize_modestringInput resize mode.
person_generationstringPerson generation policy.
safety_identifierstringSafety identifier.
draftbooleanDraft output flag.
request_idstringClient request ID.
video_modestringVideo generation workflow.
service_tierstringService tier.
input_referencesarrayReference media inputs.
input_references.typestringrequiredReference media type, such as image_url, video_url, or audio_url.
input_references.image_urlobjectImage URL object for image references.
input_references.video_urlobjectVideo URL object for video references.
input_references.audio_urlobjectAudio URL object for audio references.
input_references.rolestringReference role, such as reference, edit_source, or extend_source.
frame_imagesarrayFrame image inputs.
frame_images.typestringrequiredFrame media type, usually image_url.
frame_images.frame_typestringrequiredFrame role, such as first_frame or last_frame.
frame_images.image_urlobjectImage URL object for this frame.
bitrate_modestringRequested bitrate or compression quality mode for generated video output.
metadataobjectApplication metadata.
extra_bodyobjectAdditional request body fields.
provider_optionsobjectUpstream configuration.
Response
idstringVideo task ID.
objectstringAlways video.
statusstringTask status.
modelstringModel used.
promptstringInput prompt.
created_atintegerUnix timestamp.
parametersobjectNormalized task parameters.
contentobjectAdditional generated assets when returned.
content.last_frame_urlstringLast-frame image URL when return_last_frame=true and returned.
responseobjectRaw response details when available.
errorobjectError details when status=failed.
error.messagestringHuman-readable error message.
error.codestringMachine-readable error code.
error.typestringError category when returned.
error.stagestringProcessing stage where the error occurred.
error.upstream_http_statusintegerProvider HTTP status when the error came from upstream.
error.upstream_messagestringProvider error message when available.
usageobjectUsage and billing details when available.
usage.prompt_tokensintegerInput token count when returned.
usage.completion_tokensintegerOutput token count when returned.
usage.total_tokensintegerTotal token count when returned.
usage.input_tokensintegerInput token count for providers that use input/output names.
usage.output_tokensintegerOutput token count for providers that use input/output names.
usage.generated_imagesintegerGenerated image count when returned.
usage.audio_duration_secondsnumberAudio duration used for billing when returned.
usage.video_duration_secondsnumberVideo duration used for billing when returned.
usage.provider_request_idstringProvider request ID used for upstream correlation.