Nodes/comfyui-superside-nodes/Superside Wan 2.5 Image-to-Video
ComfyUI Node

Superside Wan 2.5 Image-to-Video

What the Superside wrapper gets you (and the URL gotcha)

By Superside·Created about a month ago·Updated 3 days ago· 1
Superside Wan 2.5 Image-to-Video
  • image
  • STRING
prompt
api_key
audio_url
resolution1080p
duration5
negative_prompt
enable_prompt_expansiontrue
seed

The community's local Wan train ended at 2.2. Wan 2.5, 2.6 and 2.7 shipped API-only, so if you want that newer model's video quality you have to rent it - and this Superside node is one of the cleaner ways to do that from inside ComfyUI. It uploads your still to fal.ai, runs their fal-ai/wan-25-preview/image-to-video, and hands you back a link. Per-call cost, no GPU, and your image leaves the machine. That's the honest trade, and for a model you can't download it's the only trade.

How it works

Feed it one image plus a motion prompt. The node uploads the image, fires the request, and returns a STRING - a video URL, not a ComfyUI VIDEO object. That's the first thing to notice, because it's the one real trap here: the same pack's Gemini Omni Flash Edit and SeedVR Upscale Video return native VIDEO tensors you can plug straight into SaveVideo. This node does not. You get a URL, and you have to do something with it - open it in a browser, or pull it down with a download/URL node. Build your workflow expecting a link, and you won't be surprised at the save step.

Inputs worth caring about

  • prompt, image, api_key - the required trio.
  • audio_url is the standout: a WAV/MP3 (3–30 seconds, up to 15MB) that drives audio-synced video. That's the differentiator over the Kling and Seedance nodes sitting next to it in this pack - none of them do audio-driven generation.
  • resolution - 480p / 720p / 1080p, default 1080p. The default is the expensive one; for iterating on a concept, 480p drafts cost less and reveal the same motion problems.
  • duration - 5 or 10 seconds. enable_prompt_expansion (on by default) runs an LLM over your prompt first, which genuinely helps beginners write motion that sticks.
  • negative_prompt and seed work the way you'd hope.

The prompt style that actually works

Image-to-video prompting is not image prompting. The rule of thumb from the Wan world: your prompt should describe the motion, not re-describe what's in the frame. Don't say "a woman standing by a window, beautiful lighting" - say "the woman turns her head and smiles as the curtains drift in the breeze." If you describe the picture, the model has less budget left for the part only it can invent.

Installing

Same as every node in this pack - clone the repo into custom_nodes, install requirements, restart:

cd ComfyUI/custom_nodes
git clone https://github.com/Superside/comfyui-superside-nodes.git
pip install -r requirements.txt

Or grab it via ComfyUI Manager (search "Superside"). Nothing local runs, so there are no model downloads; the only "dependency" is a fal.ai API key, which you paste into the node's api_key input (blank it and the node falls back to a FAL_KEY env var for headless setups).

Where people get burned

  • The STRING output. Expecting a VIDEO port and wiring into SaveVideo fails on the type. Grab the URL.
  • Bad audio files. The endpoint expects 3–30s, ≤15MB - anything outside that and the run errors rather than clipping for you.
  • Beta model surprises. The endpoint is wan-25-preview, so it's a preview tier. If a run behaves oddly, re-check the pack's changelog - Superside updates the endpoint on git pull origin main + restart.
  • Cost creep. At 1080p/10s every test is a metered bill. Draft cheap, render once.

For a hosted I2V model that does audio, it's a genuinely rare capability in a wrapper this tidy. Just remember you're leaving with a URL, not a video file.

CategorySuperside

Inputs (9)

NameTypeDefaultDescription
promptSTRING
imageIMAGE
api_keySTRING
audio_urloptSTRING
resolutionoptCOMBO1080p3 options: 480p, 720p, 1080p
durationoptCOMBO52 options: 5, 10
negative_promptoptSTRING
enable_prompt_expansionoptBOOLEANtrueEnable prompt rewriting using LLM for better results
seedoptINT0–18446744073709550000

Outputs (1)

NameTypeDescription
STRINGSTRING