Nodes/SpicyAPI/Wan 2.2 LoRA · Image To Video
ComfyUI Node

Wan 2.2 LoRA · Image To Video

Separate LoRA slots for the high-noise and low-noise experts

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

This is the interesting one, and not for the reasons people usually get excited about LoRA nodes. Wan 2.2 isn't a single model - it's a mixture of experts, where denoising is split between a high-noise expert that handles motion and scene composition and a low-noise expert that handles detail. That architectural detail is where most community confusion about Wan speed LoRAs comes from, and it's why this node has three separate LoRA inputs instead of one.

Recall the famous warning: speed LoRAs for Wan 2.2 "kill everything that's good in it" - scene composition, lighting, motion, character emotion - and the compromise most people settled on was applying the speed LoRA to the low-noise pass only while keeping the high-noise expert untouched. That exact compromise is a supported option here. high_noise_loras and low_noise_loras are separate sockets. If you've ever wanted to test that split without editing a KSampler graph, this node is a cheap way to do it.

Inputs

  • image_url - the opening frame, an IMAGE socket.
  • prompt - the motion to generate.
  • resolution - 480p default, 720p available.
  • duration_seconds - a dropdown, 5 or 8. Not a slider; two choices, and the price scales with the one you pick.
  • loras (optional) - LoRA weights applied to both noise experts. This is your default slot.
  • high_noise_loras (optional) - applied to the high-noise expert only, the one that sets motion and composition.
  • low_noise_loras (optional) - applied to the low-noise expert only, the detail pass. Speed LoRAs belong here.
  • seed - same seed and settings, same result, fixed after generate by default so a re-queue doesn't buy a duplicate.

Each LoRA socket takes an SPICY_LORAS value from the SpicyAPI LoRA node, which wants a direct https:// link to a .safetensors that opens without a login, plus a strength from 0 to 4. The LoRA node chains, so you can stack three weights. And per the model's own docs, up to three files per slot.

Outputs

video and task id. Save Video takes the video; the task id is your job handle with SpicyAPI.

Install

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

Restart ComfyUI, add a key from spicyapi.ai/console/keys in Settings > SpicyAPI, restart once so the node list comes from your account. Nothing installs locally - no weights, no dependencies, no GPU. SPICY_API_KEY for servers. The key lives in your ComfyUI user folder, never in the workflow.

Two things worth knowing

This variant is the cheap one. At around $0.0204/s, five seconds is about ten cents and eight seconds about sixteen - well under the plain Wan 2.2 image-to-video node's flat per-run price. Counter-intuitive, but the LoRA tier is genuinely the budget option here.

Don't stack speed LoRAs on both experts. The template everyone converged on is speed on the low-noise pass, original weights on the high-noise pass, because that's the split that keeps camera movement, lighting behaviour and prompt adherence intact while buying back render time. Put a speed LoRA in loras - "both experts" - and you're back to the plastic-skin outcome the PSA thread was complaining about.

And mind the money. Put a ceiling in Settings > SpicyAPI > Max cost per run so the node's pre-run quote stops anything over budget with nothing charged. Cancelling a run stops you waiting, not the job: it finishes server-side and is billed on success, with the result in your console for 14 days. Errors come with a task id - 40004 means no deployment serves the parameter combination you chose, 40310 means the account's email is unverified.

CategorySpicyAPI/Video/Alibaba

Inputs (8)

NameTypeDefaultDescription
promptSTRINGDescribe the motion to generate.
image_urlIMAGEOpening-frame image.
resolutionCOMBO480pOutput video resolution.
duration_secondsCOMBO5Output video duration in seconds.
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.
lorasoptSPICY_LORASLoRA weights applied to both noise experts.
high_noise_lorasoptSPICY_LORASLoRA weights applied to the high-noise expert.
low_noise_lorasoptSPICY_LORASLoRA weights applied to the low-noise expert.

Outputs (2)

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