Extreme close-up of rich dark chocolate being poured in slow motion over a layered cake. The glossy chocolate cascades down the sides, coating every surface with a perfect mirror-like sheen. Cocoa powder dusts through the air like smoke. Shallow depth of field, warm studio lighting, food photography aesthetic. The scene is luxurious and indulgent.
Wan 2.7 API
Wan 2.7: reliable Tongyi Wanxiang video with first/last-frame control, 2–15 s, 720p/1080p.
from$0.06/ second$0.06610% off
Model IDwan-2.7
Input
Text · Image
Output
Video
Provider
7 providers
Duration (s)
2 – 15
Resolution
720p · 1080p
Aspect ratio
16:9 · 9:16 · 1:1 · 4:3 · 3:4
Last 7 days · not enough recent requests for stats yet.
Wan 2.7 pricing
Prices are per unit; requests without a provider are routed to the cheapest provider that supports your parameters.
| Option | 720p | 1080p |
|---|---|---|
| All options | $0.06 / second 6 Credits | $0.099 / second 10 Credits |
Try Wan 2.7 before you integrate
Test output quality, compare provider prices and estimate cost before writing any code.
Input
Result
IdleProvider prices for this request
Enter a prompt to compare provider prices.
Wan 2.7 prompt examples
Ready-to-use prompts. Load one into the playground and tweak it.
13 prompts
Close-up portrait of a woman pressing her palm against a rain-soaked window at night, shot from outside. Heavy rain streaks distort her face through the glass, neon signs from the street below cast fragmented magenta and cyan reflections across her skin. Camera slowly pushes in at 0.3x speed. Shallow depth of field, bokeh rain drops, dual-exposure ghosting of her reflection overlapping her face. Cinematic 4K, anamorphic lens flare, 24fps.
Extreme close-up portrait, woman's face in profile against golden hour sun, shot with 85mm f/1.2. Sun positioned directly behind her head creating a blazing rim light halo. Individual strands of hair catch the light and glow translucent amber. A gentle breeze causes hair to drift across her cheek in slow motion. Skin subsurface scattering visible on ear and nose tip. Dust particles float through the backlit air. Hyper-realistic, 120fps slow motion playback at 24fps, anamorphic 2.39:1.
Portrait of a woman aging from 20 to 80 and back to 20, seamless morphing over 10 seconds. Shot in style of 1960s 16mm film with authentic gate weave, film grain, occasional splice marks and light leaks. The background remains constant — a sun-drenched window in a Paris apartment — while only her face transforms. Color grade shifts from saturated Kodachrome warmth in youth to desaturated, slightly faded tones in age, then back. No CGI aesthetic — must feel like archival film footage.
A cat sitting on a windowsill watching rain fall outside
A supercar explodes out of a long dark tunnel at extreme speed, sunlight blindingly illuminating the road ahead, motion blur streaking past the tunnel walls, dust and light rays bursting into the scene, cinematic blockbuster style, ultra-realistic.
Wan 2.7 API reference
Endpoints, request fields and runnable examples for this model.
Base URL
https://01router.com/api/v1Quick start
Set API_KEY to your project key, then run a sample from your server. Replace example media URLs with your own public URLs.
Auto-routing chooses a provider that supports the request. Select a provider to see its input constraints and pinned request examples.
curl https://01router.com/api/v1/generations \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "wan-2.7",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}
JSON
# Replace GENERATION_ID with the id returned above; poll until status is "succeeded" or "failed"
curl https://01router.com/api/v1/generations/GENERATION_ID -H "Authorization: Bearer $API_KEY"Endpoints
Only endpoints relevant to this model are listed. Paths below include /api/v1. Click an endpoint to read its usage.
/api/v1/generationsCreate a generation (charges credits) · API key required
/api/v1/generations/{id}Get a generation; polls the provider while running · API key required
/api/v1/generations/{id}/cancelCancel a running generation (credits refunded) · API key required
/api/v1/quotePrice a request on every provider (no charge, no key needed) · Public · no key
/api/v1/models/wan-2.7Get one model · Public · no key
Authentication
Send your API key as a Bearer token. Requests are billed to the key owner's credits.
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonInput
Send JSON with Content-Type: application/json. Model parameters belong inside input; model, provider and callback_url are top-level fields.
Request body
| Name | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | "wan-2.7" |
| provider | string | No | Pin a provider; omit to auto-route to the cheapest. One of: fal | replicate | wavespeed | apimart | evolink | atlascloud | vercel |
| input | object | Yes | Model parameters, see the input fields below. |
| callback_url | string | No | Optional public HTTPS webhook URL. The final task result is signed and delivered here; polling remains available. |
input · input fields
Required fields are marked explicitly. Other fields use the listed defaults when omitted.
| Name | Type | Required | Values | Default |
|---|---|---|---|---|
| prompt* | string | Yes | — | — |
| negative_prompt | string | No | — | — |
| image_url Optional start image (image-to-video) | string | No | — | — |
| end_image_url | string | No | — | — |
| duration | integer | No | min: 2 · max: 15 | 5 |
| resolution | string | No | 720p | 1080p | 720p |
| aspect_ratio | string | No | 16:9 | 9:16 | 1:1 | 4:3 | 3:4 | 16:9 |
| seed | integer | No | min: 0 · max: 2147483647 | — |
Output
Creating a task does not mean generation has finished. Keep its id, poll until succeeded or failed, then read outputs or error. Amounts below are illustrative; actual charges depend on the request.
Task submitted
{
"id": "gen_example",
"object": "generation",
"model": "wan-2.7",
"type": "video",
"provider": "fal",
"status": "processing",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
},
"outputs": [],
"error": null,
"credits": 0,
"price_usd": 0,
"created_at": "2026-10-25T08:00:00.000Z",
"completed_at": null
}Task completed
{
"id": "gen_example",
"object": "generation",
"model": "wan-2.7",
"type": "video",
"provider": "fal",
"status": "succeeded",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
},
"outputs": [
"https://example.com/output.mp4"
],
"error": null,
"credits": 0,
"price_usd": 0,
"created_at": "2026-10-25T08:00:00.000Z",
"completed_at": "2026-10-25T08:01:00.000Z"
}Response fields
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Generation ID. Use it to query or cancel this task. |
| object | string | Yes | generation |
| model | string | Yes | wan-2.7 |
| type | string | Yes | video |
| provider | string | Yes | Provider |
| status | string | Yes | queued → processing → succeeded / failed. Stop polling at either terminal state. |
| input | object | Yes | Model parameters, see the input fields below. |
| outputs | string[] | Yes | Result URLs. Empty while processing; read after succeeded and save the files promptly. |
| error | string | null | Yes | Failure reason, or null when no failure is reported. |
| credits | number | Yes | Credits charged for this request. |
| price_usd | number | Yes | Request price in USD. |
| created_at | string | Yes | Creation time in ISO 8601 format. |
| completed_at | string | null | Yes | Completion time in ISO 8601 format; null before completion. |
Get the result
Poll every few seconds until status is succeeded or failed. Output URLs are provider-hosted and may expire — download them promptly. Or pass callback_url to get the result pushed.
curl "https://01router.com/api/v1/generations/GENERATION_ID" \
-H "Authorization: Bearer $API_KEY"queued → processing → succeeded / failed. Stop polling at either terminal state. Result URLs. Empty while processing; read after succeeded and save the files promptly.
Cancel a task
Cancellation depends on provider support and task state. A confirmed cancellation returns status: failed and error: Canceled by user. Unsupported or completed tasks return 409 not_cancelable.
curl -X POST "https://01router.com/api/v1/generations/GENERATION_ID/cancel" \
-H "Authorization: Bearer $API_KEY"Quote
Same body as creating a generation. Returns every available provider sorted by price, plus the ones that cannot serve the request and why.
curl "https://01router.com/api/v1/quote" -H "Content-Type: application/json" --data-binary @- <<'JSON'
{
"model": "wan-2.7",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}
JSONModel schema
This public endpoint returns the model parameters and each provider’s supported constraints and prices.
curl "https://01router.com/api/v1/models/wan-2.7"Errors
Check the HTTP status and error.message. Fix the request before retrying validation or authentication errors. A failed generation is reported in status and error on the task itself.
{
"error": {
"message": "Invalid or missing API key",
"code": "unauthorized"
}
}400Invalid body or parameter value
401Missing or invalid API key
402Not enough credits
404Unknown model or generation
409The task cannot be canceled (already finished, or the provider does not support canceling)
429Too many requests — retry after the given seconds
502Every provider rejected the task (credits refunded)
Use with AI
Give your coding assistant this model reference: endpoints, input constraints, output fields and request examples in plain text.
How does Wan 2.7 compare?
Specs and starting prices side by side. Test with the same prompt before you choose.
| Wan 2.7 | Wan 3.0 | HappyHorse 1.1 | Grok Imagine Video 1.5 | |
|---|---|---|---|---|
| Vendor | Alibaba | Alibaba | Alibaba | xAI |
| Starting price | $0.06 / second | $0.03 / second | $0.063 / second | $0.011 / second |
| Input | Text · Image | Text · Image | Text · Image | Text · Image |
| Provider | 7 providers | 7 providers | 6 providers | 10 providers |
| Duration (s) | 2 – 15 | 2 – 30 | 3 – 15 | 1 – 15 |
| Resolution | 720p · 1080p | 480p · 720p · 1080p | 480p · 720p · 1080p | 480p · 720p · 1080p |
| Aspect ratio | 16:9 · 9:16 · 1:1 · 4:3 · 3:4 | 16:9 · 9:16 · 1:1 · 4:3 · 3:4 | 16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9 | 16:9 · 4:3 · 3:2 · 1:1 · 2:3 · 3:4 · 9:16 |
Wan 2.7 API FAQ
What is Wan 2.7 good for?
Short, polished clips of 2 to 15 seconds: food and product shots, portraits, lifestyle and nature scenes, with optional first/last-frame control.
Does it support negative prompts?
Yes. Use negative_prompt to avoid artefacts such as distorted hands, blur or unwanted text.
Which resolutions and ratios are supported?
720p and 1080p, with 16:9, 9:16, 1:1, 4:3 or 3:4.
Should I use Wan 2.7 or Wan 3.0?
Wan 3.0 adds longer clips (up to 30 s), 480p drafts and native audio. Wan 2.7 remains a solid, cheaper option for short 720p/1080p clips.
How is it billed on 01router?
Per output second at the chosen resolution; see the pricing table. Failed generations are refunded.
Related models
Other models you can call with the same API key.
Wan 3.0
Alibaba Tongyi Wanxiang 3.0: 2–30 s video with audio, first/last frame, 480p–1080p.
HappyHorse 1.1
Alibaba HappyHorse 1.1: strong character consistency and natural motion, 3–15 s.
Grok Imagine Video 1.5
Grok Imagine Video 1.5: 1–15 second videos with synchronized audio, at 480p, 720p or 1080p. Image-to-video follows the source image aspect ratio.
Seedance 2.5
ByteDance’s flagship video model: up to 30 s in one pass, native synchronized audio, first/last-frame control.
Grok Imagine Video 1.5 Lite
Grok Imagine Video 1.5 Lite: 1–15 second videos with synchronized audio, at 480p, 720p or 1080p. Image-to-video follows the source image aspect ratio.
MiniMax H3 Max
MiniMax H3 post-trained by fal for speed: 5–15 s clips with first/last frame, ranked #1 on video arenas.