KIE Flux 2 (Image-to-Image) [SL]
Flux 2 Pro I2I without the 24GB VRAM tab
- images
- image
You can run Flux 2 locally - if you've got the ~24GB and the patience for the full stack. This node is for when you don't, or when you'd rather pay per image than per GPU. It sends your prompt and images to KIE, a marketplace that resells model access, and hands you back a finished tensor that drops straight into your graph as if a local sampler made it.
Flux 2 Pro is the flagship here. The same Black Forest Labs family as the open FLUX.2 weights (which need a 32B transformer plus a 24B vision-language encoder to run), but as a hosted job you never have to fit in VRAM. You get Pro and Flex in one node via the model dropdown: flux-2/pro-image-to-image is the quality pick, flux-2/flex-image-to-image is the cheaper, faster sibling. Given the pricing difference, lots of people default to Flex for drafts and spend Pro credits on the keeper.
How it works
This is an API wrapper, not a local model. The node uploads your input images as PNGs to KIE's file upload endpoint, creates an async job at api.kie.ai/api/v1/jobs/createTask, then polls recordInfo until the task hits success, downloads the result, and decodes it into the standard BHWC float32 0–1 image tensor. That's the whole trick - and it's why these nodes work on a laptop, a Modal container, or a RunPod instance with zero GPU.
The [SL] in the name is the important part: this is the serverless edition, a fork of the original ComfyUI-Kie-API pack that reads your API key from a node input field instead of a config/kie_key.txt file. That's what makes it usable in ComfyDeploy, Modal, and other ephemeral environments where a config file won't survive. The tradeoff: your key is stored in the workflow JSON itself, so don't share a saved workflow that has a real key in it.
The inputs that matter
- images - up to 8, and all of them get uploaded. This is genuine multi-image I2I, not just a single-frame swap.
- prompt - must be 3–5000 characters; the node will error if it's shorter or longer.
- model - Pro vs Flex, described above.
- aspect_ratio - a pinned enum (
1:1,16:9,9:16, etc., plusauto). - resolution -
1Kor2K. There's no 4K on the edit path.
The single output is image, which you wire straight into a SaveImage node or anything else that takes an IMAGE.
Installing it
ComfyUI Manager is the easy route - search "Kie-API-Serverless" and install. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/v3devv/ComfyUI-Kie-API-Serverless
Then restart ComfyUI. No model downloads, no requirements.txt to fuss over: the pack only needs requests, Pillow, numpy, and torch, all of which ship with ComfyUI.
Where people get burned
The #1 failure is an empty or wrong api_key - the node raises "KIE API key is required" immediately, before anything is sent. Beyond that: transient 429/5xx errors auto-retry with backoff, so a temporary blip usually self-heals, and a job that drags past the timeout will fail with a "timed out" message. And remember the economics: every run is a metered call, and reseller pricing (~40–60% under the native Comfy API nodes for Nano Banana-tier work) is exactly why this pack exists - but it's still not free. If a job fails and your credits look weird, KIE's dashboard and the log toggle (prints [KIE] lines to console) are your debugging friends.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| images | IMAGE | — | |
| prompt | STRING | — | |
| model | COMBO | flux-2/pro-image-to-image | 2 options: flux-2/pro-image-to-image, flux-2/flex-image-to-image |
| aspect_ratio | COMBO | 1:1 | 8 options: 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, +2 |
| resolution | COMBO | 1K | 2 options: 1K, 2K |
| logopt | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |