CRM Pose Sampler
Where your single image becomes six orthographic views
- config
- IMAGE
The whole image-to-3D trick hinges on one act of imagination: given one photo of an object, what does it look like from the other five sides? That's this node's entire job. CRM Pose Sampler takes your processed reference image and diffuses it into six orthographic views - front, back, left, right, top, bottom - that the rest of the pipeline will assemble into a mesh. It's the stage where quality is won or lost, because every downstream node can only work with what this one imagines.
How it works
This is a diffusion model, specifically an ImageDream-derived stage-1 sampler (the pack's nf7_v3_SNR_rd_size_stroke config) that runs image-to-image on your reference. It conditions on the processed image from CRM PoserConfig, samples with the config's seed, CFG and steps, and renders the object from a fixed set of orthographic camera positions. The output is a single IMAGE tensor - all six views in one batch, not six separate images.
The model's negative prompt is baked into the node's source: "uniform low no texture ugly, boring, bad anatomy, blurry, pixelated, obscure, unnatural colors, poor lighting, dull, and unclear." You can't edit it from the UI, so don't go hunting for a prompt box. It's there, it's doing its job, leave it alone.
Inputs and what feeds where
pixel_model- dropdown overmodels/checkpoints. Pickpixel-diffusion.pth. Yes, it lists all your checkpoints; yes, you want the one from the CRM repo.config- theCRM_POSE_CONFIGfrom PoserConfig. Seed, cfg, steps all come from here, and it's shared with the CCM Sampler so both stages stay in sync.
The output IMAGE goes two places: into the poses input of CRM Modeler (or CRM Modeler Cuda), and into the poses input of CCM Sampler, which turns those same views into coordinate maps. A subtle detail from the source: the reference position is dropped from the output batch - the node generates the six views plus the reference copy and pops the reference out, so you get exactly the six you need.
Getting it to behave
- Reference matters more than settings. The Pose Sampler is conditioned on the preprocessed image. If the preprocessor's output is off - wrong crop, background bleeding in, subject not centered - the six views will inherit the mess. Fix the preprocessor first; don't crank CFG to paper over it.
- CFG around 5.5, steps around 30 are the defaults for a reason. Higher CFG glues the views to the reference and can bake in the lighting/background instead of giving clean views; lower CFG invites hallucinated anatomy. Tune a little, not a lot.
- Seed reproducibility quirk: the sampler initializes its diffusion model once and caches it, with the config's seed applied at that first load. Iterating seeds mid-session can appear to do nothing - restart to reset.
Installation
ComfyUI Manager (search "ComfyUI-Flowty-CRM") or clone into custom_nodes, then:
cd ComfyUI/custom_nodes
git clone https://github.com/flowtyone/ComfyUI-Flowty-CRM.git
cd ComfyUI-Flowty-CRM
pip install -r requirements.txt
Put pixel-diffusion.pth (from huggingface.co/Zhengyi/CRM) in ComfyUI/models/checkpoints and restart ComfyUI. Same pack-wide rules: one device for the whole graph, the low-vram/ split workflows if you're under 16GB VRAM, and expect this stage to be the slowest part of the pipeline on CPU.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| pixel_model | COMBO | 0 options: | |
| config | CRM_POSE_CONFIG | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |