Wan 3.0 · Text to Video
The cheap drafting node you'll end up keeping
- video
- task id
At $0.045/s for 480p - about 23 cents for a five-second clip - this is the node you use to find out whether your idea is any good before you spend real money on it. It's the base tier of Alibaba's hosted Wan 3.0: prompt in, 2 to 30 seconds of video with synchronised audio out, no source image, no local GPU, no weights on disk. Draft here, promote the winner to a Pro or Pro Prime node.
Where it sits in a workflow
The pattern that works: write or refine your shot description (a local LLM or a Chat node is fine), render a cheap 480p take here, and only when the motion and framing are right, re-run the same prompt at a higher tier and resolution. Because the whole Wan 3.0 family shares a request shape, that promotion is mostly a node swap. It's also the honest cheap test for whether hosted video beats your local Wan 2.2 output for a given job - render one of each and look.
The usual API-node caveats apply and are worth restating once: your prompt leaves your machine, the model's own policy is doing the filtering, and every run is metered. That's the deal you accept to use a model you can't download.
Inputs that matter
- prompt - subject, action, camera, light, pacing, and boundaries. The "boundaries" bit earns its keep; without them the model invents an ending for you.
- resolution - 480p, 720p (default) or 1080p. The cost triples per tier, so draft at 480p.
- aspect_ratio - 16:9 by default, with 9:16, 1:1, 4:3, 3:4 and
adaptiveavailable.adaptivefollows the intent of the prompt instead of a fixed frame. - duration_seconds - 5 by default, or
-1for smart duration, where the model picks a length from the prompt rather than forcing your idea into a fixed five seconds. Try it early. - generate_audio - on by default; the audio is generated with the video and arrives in the same file.
- enable_thinking - off by default. It lets the model reason about the brief before rendering: slower, better on complicated shots.
- enable_prompt_expansion - off by default on this tier (the Pro tiers turn it on).
- seed.
Outputs are video (into Save Video) and task id, a plain STRING carrying the SpicyAPI task id for the console logs or a support request.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Or Manager → search SpicyAPI. Restart ComfyUI, then Settings > SpicyAPI, paste a key from spicyapi.ai/console/keys, restart once more so the node list is rebuilt from your account's catalogue. SPICY_API_KEY is the option for remote or headless machines. Nothing else installs: no model files, and an empty dependency list - just Python 3.10+ and the V3 node API ComfyUI now ships (tested with 0.39).
Habits that save money
Set Max cost per run. The pack quotes each request first and refuses anything above your ceiling before charging, which is more than most API packs bother doing. Seeds start on fixed, so queueing the same graph twice reuses the first result - great for iterating, and a trap if you actually wanted a second take, in which case switch control after generate to randomize. Cancelling doesn't kill the job; the render finishes on SpicyAPI and is charged if it succeeds, and the result stays in your console for two weeks.
If a run fails, read the message: No SpicyAPI key is set, 40310 (verify your account email), 40004 (no deployment serves that combination - change the option the message names, usually resolution or duration), or an error ending in request_id ..., which support can look up directly.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, action, camera, light, pacing, and boundaries for the shot. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio; adaptive follows the input media and the intent. |
| enable_thinking | BOOLEAN | false | Let the model reason about the brief and the reference material before generating. Helps with complex references; slower. Switches on by itself when a reference file or link is given. |
| resolution | COMBO | 720p | Output resolution. |
| duration_seconds | COMBO | 5 | Requested output length in seconds. Pass -1 for smart duration: the model picks the length from the prompt and any input media instead of a fixed number. |
| generate_audio | BOOLEAN | true | Request generated audio with the video. |
| enable_prompt_expansion | BOOLEAN | false | Allow the service to expand the submitted creative brief before generation. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |