Nodes/SpicyAPI/Face Swap Pro · Image Editing
ComfyUI Node

Face Swap Pro · Image Editing

$0.16 a shot when the cheap swap isn't good enough

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Face Swap Pro · Image Editing
  • image_url
  • reference_image_url
  • images
  • task id
◄face_enhancefalse►
◄seed0►

What you're paying the extra twelve cents for

SpicyAPI ships three image face swaps, and they are not versions of each other so much as three bets. Face Swap v1 is $0.013 and does the job. Face Swap Plus is $0.16 and fixes skin tone. Face Swap Pro is $0.16 and is the precision one: it moves the facial features off your reference photo onto the target person with no retouching pass, so the target's own skin texture, pores and grain survive the swap.

That "no retouching" line is the whole pitch. The failure mode of most face pipelines - local ReActor included - is a plastic face pasted onto a real one: the identity lands but the skin tells you it's fake. If your target image has nice texture and you want to keep it, this is the node that cares.

How it works

Two images, no prompt. The node uploads both, calls spicyapi/face-swap-pro-v1/edit, and returns a PNG plus a task id. That's the entire interface - for $0.16 per image.

Worth knowing what you're avoiding: locally this class of job means InsightFace plus an ArcFace embedding pipeline, plus whatever swapper model, and the InsightFace install was for years the single worst dependency in local generation until the 1.0 release in May 2026 dropped the C++ build requirement. Here it's a node with two sockets.

Inputs and outputs

image_url (IMAGE) - the target. The face of the person in this image is the one that gets replaced. Get this direction right; it's the most common beginner mix-up, and there's no undo except another $0.16.

reference_image_url (IMAGE) - the reference face. The facial features from this image are transferred onto the target.

face_enhance (BOOLEAN, default off) - an extra face-enhancement pass on the swapped face for a sharper, more detailed result. Off by default, and that default is coherent: enhance is a second generative pass, so it can smooth away exactly the texture this node exists to preserve. Turn it on for soft or low-light targets, leave it off for clean studio shots.

Outputs: images (IMAGE) and task id (STRING).

There is no seed and no style selector on this node. Pro is the "one good answer" variant - if you want to tune, that's Face Swap v1 with its style selector, or Face Swap Plus with its prompt.

Install

Manager → search SpicyAPI, or:

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

Restart - there's nothing to install. The pack declares zero dependencies and no model files; everything runs on SpicyAPI's servers, so no GPU is needed. Python 3.10+ and a ComfyUI with the V3 node API. Set your key in Settings > SpicyAPI (or SPICY_API_KEY), restart once so the model list loads from your account, and set Max cost per run - at $0.16 a pop, batch experiments get expensive fast.

Traps and honest notes

  • Order of the two sockets. Swap them and you'll get a weird result rather than an error. Target first, reference second.
  • Reference quality sets the ceiling. One clear, roughly frontal, well-lit face beats five moody angles. Squinting, sunglasses and hard profiles all degrade the identity transfer - no settings will rescue a bad reference.
  • No seed means no repeats. Two runs of the same pair can differ; there's nothing to pin. Fine for a finished edit, mildly annoying when you're comparing.
  • Batch it carefully. Face Swap v1 carries a face_mapping field for multi-person images; this node doesn't. One face per run.
  • Your photos go to a server. Structural, not a bug - but for a client's unpublished portraits, that's a decision, not a detail.
  • Nudity and minors. No hosted swap endpoint in this ecosystem has a reliable guard, and the legal exposure sits with whoever ran it. Face Swap Pro is a tool; you're the policy.
CategorySpicyAPI/Image/Tools

Inputs (4)

NameTypeDefaultDescription
image_urlIMAGETarget image. The face of the person in this image is the one that gets replaced.
reference_image_urlIMAGEReference face image. The facial features from this image are transferred onto the target.
face_enhanceBOOLEANfalseRun a face-enhancement pass on the swapped face for a sharper, more detailed result.
seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.

Outputs (2)

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