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.
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.
draftbooleanSeedance 2.5 only. Set to true to generate a 480p Draft preview. Resolution must be 480p and defaults to 480p when omitted. The Draft is a separate task and is billed separately from any subsequent final render.
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.
promptstringVideo generation prompt.
metadataobjectApplication metadata.
extra_bodyobjectAdditional request body fields.
provider_optionsobjectUpstream configuration.
output_formatstringRequested container format for generated video outputs.
omni_reference_task_typestringSeedance omni reference task type hint: auto, reference, edit, or extend.
stylestringProvider video-generation style or style-routing selector.
prompt_expansionbooleanWhether the upstream provider should expand or optimize the video prompt before generation.
draft_task_idstringSeedance 2.5 only. Token360 public video_* ID of a completed Draft task created with the same API key and less than 7 days old. Creates the 1080p final video; resolution must be 1080p and defaults to 1080p when omitted. The final render inherits the prompt, reference media, duration, audio, and seed from the Draft; do not repeat those fields. The final render is a separate task and is billed separately. This protocol-control field may not appear in supported_parameters.
voice_listarrayOptional preset voice identifiers for supported video generation models.
multi_promptarrayOrdered storyboard prompts for multi-shot video generation.
multi_shotbooleanEnables multi-shot video generation.
shot_typestringMulti-shot strategy: customize or intelligence.
element_listarrayPre-created reusable element identifiers for supported video generation models.
elementsarrayInline character or object element definitions for supported video generation models.
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.