Wan 3 Prime ProWant the faster, lower-cost Prime tier? Use Wan 3 Prime
Move from a polished concept to cinematic 4K, faster.
Use Wan 3 Prime Pro for faster high-resolution delivery when skin detail, fabric, lighting, and controlled camera movement matter most.Generation prompt
Edit this sample prompt or replace it with your own scene.
623/5000
1080P–4KUp to 30 seconds16:9Fine-detail render
Generate this scene with Wan 3 Prime ProOne-time 18+ confirmation required. You will see the estimated price before running.Example: 5s at 1080P costs about $1.001. Your settings determine the final estimate before generation.Regular one-time top-ups start at $10; first-top-up options appear on the billing page. No subscription. Your draft stays saved.
Sample resultDemo
Up to 30 seconds · 16:9
$0.2002 / secondAPI reference
Integrate this model from your server. Parameters and prices below come from the current ModelRush registry.Create an API key with video permission and access to this model. Complete the adult-access confirmation in your ModelRush account. Keep the key on your server. Reuse the same Idempotency-Key when retrying the same submission.
HTTP 202 means the job is queued. Save id and poll_url, then poll with the same API key until completed or failed. A successful video response contains video_url. Download the output within 24 hours. A polling timeout does not cancel the job; resume using the saved poll_url.generate-video.mjs — javascriptconst origin = "https://api.modelrush.ai";const headers = {Authorization: `Bearer ${process.env.MODELRUSH_API_KEY}`,"Content-Type": "application/json",};const submissionKey = crypto.randomUUID();const response = await fetch(origin + "/v1/videos/generations", {method: "POST",headers: { ...headers, "Idempotency-Key": submissionKey },body: JSON.stringify({"mode": "text-to-video","audio": true,"ratio": "16:9","prompt": "A polished cinematic cityscape with fine architectural detail and a slow aerial move","duration": 5,"resolution": "4K","prompt_extend": true,"model": "modelrush/wan3-prime-pro-spicy","region": "auto"}),});if (!response.ok) throw new Error(await response.text());const job = await response.json();console.log({ id: job.id, poll_url: job.poll_url });let finished = false;for (let attempt = 0; attempt < 60; attempt++) {await new Promise(resolve => setTimeout(resolve, 10000));const statusResponse = await fetch(new URL(job.poll_url, origin), {headers,});if (!statusResponse.ok) throw new Error(await statusResponse.text());const result = await statusResponse.json();if (result.status === "failed") throw new Error(JSON.stringify(result.error));if (result.status === "completed") {console.log(result.video_url);finished = true;break;}}if (!finished) console.log({ id: job.id, poll_url: job.poll_url });
text-to-video requires a prompt. image-to-video requires first_frame and allows last_frame. reference-to-video requires at least one reference array. Do not mix keyframes and reference arrays. Use publicly accessible media URLs; region can be auto.duration = -1 selects smart duration. Reference video time plus generated video time must fit within 30 seconds. Image references accept public URLs or Base64 (JPEG, PNG, BMP, WebP data URIs). Video and audio references require accessible URLs. The gateway checks media type and reference video duration before submission.
| Parameter | Requirement | Accepted values and limits |
|---|---|---|
| mode | Optional | text-to-video · image-to-video · reference-to-video |
| seed | Optional | integer; Minimum: 0; Maximum: 2147483647 |
| audio | Required | boolean |
| model | Required | "modelrush/wan3-prime-pro-spicy" |
| ratio | Required | adaptive · 16:9 · 4:3 · 1:1 · 3:4 · 9:16 |
| prompt | Optional | string; Maximum characters: 20000 |
| region | Optional | string |
| duration | Required | -1 · 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 |
| last_frame | Optional | string; Minimum characters: 1 |
| resolution | Required | 1080P · 2K · 4K |
| first_frame | Optional | string; Minimum characters: 1 |
| prompt_extend | Optional | boolean; Default: true |
| reference_audios | Optional | array; Maximum items: 5 |
| reference_images | Optional | array; Maximum items: 10 |
| reference_videos | Optional | array; Maximum items: 5 |
input.schema.json — json{"type": "object","required": ["model","duration","resolution","ratio","audio"],"properties": {"mode": {"enum": ["text-to-video","image-to-video","reference-to-video"]},"seed": {"type": "integer","maximum": 2147483647,"minimum": 0},"audio": {"type": "boolean"},"model": {"const": "modelrush/wan3-prime-pro-spicy"},"ratio": {"enum": ["adaptive","16:9","4:3","1:1","3:4","9:16"]},"prompt": {"type": "string","maxLength": 20000},"region": {"type": "string"},"duration": {"enum": [-1,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],"type": "integer"},"last_frame": {"type": "string","minLength": 1},"resolution": {"enum": ["1080P","2K","4K"]},"first_frame": {"type": "string","minLength": 1},"prompt_extend": {"type": "boolean","default": true},"reference_audios": {"type": "array","items": {"type": "string","minLength": 1},"maxItems": 5},"reference_images": {"type": "array","items": {"type": "string","minLength": 1},"maxItems": 10},"reference_videos": {"type": "array","items": {"type": "string","minLength": 1},"maxItems": 5}}}
Current API pricing
These are customer prices in USD per second. Reference-video requests include input reference video time in the billable duration. Smart duration is settled after generation. Do not infer price from the landing-page example alone.| Model | Capability | Execution Region | Price variant | Customer price |
|---|---|---|---|---|
| Wan 3 Prime Pro Spicy · modelrush/wan3-prime-pro-spicy | Video generation | us-virginia | 1080P | $0.2002 / second |
| Wan 3 Prime Pro Spicy · modelrush/wan3-prime-pro-spicy | Video generation | us-virginia | 2K | $0.2156 / second |
| Wan 3 Prime Pro Spicy · modelrush/wan3-prime-pro-spicy | Video generation | us-virginia | 4K | $0.2387 / second |