Nodes/ComfyUI-Replicate/Replicate fofr/consistent-character
ComfyUI Node

Replicate fofr/consistent-character

One reference into many poses

By replicate·Created 2 years ago·Updated 2 years ago· 207
Replicate fofr/consistent-character
  • subject
  • IMAGE
promptA headshot photo
negative_prompt
number_of_outputs3
number_of_images_per_pose1
randomise_posestrue
output_formatwebp
output_quality80
seed
disable_safety_checkerfalse
force_rerunfalse

Character consistency - keeping the same face and look across many images - is the most-cited unsolved problem in AI image generation. fofr's consistent-character is one popular attempt at the "no training" version: hand it a single reference photo of a subject, and it generates that same character in a set of different poses. This node runs it on Replicate's cloud via ComfyUI-Replicate, so you get a batch of consistent shots without training a LoRA.

It's built for exactly the thing people want first: I have one good image of a character, now give me more of them.

How it works

The model takes your reference (the subject image), reads the face and appearance, and generates new images guided by a prompt while pulling the identity back toward the reference across each pose. It's the zero-shot, reference-driven approach to consistency - no dataset, no training run - which is fast to try but has a lower ceiling than a trained LoRA. The node sends your subject image and settings to Replicate and returns an IMAGE.

Inputs and outputs that matter

Output is an IMAGE.

  • subject (IMAGE) - your reference photo. The whole result hangs on this: a clear, well-lit, front-facing face gives the model the most to work with.
  • prompt - what you want the character doing / the scene. Default is "A headshot photo."
  • number_of_outputs (3, up to 20) - how many variations/poses to generate in one call.
  • number_of_images_per_pose (1) - variations per pose, up to 4.
  • randomise_poses (true) - shuffle the pose set for variety.

negative_prompt, seed, output_format/output_quality, and disable_safety_checker round it out; force_rerun forces a fresh batch.

How to install it

ComfyUI Manager: search ComfyUI-Replicate, install, restart. Or manually:

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

Restart, and set your token first:

export REPLICATE_API_TOKEN="r8_************"; python main.py

Token: replicate.com/account/api-tokens.

Common issues

Clean image output - no pack caveats.

Set expectations honestly: zero-shot, single-reference consistency is good, not perfect. The identity holds better on faces than on full-body details like exact outfit, hair length, or body type in non-face views, and it drifts more the further a pose gets from your reference. That's the known limitation of reference-driven methods - an adapter mostly encodes the face region, whereas a trained LoRA encodes the whole character. If you need a character in situations no single reference can seed, or you need them reliably across hundreds of images, a trained character LoRA is still the gold standard; this node is the fast "I have one image, give me a pose sheet" tool.

Practical tips: the better your subject image (sharp, evenly lit, neutral expression, face clearly visible), the more consistent the batch. Generating a big number_of_outputs in one go costs more per call, so start small while you dial in the prompt. And the pack basics: a missing REPLICATE_API_TOKEN errors on the first run, and every call bills on Replicate.

CategoryReplicate

Inputs (11)

NameTypeDefaultDescription
promptoptSTRINGA headshot photo
negative_promptoptSTRING
subjectoptIMAGE
number_of_outputsoptINT31–20
number_of_images_per_poseoptINT11–4
randomise_posesoptBOOLEANtrue
output_formatoptCOMBOwebp3 options: webp, jpg, png
output_qualityoptINT800–100
seedoptINT
disable_safety_checkeroptBOOLEANfalse
force_rerunoptBOOLEANfalse

Outputs (1)

NameTypeDescription
IMAGEIMAGE