Create video
Last updated September 6, 2026
Generate with alibaba/wan3.0-video-prime in Alibaba Model Studio's own shape; DashScope clients work as-is.
Generate video with alibaba/wan3.0-video-prime using Alibaba Model Studio's own request shape
(nested input.* / parameters.*). An existing DashScope client only needs its
base_url pointed at Amux.
This model is the high-speed tier of its generation and accepts field-for-field identical parameters to the other tier; the trade-off between them is covered on the protocol-level page.
https://gateway.amux.ai/api/v1/services/aigc/video-generation/video-synthesisAuthorization
headerAuthorizationstringRequiredBearer <your Amux key> Your Amux API key.
Request
application/jsonmodelstringRequiredThe Amux model ID.
inputobjectRequiredProvide prompt, media, or both — at least one is required.
A first-frame image without a prompt is a valid request; do not submit an empty
string to satisfy the field, as that degrades the result.
›inputobject
promptstringA description of what to generate. Chinese and English are supported, up to 20,000 characters; anything beyond that is truncated upstream rather than rejected. The prompt may refer to items in media as "Image 1", "Video 1".
mediaarray<object>Input material, each item identified by its type. **Only publicly reachable https
URLs are accepted**; the oss:// addresses and image base64 payloads Alibaba Model
Studio supports are not.
A request may carry at most 24 items, a ceiling normal usage does not reach.
›mediaarray<object>
type"first_frame" | "last_frame" | "reference_image" | "reference_video" | "reference_audio" | "file" | "link"RequiredWhat this item is used for. Three combination rules:
1. Frames and references are mutually exclusive (first_frame / last_frame
cannot appear alongside any reference_*);
2. file and link are mutually exclusive;
3. At most one first_frame and one last_frame; multiple reference images are
permitted.
Upstream limits per role:
| Role | Max count | Formats | Limits |
|---|---|---|---|
first_frame / last_frame | 1 each | JPEG/JPG/PNG/BMP/WEBP | ≤20MB, 240-8000px per side, aspect ratio ≤8:1 |
reference_image | 10 | Same | Same |
reference_video | 5 clips | MP4/MOV | ≤100MB and 1-15s per clip, ≤15s total, ≥16fps |
reference_audio | 5 clips | WAV/MP3 | ≤15MB total, 1-15s per clip, ≤15s total |
file | 1 | DOCX/DOC/XLSX/XLS/PPTX/PPT/PDF/TXT/KEY/PAGES/NUMBERS/MD | ≤100MB, ≤50 pages |
link | 1 | Public web page | Must not require a login |
The counts above are validated upstream and are not re-validated here; Amux applies
only the overall 24-item ceiling.
urlstringRequiredA publicly reachable https URL. The model fetches this address; Amux does not.
parametersobjectGeneration parameters, all optional. Omitted fields fall back to the model's own
defaults; Amux does not substitute values.
›parametersobject
resolution"480P" | "720P" | "1080P"Default "1080P"Output resolution tier. This field is the billing dimension — the unit price is the per-second rate for the selected tier.
ratio"adaptive" | "16:9" | "4:3" | "1:1" | "3:4" | "9:16"Default "adaptive"Aspect ratio. adaptive follows the input material.
durationintegerDefault 5Seconds of output. 2-30 without video input; with a reference video, input duration
plus output duration must not exceed 30.
-1 selects smart duration, letting the model choose the length. The reservation
then covers a 30-second upper bound, since the actual length cannot be known at
submit time; the task settles against the seconds actually produced and the
difference is released.
audiobooleanDefault trueWhether the output carries sound. Does not change the price. The output frame rate is fixed at 30fps and is not configurable.
seedintegerReproducibility seed. -1 or 0-2147483647. Randomly generated when omitted.
prompt_extendbooleanDefault trueWhether the model rewrites and expands the prompt before generating.
watermarkbooleanDefault falseWhether to stamp a watermark on the output video.
webhook_urlstringPOSTs the result here once the task reaches a terminal state. The shape is
identical to the callback on POST /v1/tasks (the {event, sent_at, task}
envelope, an Amux-Signature header, and backoff retries).
This field is ours, not the vendor's. Model Studio async tasks do support
callbacks, but they are configured as EventBridge rules in the Alibaba Cloud
console -- the address cannot be passed per request. Without this field, callers
on this endpoint could only poll, while the same task submitted through the
unified endpoint gets pushed.
https only, and never a private address -- we send it from our servers. The
URL is validated at submit time, so a typo fails immediately rather than
after the task has run.
Response
200responseTask accepted. Poll with output.task_id.
400responseInvalid parameters, or an input-media combination this model rejects.
402responseInsufficient balance to cover the reserved upper bound. With duration: -1 the reservation covers 30 seconds; specifying an explicit duration reduces the amount held.
503responseNo provider can currently serve this model.
Submission returns a task ID
This endpoint is asynchronous: it returns a task ID immediately, the video is
produced in the background, and the result is fetched by polling. Prefer: wait
almost always degrades to "not finished" here — its ceiling is 90 seconds, while
typical elapsed time on this endpoint is several times that.
The status code is 200, not 202, matching the Alibaba Model Studio endpoint.
The task_id is an Amux task ID, not the upstream one. Retrieve it either
in the Model Studio shape or
through the unified endpoint; both
return the same task in two renderings, and the latter also carries usage and
cost.
Input material
Each item in media carries a type field identifying its role. Per-role counts,
formats and size limits are listed on the media[].type row in the parameter panel
above; that table is generated from the interface specification.
Three combination rules, returning 400 when violated:
- Frames and references are mutually exclusive:
first_frame/last_framecannot appear alongside anyreference_*; fileandlinkare mutually exclusive;- At most one
first_frameand onelast_frame; multiple reference images are permitted.
All other combinations are forwarded to the model for validation.
Input material must be a publicly reachable https URL. The oss:// addresses and
image base64 payloads that Alibaba Model Studio accepts are not supported on either
Amux endpoint; non-https addresses and addresses resolving to private networks return
400.
A single request may carry at most 24 items, a ceiling normal usage does not reach. Per-type counts are validated upstream.
Three parameters that need attention
prompt is not required. The requirement is "prompt or media, at least
one"; a first-frame image without a prompt is a valid request. Do not submit an
empty string to satisfy the field, as that degrades the result. Prompts accept
Chinese and English; anything beyond 20,000 characters is truncated upstream rather
than rejected.
Valid duration values are 2-30 or -1, excluding 0 and 1. Submitting 0
returns a 400 with an explanation rather than being silently replaced by the
default.
audio does not change the price. Sound on or off costs the same. The output
frame rate is fixed at 30fps and is not configurable.
Billing
Video produces no tokens. The charge is the per-second rate for the requested resolution tier multiplied by the seconds actually produced; input material is not priced separately.
A reservation is held against an upper bound at submit time, then settled against actual usage with the difference released.
A duration of -1 (smart duration) reserves against a 30-second bound. The
actual length is chosen by the model and cannot be known at submit time, so the
reservation must cover the longest possible result. Note the side effect: an account
holding only enough balance for 10 seconds of 1080P receives a 402 on -1, even
though the call's actual cost may be within its balance. Specify an explicit
duration to reduce the amount held.
Failures and timeouts are not charged and the reservation is released. Per-tier prices are on this model's page in the model catalog.
Errors
The type values and retry semantics are in
Errors and retries.
curl https://gateway.amux.ai/api/v1/services/aigc/video-generation/video-synthesis \
-H "Authorization: Bearer $AMUX_API_KEY" \
-d '{
"model": "alibaba/wan3.0-video-prime",
"input": {
"prompt": "A ginger cat running through fresh snow, slow motion"
},
"parameters": {
"resolution": "1080P",
"duration": 5
}
}'{
"output": {
"task_id": "<string>",
"task_status": "PENDING",
"video_url": "<string>",
"code": "<string>",
"message": "<string>"
},
"request_id": "<string>"
}