Load CraftsMan Pipeline
Where every CraftsMan workflow actually starts
- pipeline
Every node in this pack - the preprocessor, the sampler, the decoder, even the "all-in-one" generator - demands a pipeline object on its input. And the only node that makes one is this one. So think of Load CraftsMan Pipeline as the fuse box of the whole setup: nothing downstream works until this fires cleanly.
What it does is simple to say and heavy to do: it reads a CraftsMan checkpoint from your ComfyUI models/checkpoints folder, builds the model architecture from the config.yaml that ships inside the pack, and loads the weights onto your GPU. The config describes a "shape-rectified-flow-system" - a DoraVAE autoencoder as the shape model, a DINOv2-with-registers embedder as the image conditioner, and a PixArt-style denoiser. So this one node is dragging in the transformer weights, the VAE, and the vision encoder all at once. That's why the first load is slow and why the checkpoint is a couple of gigabytes.
The model input
The only required input is model, a dropdown listing everything in your ComfyUI/models/checkpoints folder - the tooltip says so verbatim: "These models are loaded from the 'ComfyUI/models/checkpoints' -folder." If the dropdown is empty, there's nothing in that folder. The pack's own example workflow uses craftsman3d_doravae_bf16.safetensors from Kijai's conversion:
- Kijai's safetensors (recommended): https://huggingface.co/Kijai/craftsman3d_safetensors - grab
craftsman3d_doravae_bf16.safetensorsand put it inComfyUI/models/checkpoints(aCraftsMan3Dsubfolder keeps things tidy). - Original
.ckpt: the README also links the rawcraftsman-DoraVAE/model.ckptfrom an R2 bucket; same placement works.
How it loads
Mechanically it's interesting because it plays nice with ComfyUI's memory system instead of just doing its own thing. It pulls the checkpoint with ComfyUI's load_torch_file, builds the model under init_empty_weights(), then streams parameters onto the device ComfyUI chose, using bfloat16 where the hardware supports it and float16 elsewhere. One quirk in the source: the shape model is kept in float16 even on bf16 machines, with a comment explaining it "doesn't support bf16."
Install and the one gotcha that bites everyone
Install the pack first - Manager, search "CraftsMan3D", or:
cd ComfyUI/custom_nodes
git clone https://github.com/hunzmusic/Comfyui-CraftsMan3DWrapper
cd ComfyUI-CraftsMan3DWrapper
pip install -r requirements.txt # portable: ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt
The signature failure mode is an ImportError: CraftsMan library is not available or failed to import raised straight from this node. That's not a broken model - it's the pack's guard firing because the bundled craftsman library (and its dependencies like omegaconf, diffusers, transformers, einops) never got installed. Run the requirements.txt install and restart ComfyUI.
Second most common: the model dropdown is empty because you haven't downloaded the checkpoint yet. The node can't do anything without it, and it won't tell you nicely - you'll just see nothing to select.
The output, pipeline (CRAFTSMAN_PIPELINE), is a custom socket type that only the other nodes in this pack accept, so wire it straight into Preprocess Image (CraftsMan) or CraftsMan Generator (All-in-One). Since the model stays resident, the whole graph shares one loaded pipeline - keep a single Load CraftsMan Pipeline and fan its output out, rather than adding a second one and doubling your VRAM bill.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | These models are loaded from the 'ComfyUI/models/checkpoints' -folder |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pipeline | CRAFTSMAN_PIPELINE | — |