CRM PoserConfig
The settings box that drives both CRM samplers at once
- processed_image
- CRM_POSE_CONFIG
CRM doesn't have one diffusion step, it has two - the Pose Sampler makes the six views, the CCM Sampler makes the coordinate maps - and they need to be driven with the same settings or the pipeline fights itself. CRM PoserConfig is the single box that does the driving. One node, one config object, both samplers read from it. It's the "seed, guidance, steps" node, with a preprocessed reference image bolted on, and it's the first thing you'll touch when a result comes out weird.
Inputs
processed_image- anIMAGE, specifically the output of CRM Preprocessor For Poser. This is the reference image (gray-background, squared, centered) that both samplers condition on. Don't feed it the raw photo - the whole point of the preprocessor is putting the image into the format the diffusion models were trained on.seed-INT, default1234. Same job as any diffusion seed: reproducibility. Set it, keep it, and A/B your other settings against it.cfg-FLOAT, default5.5, range 0–100. Classifier-free guidance. Higher = sticks closer to the reference image, lower = more freedom (and more hallucination). 5.5 is a sensible starting point for ImageDream-style sampling; don't chase 30 here, this isn't SDXL.steps-INT, default30, min6. Sampling steps for both diffusions. 30 is the pack's default for good reason; you can drop toward ~20 to save time on drafts, and the modeler doesn't care how you got there.
It outputs a single CRM_POSE_CONFIG, which you fan out to the CRM Pose Sampler and CCM Sampler - both take it, and both will use the exact same seed, cfg, and steps from it. That's the design intent: change one number here and both stages change together, so the views and the coordinate maps always stay in sync.
A couple of honest notes
The seed is applied when each diffusion model first initializes, and both samplers keep their initialized models cached. If you're iterating on seeds and nothing seems to change, a restart is the reliable reset - a well-known Flowty CRM quirk, not a bug in your workflow.
Also, the config is a dumb struct: it carries whatever processed_image you gave it. Reuse a config from an old graph and you're implicitly reusing the old reference. Fresh graph, fresh config, when you're chasing a weird result.
Install and get moving
This node needs nothing beyond the pack itself - ComfyUI Manager (search "ComfyUI-Flowty-CRM") or:
cd ComfyUI/custom_nodes
git clone https://github.com/flowtyone/ComfyUI-Flowty-CRM.git
cd ComfyUI-Flowty-CRM
pip install -r requirements.txt
The actual models (pixel-diffusion.pth, ccm-diffusion.pth, CRM.pth from huggingface.co/Zhengyi/CRM) go in ComfyUI/models/checkpoints; this node itself doesn't load any of them, so a missing model won't error here - it'll error downstream at the sampler. And yes, the same device rules apply: keep everything on one device, and use the pack's low-vram/ split workflows if you're under 16GB VRAM.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| processed_image | IMAGE | — | |
| seed | INT | 12340–18446744073709550000 | — |
| cfg | FLOAT | 5.50–100 | — |
| steps | INT | 306–10000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CRM_POSE_CONFIG | CRM_POSE_CONFIG | — |