Wan 2.5 Video API Integration
Use Wan 2.5 Video through Rivya Public API v1 with model id wan-2-5-video, supported inputs, parameters, Files API rules, credits, and response examples.
wan-2-5-video
text, file
Required for reference modes
per_video · 720p_5=60 · 720p_10=120 · 1080p_5=100 · 1080p_10=200 · ⌈total⌉
Video
FIXED
800 characters
Request contract
Send the model id at the top level. Model-specific controls belong in params.
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
| model | string | Yes | wan-2-5-video | Use the wan-2-5-video API model id. |
| prompt | string | Yes | - | Maximum 800 characters for this model. |
| params | object | No | - | Model-specific parameter object. Use the rows below for allowed keys. |
| client_request_id | string | No | - | Optional client-side id for tracing requests in your system. |
Model parameters
| Key | Type | Required | Default | Range | Options | Description |
|---|---|---|---|---|---|---|
| resolution | select | No | 720p | - | 720p, 1080p | Resolution |
| duration | select | No | 5 | - | 5, 10 | Duration |
| aspect_ratio | select | No | 16:9 | - | 16:9, 9:16, 1:1 | Aspect ratio |
| enable_prompt_expansion | select | No | false | - | false, true | Because Wan 2.5 is for short clips that are already fairly directed. When you are comparing variations of the same shot, seed helps you stay closer to a repeatable option, negative prompt helps remove common failure modes, and prompt expansion lets you decide whether to stay literal or let the model elaborate. That combination is useful when the clip is only 5 or 10 seconds, but the direction is already specific. |
| seed | number | No | - | min 0 / max 2147483647 | - | Leave it empty for a new random result each time. Reusing the same integer makes it easier to reproduce or fine-tune a previous result. It stays closer only when the prompt and other key settings also remain similar, and it is not a guaranteed 1:1 match. |
| negative_prompt | text | No | - | - | - | Negative prompt |
Upload policy
Upload reference files first, then place the returned URL and duration token inside params.referenceMediaItems.
Reference image: Upload up to 1 image file for image-to-video mode.
1
image
Video and audio references should carry durationToken from /api/v1/files when duration verification is required.
| kind | Max size | MIME types |
|---|---|---|
| image | 10 MB | image/jpeg, image/png, image/webp |
Minimal request
{
"model": "wan-2-5-video",
"prompt": "A cinematic product reveal with smooth camera movement",
"params": {
"resolution": "720p",
"duration": "5",
"aspect_ratio": "16:9",
"enable_prompt_expansion": "false",
"seed": 0,
"negative_prompt": "Optional exclusions or failure modes to avoid."
}
}Reference-file request
{
"model": "wan-2-5-video",
"prompt": "A cinematic product reveal with smooth camera movement",
"params": {
"resolution": "720p",
"duration": "5",
"aspect_ratio": "16:9",
"enable_prompt_expansion": "false",
"seed": 0,
"negative_prompt": "Optional exclusions or failure modes to avoid.",
"referenceMediaItems": [
{
"url": "https://cdn.example.com/reference-image.png",
"kind": "image",
"name": "reference-image.png",
"mimeType": "image/png"
}
]
}
}Create response
The create endpoint returns a public task id. Poll the status endpoint until the task succeeds or fails.
{
"id": "task_wan_2_5_video_example",
"status": "queued",
"model": "wan-2-5-video",
"reserved_credits": 60,
"final_credits": 0,
"settlement_status": "RESERVED",
"created_at": "2026-05-11T00:00:00.000Z",
"updated_at": "2026-05-11T00:00:00.000Z",
"result": null,
"error": null
}Common errors
validation_failed, insufficient_credits, idempotency_conflict, rate_limited, not_found
Some modes require Files API reference uploads.
