Nodes/DiffSynth-ComfyUI/DiffSynth: HiDream O1 Loader
ComfyUI Node

DiffSynth: HiDream O1 Loader

HiDream O1 Loader — two ModelConfigs, because there's no VAE to load

By modelscope·Created about a month ago·Updated a day ago· 8
DiffSynth: HiDream O1 Loader
  • model_configs
  • processor_config
  • vram_limit
  • pipe
◄torch_dtypebfloat16►
◄devicecuda►

HiDream O1 is the strangest of the 2026 image models: 8B parameters, pixel-space, no VAE and no separate text encoder, MIT licensed, native 2048×2048 and not really optional about it. It edits recursively - give it an image and an instruction, get the edited image back - which earned it a reputation as the best recursive editor of the year. It also has one of the lowest usage rates of anything that good, and no ecosystem formed around it. Minutes per image will do that.

Loading it here is refreshingly boring compared to most of this pack, and it's the clearest place to learn why the ModelConfig pattern works the way it does.

Two ModelConfigs, and that's it

  • model_configs - merged list from DiffSynth: Merge ModelConfigs. The HiDream template declares exactly one entry: HiDream-ai/HiDream-O1-Image → model-*.safetensors. One file. No UNet-plus-encoder-plus-VAE triple, because the model is pixel-space and self-contained.
  • processor_config - the second half of the pair. The template points a ModelConfig at the same repo id with pattern ./ (the repo root, i.e. the config/tokenizer side) and wires that into processor_config. Miss it and you have 8B of weights with no idea how to preprocess a prompt.
  • torch_dtype (bfloat16 / float16 / float32) and device (cuda / cpu), plus the optional vram_limit from a VRAM Limit node.

Output: pipe → DiffSynth: HiDream O1 Inference.

Unlike the FLUX and diffusers-shaped models in this pack, there's no split_files/ labyrinth and no globs matching a dozen shards. Two ModelConfig nodes and a merged list. If you've been following the pattern of "one repo, three files", this is the node where that stops being universal.

Install

# ComfyUI Manager: search "DiffSynth-ComfyUI" → Install → restart

pip install git+https://github.com/modelscope/DiffSynth-Studio.git
cd ComfyUI/custom_nodes
git clone https://github.com/modelscope/DiffSynth-ComfyUI.git
cd .. && python main.py

ModelConfig nodes download on first execute, from ModelScope unless you change download_source to huggingface. HiDream's weights are on HuggingFace too, so either source works - pick the one that isn't being throttled from where you sit.

Where people get burned

First, the obvious: this is a heavyweight model that renders a 2048px image in minutes. If you queue it expecting SDXL timing you'll assume the graph hung. The pack's four-stage VRAM Config is the lever worth setting up before the first run, because offloading this stack to CPU between stages is the difference between fitting and dying.

Second, resolution discipline. 2048×2048 is the model's native size and the pipeline defaults to it. Dropping to 1024 doesn't give you a faster version of the same picture - that's out of distribution for a pixel-space model trained at that scale. Budget accordingly rather than resizing your way out.

Third, benchmarks. The leaderboard numbers making the rounds are not the model you download - the Pro variant isn't open weights. Judge O1 from the open checkpoint's output, not from a test it wasn't in. And, as always: if the DiffSynth category in your node menu is empty, DiffSynth-Studio isn't installed and the pack registered nothing.

CategoryDiffSynth/loader

Inputs (5)

NameTypeDefaultDescription
torch_dtypeCOMBObfloat163 options: bfloat16, float16, float32
deviceCOMBOcuda2 options: cuda, cpu
model_configsDIFFSYNTH_MODEL_CONFIG_LIST—
processor_configoptDIFFSYNTH_MODEL_CONFIG—
vram_limitoptDIFFSYNTH_VRAM_LIMIT—

Outputs (1)

NameTypeDescription
pipeDIFFSYNTH_PIPE—