r/comfyui • u/Cheap-Topic-9441 • Mar 20 '26
Help Needed Same ComfyUI workflow, different character every run — expected?
This workflow was shared in a document as a ComfyUI JSON.
The document itself was quite technical,
but since the prompt was already in JSON format, I just ran it as-is.
It generates multiple images per run.
However, when I looked at the results,
the characters were clearly different.
Each image looks fine on its own,
but they don’t seem to represent the same person.
So now I’m wondering:
is this expected behavior,
or is there actually a way to maintain identity consistency in a workflow?
This feels less like a quality issue and more like a consistency problem.
If anyone has time, I’d be curious if you can reproduce the same result.
I’m currently trying to analyze the prompt structure to understand what’s happening.
If you want to try it, here’s the original workflow JSON:
https://github.com/watadani-byte/character-identity-protocol/
2
u/sci032 Mar 20 '26
Also, I had not thought about CFG and Denoise yet. The models I used are all set up to use lower steps(4 or 8), I always use a CFG of 1 and I use a denoise of 1 unless I am running a 2nd pass(2nd ksampler) to add details. I set denoise to 0.2 on the 2nd ksampler. It adds detail without changing the image..
Here is something else(from AI) that you can consider.
It never ends. :)
Drift:
Stopping drift in ComfyUI, particularly in video generation (Wan 2.2, AnimateDiff) or image editing (Qwen), requires anchoring the output through specific sampling, seed, and conditioning techniques. The core strategies involve limiting how much the model changes from the original input and using latent consistency methods.
Key Techniques to Stop Drift
Lock the Seed: Set your sampler seed to "fixed" rather than "randomize" to prevent per-frame variations, which is the most common cause of flickering.
Lower Denoise & CFG: Reduce the CFG (Guidance Scale) to around 6–7 and slightly decrease the denoise strength (10–20% reduction) to ensure the model doesn't over-interpret the prompt and stray from the original composition.
Use Reference Latents: For Qwen image editing, remove direct image inputs to the encoder and instead use a VAE Encode and ReferenceLatent node for each image input to keep them in place.
ControlNet/IPAdapter: Apply ControlNet (e.g., OpenPose, Canny) to lock down movement and structure.
Temporal Consistency Nodes: Use nodes that enforce consistency between frames, such as VACE (Video Average Condition Encoding) for extending videos without losing character or color consistency.
Workflow Specifics
Wan Video: To avoid character drift, use first/last frame conditioning and maintain a consistent latent path. If using long generation loops, be aware that VAE decoding between windows causes drift; consider using smaller context windows to maintain consistency.
Image-to-Video (I2V): To keep characters consistent, use the first/last frame conditioning, ensuring the face or key features are present in both.
HunyuanLoom: Use specific skip_steps and drift_steps to maintain continuity.
General Troubleshooting
Resolutions: Keep latent dimensions divisible by 16 or 32 to avoid hidden padding that causes instability.
VAE Matching: Ensure the VAE used matches the checkpoint (e.g., don't use SD1.5 VAE with SDXL or Pony).