HiDream O1 Sampler
The 5-minute image, and how to not fight it
- model
- conditioning
- image
This is the node that actually runs HiDream O1, and it's where the model's personality lives: slow, resolution-stubborn, and genuinely great at editing. It takes the model handle from the loader, the conditioning from the Conditioning node, optionally a handful of reference images, and returns a plain IMAGE you can preview or save. There is no latent in or latent out - the pixel-space model hands you pixels. That's the whole trick of this architecture, and it's also why you should never try to "speed it up" the way you'd optimize an SDXL graph.
How it works
HiDream O1 samples directly on a patch grid of pixels, so resolution is not a suggestion. Your width/height get snapped to the nearest supported patch-aligned size, and the minimum is effectively 2048x2048. People confirmed this in the release thread: set 512x512 or 1440x1440 and it still comes out 2048x2048, taking the same time. Supported sizes include 2048x2048, 2304x1728, 1728x2304, 2560x1440, 1440x2560, 2496x1664, 1664x2496, 3104x1312, 1312x3104, 2304x1792, and 1792x2304. Pick your aspect from that list and let the snapping be boring.
The scheduler and CFG are handled for you based on model_type (auto detects "dev" in the folder name):
- Full: 50 steps, guidance 5.0, higher-order UniPC solver. Better editor, more detail, slower.
- Dev: fixed 28-step schedule, CFG ignored (guidance forced to 0), flash scheduler. Faster, reference-following.
The inputs that matter
width/height- request a supported size, get snapped. Aspect ratios from that list above.steps- 0 = auto (50 full / 28 dev). Set it manually only if you know why.seed- your usual seed. Default 42.guidance_scale- CFG for full mode; Dev ignores it.noise_scale_start/noise_scale_end/noise_clip_std- the Dev defaults are 7.5 / 7.5 / 2.5. If your Dev output looks noisy, oddly colored, or washed out near the end, reset these to those defaults before touching anything else. This is the single most common self-inflicted Dev problem.image- the dynamic reference-image count, 0 to 12. Set 0 for text-only. Go higher andimage_1throughimage_12inputs appear. One reference image is the "edit" case; more is subject/personalization-style multi-reference.keep_image1_aspect- only applies whenimage_1is connected; the output follows the reference's aspect ratio instead ofwidth/height.preview_every- sends a decoded preview every N steps (0 disables). Set it high to check on those five minutes without spamming.force_offload- unloads the model immediately after sampling. Handy in big graphs or when VRAM is shared with other models.layout_bboxes- optional JSON string or file path for layout conditioning, relative xxyy boxes like[[0.1, 0.45, 0.2, 0.8]]. For when you want the model to place things where you say, with a reference image.
The speed reality
Set expectations now. On an RTX 4060, the Dev model took someone ~1m40s and Full ~5m30s at 2048x2048; a 3060 ran Dev around 3s per iteration at 4MP. This is the pixel-space tax - compute scales with pixel count instead of latent size, and 2048 is not optional. Don't burn an hour trying to make it fast. Choose Dev for iteration, Full for final editing passes, and treat a generation as a coffee break.
Wiring it
HiDream O1 Model Loader → HiDream O1 Conditioning → HiDream O1 Sampler → Save Image
For editing: connect one reference image, set image to 1, tick keep_image1_aspect if you want the reference's framing, and describe the change in prompt. Upstream recommends the Full model for editing; plenty of people prefer Dev for how closely it follows the reference. Try both.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| model | HIDREAM_O1_MODEL | Loaded HiDream O1 model handle. | |
| conditioning | HIDREAM_O1_CONDITIONING | Prompt conditioning from HiDream O1 Conditioning. | |
| model_type | COMBO | auto | Default: auto. Uses dev settings when the model folder name contains dev, otherwise full settings. |
| width | INT | 2048512–3104 | Requested output width. Default: 2048. HiDream snaps to its nearest supported patch-aligned resolution. |
| height | INT | 2048512–3104 | Requested output height. Default: 2048. HiDream snaps to its nearest supported patch-aligned resolution. |
| steps | INT | 00–100 | Default: 0 means auto: 50 steps for full. Dev always uses the upstream fixed 28-step schedule. |
| seed | INT | 420–18446744073709550000 | — |
| guidance_scale | FLOAT | 5.00–30 | Default: 5.0. Classifier-free guidance for full mode; dev mode ignores this and uses 0. |
| shift | FLOAT | -1.0-1–10 | Default: -1 means auto: 3.0 for full, 1.0 for dev. |
| noise_scale_start | FLOAT | 7.50–30 | Default: 7.5. Initial noise scale used by the scheduler. |
| noise_scale_end | FLOAT | 7.50–30 | Default: 7.5. Final noise scale used by the scheduler. |
| noise_clip_std | FLOAT | 2.50–20 | Default: 2.5. Clips scheduler noise outliers; lower values clamp harder. |
| dev_editing_scheduler | COMBO | flow_match | Default: flow_match. Upstream uses flow_match for Dev edit mode with exactly one reference image; flash remains available. |
| layout_bboxes | STRING | Optional JSON string or JSON file path for upstream layout conditioning. Uses relative xxyy boxes like [[0.1, 0.45, 0.2, 0.8]]. | |
| preview_every | INT | 40–100 | Default: 4. Sends a decoded preview every N steps; 0 disables previews. |
| keep_image1_aspect | BOOLEAN | false | Default: false. Only applies when image_1 is connected; output aspect follows image_1. |
| force_offload | BOOLEAN | false | Default: false. Immediately unloads the HiDream model after sampling. |
| image | COMBO | Default: 0. Choose how many optional reference image inputs to show; 0 means text-only. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |