Wan 3.0 uses an asynchronous task API. The create call returns a task object, not the finished video file.
Poll and download:
Send JSON. Put every field at the top level. Do not wrap these fields in metadata. images, videos, and audio accept only public http or https URLs. Base64 and data URIs are not supported. The links must stay available until the task finishes. Check GET /v1/models before calling.

Models

Parameters

Text to video

For Prime, set model to wan3.0-video-prime.

Reference inputs

Omit videos when there is only a picture. Omit images when there is only a reference video. Put reference audio in audio, and call it “audio 1” in prompt.

Polling

Save id from the create response. Poll every 3–5 seconds until completed or failed:
Read url when the task completes. That URL is the video file. cost in the response is not the account charge; use the console usage record. On failure, read error.message. Download the bytes directly:

Prices

The charge is based on output seconds. Prices are CNY per second and follow the API key group, standard or stable. If the console model page and the bill disagree, the bill is the charge.