Wan 3.0
Wan 3.0 text-to-video and image-to-video. Provide image_url for a first frame and optionally image_end_url for a last frame; omit both for pure text-to-video.
⚠️ This endpoint rejects reference materials. Wan 3.0’s two input modes are mutually exclusive upstream — mixing first_frame/last_frame with reference images, videos, audio, files or links fails the whole task. Use wan-3-0-refs for reference-driven generation.
Pricing — per second of generated video, in tokens (USD at $0.02/token). Both wan-3-0 endpoints cost the same:
| resolution | tokens/s | USD/s |
|---|---|---|
| 480p | 2.91 | $0.0582 |
| 720p | 5.82 | $0.1164 |
| 1080p | 11.64 | $0.2328 |
The published per-second rate times the duration is exactly what gets charged. Example: a 5s 720p video costs 29.1 tokens.
Notes on defaults: resolution defaults to 720p rather than the upstream default of 1080p, so an omitted resolution never silently bills at the most expensive tier. Smart duration (-1) is not exposed because the output length — and therefore the price — is only known after generation.
Returns an img_uuid; poll GET /api/v1/jobs/detail (or use custom_callback_url) to get the generated video.
Headers
Body
Model name. Must be wan-3-0.
wan-3-0 Text prompt describing the video.
Optional. First-frame image URL. Omit for text-to-video.
Output aspect ratio. adaptive lets the model pick from the input media. Note: unlike Wan 2.7 there is no 21:9. aspect_ratio is accepted as a compatible alias.
adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 Video duration in seconds. Any integer from 2 to 30.
2 <= x <= 30Output resolution, lowercase like every other video model. quality is accepted as a compatible alias.
480p, 720p, 1080p Optional. Last-frame image URL. Must be used together with image_url.
Whether the output contains an audio track. Enabling it costs no extra.
Optional. Fixing the seed makes results more reproducible.
0 <= x <= 2147483647Optional. A publicly accessible HTTPS URL. When the task status changes (processing / success / failed), GoEnhance sends a POST request to this URL. The request body is identical to the response of GET /api/v1/jobs/detail. If your server does not respond with HTTP 200, the notification is retried up to 3 times, with a 3-second timeout per attempt.
"https://your-server.com/goenhance/callback"
