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

Superside Wan 2.5 Image-to-Image

The Superside image-to-image node

By Superside·Created about a month ago·Updated 3 days ago· 1
Superside Wan 2.5 Image-to-Image
  • image_1
  • image_2
  • IMAGE
prompt
api_key
negative_prompt
image_sizesquare
num_images1
seed

Wan 2.5 never got open weights. Alibaba froze the local series at Wan 2.2 and shipped 2.5, 2.6 and 2.7 as API-only - so when you reach for "Wan 2.5 image-to-image," you are not choosing between this node and a local one. You are choosing between this node and nothing. This Superside node is a thin fal.ai wrapper that puts the hosted Wan 2.5 editor inside your ComfyUI graph, which is exactly the "model you were never allowed to download" case from the API-node playbook.

What it actually is

You hand it one or two reference images plus a prompt describing the edit, it uploads the images to fal.ai, calls their fal-ai/wan-25-preview/image-to-image endpoint, and drops the result back into the graph as a normal IMAGE tensor. On the canvas it looks like any generator node. Underneath it's an HTTP client with your fal key attached, and you pay per call. That "preview" in the endpoint name is doing real work: it's a beta model, so behavior can shift between versions without you doing anything.

The inputs that matter

  • prompt and image_1 are the required pair. image_2 is the interesting optional - dual-reference editing, which is what makes Wan 2.5 I2I worth trying over the older one-image edit models.
  • negative_prompt - content to avoid, up to 500 characters.
  • image_size - square, landscape_16_9, or portrait_16_9. Note there's no "keep my input's aspect ratio" option here, which is a real gap if your source is an odd crop.
  • num_images (1–4) and seed. Seed is left unset by default, so you get fresh randomness each run; set it to lock a look.

The single output is an IMAGE - wire it to a SaveImage/PreviewImage and you're done.

Installing it

This is a whole-pack install, not per-node. Either clone it:

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

then restart ComfyUI, or use ComfyUI Manager (search "Superside"). All nodes land under the Superside category - type "Superside" in the node search to see the whole set. Dependencies are light (fal-client, pillow, numpy, torch, requests); there are no model files to download because nothing runs locally.

The API key part

There's no config file and nothing is stored in the repo. Every node has an api_key input - paste your fal key straight into the widget. If you leave it blank, the node falls back to the FAL_KEY environment variable, which exists for headless deployments where embedding a key in workflow JSON would leak into logs. Two things worth internalizing: your images and prompt leave your machine and hit fal's servers, and this is the one category of custom node that's already been weaponized once (LLMVISION). This pack is a real production agency's repo, so it's not a sketchy rando - but the per-call cost and the data-leaves-machine part are the mechanism, not a bug.

Common issues

  • Drift outside the edit. Wan 2.5 I2I is an instruction editor, not masked inpainting - it takes the whole image into context and emits a whole new image, so unmentioned regions come back close but not bit-identical. If you need untouched pixels (a face you want locked while you swap the jacket), use a masked inpaint pass instead - the same pack's Z-Image Turbo Inpaint+LoRA is built for exactly that.
  • Aspect-ratio surprises. The image_size dropdown is the only sizing control, so a portrait source forced into square will letterbox or crop. Check your source ratio before picking.
  • Prompt length. The prompt box is capped at 2000 characters, negative at 500 - the node errors rather than silently truncating.

It's a competent, honest wrapper around a model you literally cannot run elsewhere. Just treat it as paid and slightly beta, because that's what it is.

CategorySuperside

Inputs (8)

NameTypeDefaultDescription
promptSTRING
image_1IMAGE
api_keySTRING
image_2optIMAGE
negative_promptoptSTRING
image_sizeoptCOMBOsquare3 options: square, landscape_16_9, portrait_16_9
num_imagesoptINT11–4Number of images to generate (1-4)
seedoptINT0–18446744073709550000

Outputs (1)

NameTypeDescription
IMAGEIMAGE