Replicate fofr/consistent-character
One reference into many poses
- subject
- IMAGE
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.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| promptopt | STRING | A headshot photo | — |
| negative_promptopt | STRING | — | |
| subjectopt | IMAGE | — | |
| number_of_outputsopt | INT | 31–20 | — |
| number_of_images_per_poseopt | INT | 11–4 | — |
| randomise_posesopt | BOOLEAN | true | — |
| output_formatopt | COMBO | webp | 3 options: webp, jpg, png |
| output_qualityopt | INT | 800–100 | — |
| seedopt | INT | — | |
| disable_safety_checkeropt | BOOLEAN | false | — |
| force_rerunopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |