Wan3.0
The newest Wan, which you can't download
- referenceImages
- frameImages
- referenceVideos
- video
Wan 2.2 is the last Wan you can download. Alibaba's video line went cloud-only at 2.5 back in late 2025 and never came back, and the community mostly shrugged - you can't run what you can't download, so interest flatlined. This node is the exception that keeps the newest Wan inside ComfyUI anyway: Wan3.0, the current model, reached through Runware's official cloud integration. The workflow stays on your canvas; only the GPU is rented.
The context matters for your expectations. The KB's honest read on the closed Wan releases (2.5 through 2.7) is that reception ranged from muted to outright hostile - the loudest thread on 2.7 is titled "Its shit tbh, compared to other closed source models," with commenters insisting Wan 2.2 still looked better. Wan3.0 is a bigger step from that line, and it's where Alibaba's real current-gen quality lives, but you're not getting it for free and nobody in the community is benchmarking it for you the way they did open models. Test it on your own footage before you trust it on a deadline.
Mechanically this is the standard Runware video node: your positivePrompt, reference images, and any seed frames are sent to Runware's backend, which returns a native VIDEO that wires straight into the pack's video preview or a Save Video node. What makes this node more interesting than a text-to-video box is how much it takes as input. referenceImages and frameImages give you image-to-video and frame-conditioned generation; referenceVideos (the pack's typed reference-video socket) opens video-to-video; and settings.audio defaults on, because Wan3.0 generates native audio aligned with the picture - the capability that was Wan's whole competitive argument against older open models. positivePrompt even lets you reference your input assets by number - "Image 1," "Video 1" - rather than describing them.
The other controls: size is a preset dropdown (480p through 1080p in several aspect ratios, or "from input"); seed, numberResults, outputFormat (MP4/WEBM/MOV) and outputQuality are self-explanatory. settings.promptExtend runs an LLM prompt rewrite on by default and will make exact reproduction harder - turn it off if you're chasing a seed. Duration is not a widget on this node; if you need to set it, the advanced_json escape hatch exists, and its tooltip says it's also how you pass reference audio and documents. Watch the cost: video inference is where a cloud session gets expensive, and each run's price prints on the node's title bar.
Install and the API key
Standard pack setup: ComfyUI Manager → search Runware → install → restart, or clone https://github.com/Runware/ComfyUI-Runware into custom_nodes and pip install -r requirements.txt. You need a key from the Runware dashboard, entered in Settings → Runware API key, as RUNWARE_API_KEY, or via runware auth login. No model files download - the whole point is that Wan3.0's weights only exist on Alibaba's side, with Runware as the door.
Where this sits
Reach for Wan3.0 when you specifically want Alibaba's current video model - the open-weight alternative is Wan 2.2, which is older and beaten on several axes by LTX-2.3-class local models. This is a "model you cannot run locally" purchase: per-call billed, your prompt and media leave the machine through Runware's moderation, and there's no community bypass because there's nothing local to patch. It's the right tool for exactly that situation, and the wrong default for everything else.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| referenceImagesopt | IMAGE | — | |
| frameImagesopt | IMAGE | — | |
| referenceVideosopt | RUNWARE_REFERENCEVIDEOS | — | |
| positivePromptopt | STRING | Text prompt describing elements to include in the generated output. Reference assets in array order as `Image 1`, `Video 1`, and `Audio 1`, numbered from one. | |
| sizeopt | COMBO | 1080p (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. |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| settings.audioopt | BOOLEAN | true | Generate native audio aligned with visual content. |
| settings.promptExtendopt | BOOLEAN | true | Enable LLM-based prompt rewriting to expand and clarify inputs. Affects reproducibility. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. Increases total generation time. |
| 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: inputs.referenceAudios, inputs.documents, inputs.urls, duration |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |