Create task
Last updated September 8, 2026
Submit an async task for bytedance/doubao-seedance-2-0-fast through the unified entry point. Flat request body.
Submit a bytedance/doubao-seedance-2-0-fast video task through the unified entry point. The body is flat:
prompt, material and parameters all at the top level.
https://gateway.amux.ai/v1/tasksAuthorization
headerAuthorizationstringRequiredBearer <your Amux key> Your Amux API key.
Request
application/jsonmodelstringRequiredAlways bytedance/doubao-seedance-2-0-fast. The bare doubao-seedance-2-0-fast works too, and it is case-insensitive.
promptstringWhat to generate. Optional -- media alone is enough.
mediaarray<object>Input material; each item states its role in type (the vendor shape calls that
field role). Only publicly reachable https URLs.
›mediaarray<object>
type"first_frame" | "last_frame" | "reference_image" | "reference_video" | "reference_audio"RequiredWhat this material is for. Limits: one first frame, one last frame, 9 reference images, 3 reference videos and 3 reference audio clips (video and audio clips run 2-15s each and cap at 15s combined).
⚠️ Audio alone is not accepted — at least one reference video or image is required.
⚠️ Frames and reference material are mutually exclusive — the vendor defines first frame, first-and-last frame and omni reference as three separate modes; mixing them is rejected.
urlstringRequiredA publicly reachable https URL. The model fetches it itself; we never do.
resolution"480p" | "720p"Default "720p"Output resolution tier. This model offers 480p / 720p.
A higher tier mostly costs more because it produces more tokens, not because it carries a different unit price — the exceptions are 1080p and 4k, which each sit on their own token rate.
durationintegerDefault -1Output length in seconds: -1 or an integer from 4 to 15. -1 lets the model pick within that range.
⚠️ Length drives the token count, which is what you are billed on.
aspect_ratio"adaptive" | "21:9" | "16:9" | "4:3" | "1:1" | "3:4" | "9:16"Default "adaptive"Aspect ratio. adaptive follows the input material.
This model can be given a concrete ratio, first-frame scenes included — that restriction belongs to Seedance 2.5 only.
generate_audiobooleanDefault trueWhether the output carries a soundtrack. On by default — the model
generates matching dialogue, effects and score from the prompt and the
visuals. Pass false explicitly for a silent video.
watermarkbooleanDefault falseWhether to stamp an "AI generated" watermark in the bottom-right corner.
return_last_framebooleanDefault falseWhether to also return the last frame as a PNG (no watermark, same
dimensions as the video). Feed it back as the next segment's first frame
to chain continuous video.
web_searchbooleanDefault falseWeb search. With it on, the model decides for itself whether to search the
web (products, weather and the like) -- better currency, some added latency.
Required: the vendor shape spells this tools: [{ type: "web_search" }] --
one capability, two wire formats.
priorityintegerDefault 0Queue priority; higher goes first. It reorders the queue within one
endpoint only and never interrupts a task already running.
execution_expires_afterintegerDefault 172800Task timeout in seconds, counted from creation; 48 hours by default. Past
it the task is terminated and marked expired.
userstringA stable, unique identifier for your end user, used for abuse attribution.
Send a hash rather than a plaintext username or email.
webhook_urlstringWhere to POST the result once the task is terminal. The vendor shape calls this
callback_url -- one thing, two names. Must be a deliverable public https URL.
Response
200responseAccepted. Poll GET /v1/tasks/{id} with the returned id.
400responseInvalid parameters, an impossible material combination, or a 1.x parameter this generation does not accept.
402responseThe available balance does not cover the reservation upper bound.
503responseNo provider is currently available for this model.
How it relates to the native shape
Billing, routing and the reservation are identical; only the wire format differs:
| Native shape | This one | |
|---|---|---|
| Prompt and material | One content[] array | prompt plus media[] |
| Material role | role | media[].type |
| Material URL | Nested image_url.url | Flat media[].url |
| Ratio parameter | ratio | aspect_ratio |
| Web search | tools: [{ type: "web_search" }] | Boolean web_search |
| End-user identifier | safety_identifier | user |
| Usage and cost on retrieval | No | Yes |
Value ranges
| Parameter | This model |
|---|---|
resolution | 480p / 720p |
duration | -1 or an integer from 4 to 15 |
ratio / aspect_ratio | adaptive or one of six ratios; a first-frame scene may also name one |
| Material limits | 1 first frame, 1 last frame, 9 reference images, 3 reference videos, 3 reference audio clips (2-15s each, 15s combined) |
| Audio alone | not allowed — at least one reference video or image |
output_format | not available |
omni_reference_task_type | not available |
prompt is optional — media alone is enough, the opposite of the MiniMax shape.
Billing is per token
usage.output_video_tokens is what the charge is computed from, and cost is that number
times the token rate. Reference images and audio are free; a request carrying reference
video moves the whole task to a lower rate.
Submitting returns a task ID
Poll the retrieval endpoint with id.
Ten-odd minutes for one clip is normal, so do not hold an HTTP connection open for it.
curl https://gateway.amux.ai/v1/tasks \
-H "Authorization: Bearer $AMUX_API_KEY" \
-d '{
"model": "bytedance/doubao-seedance-2-0-fast",
"prompt": "A ginger cat running through fresh snow, slow motion",
"resolution": "720p",
"duration": -1
}'{
"id": "task_01M1VD9E8WRYVBR7ES10SNQQQT",
"status": "queued",
"model": "bytedance/doubao-seedance-2-0-fast",
"created_at": "<string>",
"output": {
"images": [
{}
],
"videos": [
{
"index": 0,
"url": "<string>"
}
]
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"total_tokens": 0,
"output_video_tokens": 0
},
"cost": "0.83",
"notes": [
"<string>"
],
"error": {
"message": "<string>",
"code": "<string>"
}
}