Skip to content

Wan 3.0 Text to Video

POST/v1/run

Wan 3.0 by Alibaba turns a text prompt into a video of up to 30 seconds at 30fps, with native dialogue, music, and sound effects.

Request body

Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.

stringmodelrequired

Model identifier. Set to alibaba/wan/3.0/text-to-video.

Default: alibaba/wan/3.0/text-to-video

stringpromptrequired

Text prompt for the generated video.

Optional<object>duration

Output duration in seconds (2-30), or `auto` to let the model pick a length from the prompt and inputs. `auto` is pre-authorized at 30 seconds and billed on the actual output length.

Allowed values: auto, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30

Default: 5

Optional<string>aspect_ratio

Output aspect ratio. Defaults to 16:9.

Allowed values: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16

Default: 16:9

Optional<string>resolution

Output video resolution tier.

Allowed values: 480p, 720p, 1080p

Default: 720p

Optional<boolean>generate_audio

Generate a synchronized audio track. Pricing is the same either way.

Default: true

Optional<integer>seed

Random seed (0-2147483647) for reproducible results. Omit for a random seed; the same seed may still produce slightly different results.

Range: 0 to 2147483647

Response Schema

The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.

stringidrequired

Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.

stringstatusrequired

Current public run status.

Allowed values: pending, running, completed, failed, timeout

Optional<string>model

Public SandBase model name used for this run.

Optional<array<object>>outputs

Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.

Optional<object>error

Present only for failed or timeout runs. Contains a public error type and sanitized message.

Optional<string>error.type

Stable public error category.

Optional<string>error.message

Sanitized error message safe to show to clients.

Optional<object>usage

Usage details when available.

Model capabilities

array<string>capability_tagsrequired

Capabilities declared by the model registry.

Default: text-to-video

stringexecution_moderequired

Execution mode declared by the model registry.

Default: async