Theme
Wan video generation
The wan3.0-video series submits async video tasks with a JSON body. Generation parameters go in the object.
http
POST /v1/videos- Supports text-to-video, first-frame video, first-and-last-frame video, reference image/video/audio, reference file, and reference webpage modes.
- First-and-last-frame mode is mutually exclusive with reference-asset mode; and cannot be used together.
- Async processing: submission returns
idortask_id.
Available models
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | Request authentication. Use a Bearer Token, for example: | |
| string | Yes | Request content type. Must be set to |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
| string | Yes | Model name | |
| string | No | Video prompt (Chinese or English). Provide at least one of or | |
| object | Yes | Media assets and video generation parameters |
metadata
| Name | Type | Required | Description |
|---|---|---|---|
| array<object> | No | Media asset list. Each item has and (public URL, temporary OSS URL, or image Base64 Data URL). Provide at least one of this field or top-level | |
| string | No | Resolution: , , . Default . Lowercase is auto-uppercased | |
| string | No | Aspect ratio: , , , , , . Default | |
| integer | No | Output duration: without a reference video, range –, default . Pass for smart duration | |
| boolean | No | Whether to generate an audio track. Default | |
| integer | No | Random seed, range – | |
| boolean | No | Smart prompt rewrite. Default | |
| boolean | No | Whether to add a watermark. Default |
Media asset types
| Max count | Description | |
|---|---|---|
| 1 | First-frame image, used strictly as the first video frame | |
| 1 | Last-frame image, used strictly as the last video frame | |
| 10 | Reference image | |
| 5 | Reference video; total duration ≤ 15 seconds | |
| 5 | Reference audio; total duration ≤ 15 seconds | |
| 1 | Reference file; cannot be used with | |
| 1 | Public webpage; cannot be used with |
Asset limits: images (JPEG/JPG/PNG/BMP/WEBP; PNG transparency not supported; ≤20 MB; each side 240–8000 px; aspect ratio ≤ 8:1); video (MP4/MOV; ≤100 MB; each clip 1–15 s); audio (WAV/MP3; ≤15 MB; each clip 1–15 s); files (DOCX/XLSX/PPTX/PDF/TXT/MD, etc.; ≤100 MB; paginated formats ≤ 50 pages); webpages (public HTTP/HTTPS that do not require login).
Request example
bash
curl -X POST https://octopusx.ai/v1/videos \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"prompt": "A kitten runs across a moonlit rooftop with city neon lights in the distance, cinematic quality, smooth camera motion.",
"metadata": {
"resolution": "1080P",
"ratio": "16:9",
"duration": 5,
"audio": true,
"seed": 123456789,
"prompt_extend": true,
"watermark": false
}
}'Response example
json
{
"id": "task_1234567890abcdef",
"object": "video",
"model": "wan3.0-video-prime",
"status": "queued",
"progress": 0,
"created_at": 1787673600,
"metadata": {
"url": ""
}
}Response fields
| Name | Type | Description |
|---|---|---|
| string | Task ID for later polling | |
| string | Always | |
| string | Model actually used | |
| string | Task status: , , , etc. | |
| integer | Progress percentage | |
| integer | Creation timestamp | |
| string | Result video URL when complete |