Nodes/SpicyAPI/Wan 2.2 Spicy LoRA · Image to Video
ComfyUI Node

Wan 2.2 Spicy LoRA · Image to Video

Uncensored endpoint, your weights on top

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Wan 2.2 Spicy LoRA · Image to Video
  • image_url
  • low_noise_loras
  • high_noise_loras
  • loras
  • video
  • task id
◄prompt►
◄duration_seconds5►
◄resolution480p►
◄seed0►

Two features from the Wan 2.2 corner of this pack, stapled together: the uncensored image-to-video endpoint, plus LoRA slots. It is the node you want when the style also matters - a character LoRA, a look, a motion LoRA - and you don't want to spend an evening debugging a local checkpoint stack to get both.

Clips are 5 or 8 seconds at 480p or 720p, from one opening frame. $0.0204/second.

What's different from the plain Spicy node

Mechanically, nothing much: an image goes up, a job gets polled, an MP4 comes back as a ComfyUI VIDEO. The difference is three LoRA inputs, and which one you use depends on what the LoRA does.

Wan 2.2 splits denoising between two experts - a high-noise pass that decides composition and motion, and a low-noise pass that refines detail. So the node exposes:

  • loras - everything, up to three files. The default slot. A character or style LoRA belongs here.
  • high_noise_loras - the high-noise stage only, which is where composition and motion are set. A motion or camera-control LoRA goes here.
  • low_noise_loras - the low-noise stage only, where texture and detail are refined. This is where distilled speed LoRAs live, at 0.4–0.6 strength; that's the habit the local community settled on, and it transfers.

Each slot takes up to three weights, each with its own strength from 0 to 4.

Feeding it LoRAs

The weights come from a SpicyAPI LoRA node, not from your models/loras folder - this is a hosted endpoint, and it can only load what it can fetch. Give it a direct .safetensors URL that opens without a login (the resolve/main form on Hugging Face), set scale, and wire its loras output into the model node. To stack, chain: LoRA → LoRA → model node. A gated or login-walled link is the single most common failure here, and it fails at request time, not at wiring time.

The rest of the inputs

image_url sets the frame the clip starts from, so treat prompt as motion direction, not description: action, camera, mood. Keep it short and physical. duration_seconds is 5 or 8, resolution is 480p or 720p, seed repeats a draw exactly - which is how you compare what a LoRA did at scale 0.6 versus 1.0 without changing anything else.

Outputs are video and task id. video goes to Save Video; if you want a longer shot, run the clip through the pack's video-extend node with the same LoRAs attached so the look holds across the seam.

Install and setup

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

Restart, then Settings > SpicyAPI and paste a key from spicyapi.ai/console/keys. Or search "SpicyAPI" in ComfyUI Manager. Nothing compiles, nothing downloads, no VRAM - the whole thing is an HTTP client over aiohttp, which ComfyUI already ships. The pack's own lora template in the template browser is a working example of the LoRA chain with a public pixel-art weight, and it's the fastest way to confirm your URL format is right before you blame the node.

Practical notes

Pricing is per second and the node shows the rate before you run, so a 8-second 720p take is what it says on the badge times eight. Set Max cost per run in the SpicyAPI settings and anything over it stops before a cent moves. The seed widget's control after generate defaults to fixed - leave it there unless you enjoy paying for the same clip twice. And a cancelled run keeps going server-side, so don't cancel as a cost-saving measure; it doesn't save anything.

When something breaks, the message usually tells you which: no key set, 40004 for an option combination no deployment serves (change the parameter it names), 40003 if an upload didn't match its ticket - just re-run the node. Anything ending in request_id is the string to hand to support, because it identifies the exact request.

CategorySpicyAPI/Video/Alibaba

Inputs (8)

NameTypeDefaultDescription
image_urlIMAGEOpening frame. The clip starts from this image.
promptSTRINGDescribe the action, the camera, and the mood of the shot.
duration_secondsCOMBO5Requested output length in seconds.
resolutionCOMBO480pOutput resolution.
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.
low_noise_lorasoptSPICY_LORASLoRAs applied only in the low-noise stage, which refines detail and texture. Up to three.
high_noise_lorasoptSPICY_LORASLoRAs applied only in the high-noise stage, which sets composition and motion. Up to three.
lorasoptSPICY_LORASLoRAs applied to the whole generation, up to three.

Outputs (2)

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