Wan2.5-Preview
The Wan That Never Got Open Weights, Rendered
- frameImages
- video
Wan 2.5 is where Alibaba started the pattern that defines the whole modern Wan story: ship a "preview," never ship the weights. Wan 2.5 appeared as a cloud preview in September 2025 with a "weights coming soon" disclaimer that never materialized - 2.6 and 2.7 followed the same script, and by now the community's answer to "when's Wan 2.5 open?" is "Nope." Which means Wan2.5-Preview is not a convenience: it's the only way most people will ever run this model at all. This node is the cloud preview itself, behind a ComfyUI face.
So there's a real decision embedded in this node. It's the same Wan family that owns local video (via the frozen 2.1/2.2 weights), but this is the newer, API-only generation. You reach for it when you specifically want the 2.5-era model - better physics than 2.2, image-to-video and audio conditioning that the open weights never got - and you're fine with renting it by the second.
What you set
Required: positivePrompt. Then the inputs that make this a preview worth paying for:
- frameImages - first-frame anchoring; the classic I2V control.
- audio - the standout: an audio input (UUID or URL) that conditions the video on a soundtrack. That's how you get motion that responds to music or a voiceover in one pass, which the open Wan stack can't do natively.
- negativePrompt - ignored when guidance is disabled, same caveat as every flow-matching model in this family.
- size - preset dropdown (480p/720p in 16:9, 9:16, 1:1, plus "from input").
- duration - 5 or 10 seconds, as a plain dropdown.
- seed, numberResults (up to 4) - reproducibility and variation.
- advanced_json - documented escape hatch for
providerSettings, if the provider exposes options beyond the widgets.
Output is a single video.
The honest review
The Wan family's later generations have a reputation problem, and 2.5 is the strongest of the API era - the community's read on the post-2.2 models is that 2.5 felt like a genuine upgrade over 2.2 while 2.6 and 2.7 slipped. That makes this node a reasonable "what does the newest good Wan look like" check, especially with audio conditioning in the mix. Just know what you're getting into: closed model, billed per run, and the open weights you might have hoped to keep are never coming.
Install
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart, or install "Runware" from ComfyUI Manager; set your API key (Settings → Runware API key or RUNWARE_API_KEY). No weights download - again, there are none to download. And if you find yourself wanting to own the Wan experience instead of renting it, the open Wan 2.2 path is the one the community actually builds on; this node is for when the preview model itself is what you need.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| frameImagesopt | IMAGE | — | |
| audioopt | STRING | Audio input (UUID or URL). | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| sizeopt | COMBO | 480p (16:9) | Output size. Only one of resolution or dimensions is sent. |
| seedopt | INT | 00–2147483647 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| durationopt | COMBO | 5 | Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps). |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
| advanced_jsonopt | STRING | Optional JSON merged into the request. For: providerSettings |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |