Nodes/Comfyui-zhenzhen/Zhenzhen MJ Face Swap
ComfyUI Node

Zhenzhen MJ Face Swap

Two Images In, a New Face Out

By T8mars·Created 12 months ago·Updated a day ago· 719
Zhenzhen MJ Face Swap
  • source_image
  • target_image
  • image
  • image_url
api_key
seed0
skip_errorfalse

The face-swap node in the Comfly Midjourney family, and it's about as simple as the concept gets: source_image is the face you want, target_image is where it goes, and the node returns a composite where the target now wears the source's face. It rides Midjourney's backend through the proxy, so it inherits that "wait, it actually matches the lighting and angle" quality that MJ-style face swaps are known for, instead of the cut-and-paste look of a naive local blend.

It's the right tool when you need identity swapped convincingly - a character's face onto a generated body, a client's head onto a studio shot - without spinning up a whole face-swap stack (InsightFace + Reactor + a sampler rig). One node, two images, done. Paid per call, cloud inference.

How it works

Both images are uploaded and processed on the proxy's Midjourney backend, which does the face transfer, and the result comes back as an IMAGE tensor plus a hosted image_url. No prompt involved, no parameters beyond a seed - this node is deliberately dumb, which is honestly its best feature. It was added alongside a round of MJ bug fixes, and it's been stable since.

The inputs and output

  • source_image - the face to copy. Should be a clean, forward-ish face for the best transfer.
  • target_image - the image to receive the face. The better the target's head pose and lighting match the source, the less "pasted" the result.
  • seed - optional; set it to compare takes, leave 0 for random.
  • api_key - optional; falls back to Comflyapi.json if empty.

Outputs: image (IMAGE) and image_url (STRING - the hosted copy; keep it as your durable file).

Install

Manager → Comfyui_Comfly, or:

cd ComfyUI/custom_nodes
git clone https://github.com/ainewsto/Comfyui_Comfly

Restart. No model downloads - requirements.txt is the usual aiohttp/requests/Pillow/numpy set. Key from ai.comfly.chat in Comflyapi.json or the node's api_key.

Where people get burned

Face swaps live and die on input. A tiny, blurry, or profile-view source face will give you a muddy result no matter what backend you're on - feed it a good, well-lit face and the composite improves dramatically. And manage expectations on the flip side: swapping a face onto a wildly different pose or lighting than the source produces that uncanny "sticker" look. Finally, remember whose servers this runs on - if you're swapping a real person's face, this is a third-party proxy doing it, so keep consent in mind the same way you would anywhere else.

Categoryzhenzhen/Midjourney

Inputs (5)

NameTypeDefaultDescription
source_imageIMAGE
target_imageIMAGE
api_keyoptSTRING
seedoptINT00–2147483647
skip_erroroptBOOLEANfalse开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。

Outputs (2)

NameTypeDescription
imageIMAGE
image_urlSTRING