Nodes/SpicyAPI/Wan 2.6 · Image to Video
ComfyUI Node

Wan 2.6 · Image to Video

15 seconds with sound, and a multi-shot switch nobody uses

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Wan 2.6 · Image to Video
  • image_url
  • audio_url
  • video
  • task id
◄prompt►
◄negative_prompt►
◄resolution720p►
◄duration_seconds5►
◄shot_typesingle►
◄enable_prompt_expansionfalse►
◄seed0►

Fifteen seconds is a lot of video. The open Wan base stops around five - the native context is 81 frames and has been since 2.1 - and everything longer is famously a chain-and-restitch workflow with identity drift at the seams. This node just returns a 15-second take with generated audio at 720p or 1080p, from one frame, for $0.09/second.

Whether that's worth it depends entirely on whether you have the open stack running. If you do, and you don't need sound, you're paying for convenience. If you don't, the comparison isn't close: nothing to install, nothing to quantize, no 12 GB floor.

Why it's hosted-only

Wan 2.2 is the last Wan with weights on Hugging Face. 2.5 shipped as a cloud preview with a promise of open weights that never happened, and 2.6, 2.7 and 3.0 stayed API-only. There are pages online advertising local Wan 2.6 downloads; they're fabricated and the links are dead. So this node isn't a shortcut around a model you could have downloaded - it's the only way to run 2.6.

Inputs

image_url is the opening frame, so the shot's look is already decided. Write prompt as motion and camera only: what happens after the frame, where the camera goes, how fast the pacing is. An I2V prompt that re-describes the image is the single most common way to get a stiff result.

duration_seconds is 5, 10 or 15 - the widest range in the pack below 3.0. resolution is 720p or 1080p; there's no 480p tier, so this is not the node to iterate on if you're watching the meter.

shot_type deserves more attention than it gets. single is one continuous take; the multi-shot option treats your prompt as a sequence with edits, which is how you get 15 seconds that reads as several shots rather than one long shot that ran out of ideas. The tooltip calls it "a multi-shot edit" - that's the mode.

negative_prompt is present and useful. audio_url is an optional AUDIO socket - a voice or music track the clip follows for lip sync and pacing; the video's own generated audio is separate, so decide which one you're keeping. enable_prompt_expansion is off by default; turning it on is a good move for a loose brief and a bad one for precise wording. seed makes a draw repeatable, which is how you compare two prompts honestly.

Outputs: video → Save Video (or into a video-extend or upscale chain); task id → a string for support.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart ComfyUI, then Settings > SpicyAPI and paste a key from spicyapi.ai/console/keys - or search "SpicyAPI" in ComfyUI Manager and let it do the clone. There's nothing else to install: no model files, no extra Python packages, no GPU requirement, since the node is only an HTTP client (ComfyUI already ships aiohttp). Restart once after adding the key so the node list is built from your account. The key is kept in the ComfyUI user folder, not in a node widget, so it doesn't travel with workflows or image metadata; on a headless box set SPICY_API_KEY.

Cost, cancellation, and the errors you'll actually see

The badge is a rate, not a total: a 15-second 1080p run is the rate times fifteen, which is a different order of magnitude from a 5-second 720p one. Set Max cost per run in the SpicyAPI settings before your first long take. Leave seed control on fixed unless you mean to pay for a fresh draw.

Cancelling in ComfyUI stops the wait, not the job - it keeps running server-side, gets charged if it succeeds and waits in your console for up to 14 days. Go look instead of re-running.

Messages are specific, so read them: No SpicyAPI key is set; 40004 for a combination of options with no deployment (the message names the parameter); 40310 for an unverified account email; 50301 when a model has no usable deployment right now (try later); 50302 when a generation failed upstream and was refunded (just re-run). Anything ending in request_id ... is the exact request - that's what support needs.

CategorySpicyAPI/Video/Alibaba

Inputs (9)

NameTypeDefaultDescription
image_urlIMAGEOpening frame. The clip starts from this image.
promptSTRINGDescribe what happens after the opening frame: the action, the camera, and the mood.
negative_promptSTRINGList what must not appear in the shot.
resolutionCOMBO720pOutput resolution.
duration_secondsCOMBO5Requested output length in seconds.
shot_typeCOMBOsingleSingle continuous shot, or a multi-shot edit.
enable_prompt_expansionBOOLEANfalseAllow the service to expand the submitted creative brief before generation.
seedINT00–2147483647Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed.
audio_urloptAUDIOAudio track that drives lip sync or pacing.

Outputs (2)

NameTypeDescription
videoVIDEO—
task idSTRINGThe SpicyAPI task id, for the console logs or support.