wan / v3.0 / text-to-video
Wan 3.0 you can't run locally, rendered on Civitai's GPU
- source_image
- loras
- api_config
- video
- draft_cache_audio
- draft_cache_video
- workflow_id
- raw_json
The name looks like a local model loader, but it isn't one. CivitaiVideoGenWanV30TextToVideo is a cloud job dressed up as a node: it ships your prompt to Civitai's Orchestration API, runs Wan 3.0 on Civitai's fleet, and streams the finished clip back as a native VIDEO tensor. No 24GB checkpoint, no VRAM juggling, no model download at all. If your GPU can't chew on a multi-billion-parameter video model - or you just don't want to spend 25 minutes per clip - this is the fastest on-ramp to current-generation Wan that exists.
Here's the context that makes the node make sense. Alibaba stopped shipping open Wan weights after 2.2, so 2.5, 2.6, 2.7, and now 3.0 are all API-only. The community's local "Wan" is 2.2 and derivatives like Bernini; the version number you can actually run locally stopped climbing. This node is the sanctioned path to the new stuff - you wire it into ComfyUI, but the model never touches your machine.
How it works
Under the hood it's one of ~160 nodes generated from Civitai's OpenAPI spec, all sharing a base class. Pick it up, fill in a prompt, hit run, and it submits a videoGen workflow with a discriminator of wan / v3.0 / text-to-video, then long-polls the status API until the job finishes. You get a progress bar, a status readout in the node, and a cost line in Buzz after it lands. It's billed to your Civitai account - think of it as paying per generation instead of paying for the GPU once.
The inputs that actually matter
Most fields you can leave alone. The two that shape the result:
- prompt - required, and the node checks it's non-empty before submitting so you get a clean local error instead of an API 400.
- cfg_scale - required, default 4. Raise it for stricter prompt adherence, expect artifacts if you go wild.
- duration (1–30, default 5 seconds), steps (10–50, default 20), resolution (480p/720p/1080p, default 1080p) and aspect_ratio (16:9, 9:16, 1:1, 4:3, 3:4) are the ones you'll actually touch.
- enable_prompt_expansion - on by default. That's a server-side LLM rewriting your prompt before Wan sees it. Turning it off saves 20–60s of latency per job but may lower quality, so keep it on unless you're iterating hard and know exactly what you want.
- use_prime - off by default. Flips the job onto
wan3.0-video-prime: same output quality, lower latency, higher price. For a speed pass, sure. - source_image - yes, the text-to-video variant still accepts a reference frame. Wire an image in to anchor the first frame and it gets converted and sent up; useful for steering composition when you want more control than pure T2V.
- loras - a
CIVITAI_LORASsocket. Fill it from a Civitai LoRA Selector (Civitai/Loaders menu) if you want a character or style LoRA applied on their side.
The outputs
video is the one you want - native VIDEO, wire it into a preview node or a video saver like VHS_VideoCombine to write the file. draft_cache_audio and draft_cache_video are Wan 3.0's draft-cache passes, mostly useful if you're chaining generations. workflow_id and raw_json are your debugging and cost-inspection taps - grab the id if you need to find the job in your Civitai history.
How to install
ComfyUI Manager → Custom Nodes Manager, search Civitai Comfy Nodes (publisher civitai), install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
Dependencies are blessedly light - just requests and python-socketio[client]. No torch, no model files. The pack is an early preview, so treat node shapes as subject to change.
Where people get burned
- Credentials. Nothing runs until you authenticate: a Civitai Auth node, a
CIVITAI_API_TOKENenv var, or a stored API key/OAuth login from the Civitai sidebar connect panel. Headless or remote ComfyUI should use the env var - browser login won't work there. - It costs Buzz, and it can queue. You're renting time on a shared fleet; a job can sit in a queue and the whole round-trip is network-bound, not local-fast.
- Blank required inputs. Leave prompt empty and it errors locally with "Missing required input(s): 'prompt'".
- Timeouts. Default timeout is generous, but a long queue can trip it. Bump it via the Civitai Auth node or
CIVITAI_COMFY_TIMEOUTrather than rerunning blindly.
It won't replace your local Wan 2.2 setup - for that you still can't beat free weights and full control. But when you need the newest Wan and your hardware says no, this node is the honest answer: one socket, real 3.0, no install drama.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| cfg_scale | FLOAT | 4.000–100 | — |
| source_imageopt | IMAGE | Either A URL, A DataURL or a Base64 string | |
| frame_rateopt | INT | 240–2147483647 | — |
| durationopt | INT | 51–30 | — |
| seedopt | INT | 00–4294967295 | — |
| stepsopt | INT | 2010–50 | — |
| lorasopt | CIVITAI_LORAS | — | |
| resolutionopt | COMBO | 1080p | 3 options: 480p, 720p, 1080p |
| negative_promptopt | STRING | — | |
| enable_prompt_expansionopt | BOOLEAN | true | Prompt rewriting. Disabling saves 20-60s of latency but may reduce generation quality — follow Alibaba's prompting guide when turning it off. |
| use_primeopt | BOOLEAN | false | Run on wan3.0-video-prime: same output quality, lower latency, higher price. |
| aspect_ratioopt | COMBO | 16:9 | 5 options: 16:9, 9:16, 1:1, 4:3, 3:4 |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| draft_cache_audio | AUDIO | — |
| draft_cache_video | VIDEO | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |