Three things that cost me an evening installing MOSS-Image in ComfyUI, and none of them was the model A developer documented the setup pitfalls of running MOSS-Image, OpenMOSS's 5B-parameter Apache 2.0 text-to-image diffusion transformer released 16 October 2026, in ComfyUI, finding that file placement, loader incompatibility with SDXL graphs, node-pack restarts, and SFT-versus-Turbo variant mismatches caused more lost time than the model itself. The writeup notes that silent failures producing plausible-looking garbage are harder to diagnose than loud errors, and recommends building a minimal text-to-image graph before attempting the layout-control workflow that distinguishes the model. Once running, the developer says bounding-box and JSON layout control changes prompt writing, with SFT giving better fidelity at 20–30 steps and Turbo usable at roughly 4–8. MOSS-Image is a 5B-parameter text-to-image model from OpenMOSS, released 16 October 2026 under Apache 2.0. It's a single-stream diffusion transformer, and the reason to care about it is layout control: you can tell it where things go, with bounding boxes or a JSON layout, instead of describing the composition in prose and hoping. Everyone's writeup covers the interesting part — the layout control. Nobody covers the part that actually eats your evening, which is file placement. Here is what cost me the time, in the order it cost me. That sentence is the whole reason this post exists. When a tool fails loudly you fix it in two minutes. When it fails by producing plausible-looking garbage, you start suspecting your prompt, then your sampler, then your step count, and you've burned an hour before you go back and check whether the files are actually where you think they are. Folder layout, for reference: ComfyUI/models/ ├── diffusion models/ ← MOSS-Image checkpoint ├── text encoders/ ← text encoder files └── vae/ ← VAE, if distributed separately Comfy-Org publishes a repack of the same weights already arranged in this structure. If you'd rather not think about placement at all, use the repack. The official OpenMOSS repo is the source of truth and is what you want if you care about getting the newest unmodified files, but you place them yourself. It is a DiT, not a UNet, so your SDXL workflow does not transfer I assumed I could take an SDXL graph, swap the loader, and be most of the way there. You can't. A single-stream transformer doesn't split work between separate text and image streams the way SD 1.5 or SDXL do, so the graph expects the model's own loader. Pair it with an SDXL checkpoint loader and you get an error that doesn't explain itself. The node pack needs a restart, and "the node does not exist" usually isn't about the node Install the node pack from the manager or clone it into custom nodes/, then restart ComfyUI. A pack that hasn't been picked up on restart produces exactly the same error as a pack that isn't installed, which sends you looking in the wrong place. Two more that bit me later, in descending order of wasted time Variant mismatch. There are two: SFT base and Turbo a LoRA, far fewer steps . The sampler settings differ. A Turbo workflow run against SFT weights gives you noise, not an image — and it looks the same as a broken install. SFT is better fidelity at 20–30 steps; Turbo is usable at roughly 4–8. I started with Turbo because I wanted fast iteration and then forgot which one I'd installed. Starting with the layout graph. The layout workflow is the reason to use this model, so it's tempting to start there. Don't. Build the minimal text-to-image graph first — checkpoint, encoder, short prompt, 1024×1024 — and confirm you get a picture. When a complex graph breaks you cannot tell whether the fault is installation or prompt structure, and you end up debugging both at once. What's actually good about it, once it runs Layout control is real and it changes how you write prompts. Plan the arrangement first, then describe what goes in each region. If you write the descriptive prompt first and then try to force positions onto it, the two fight each other and the result looks like neither. The 5B parameter count is modest, and that's the point at this resolution — it's fast enough to iterate rather than queue and wait. I keep the fuller version of this — the exact file tree, both variants' step counts, and the layout workflow notes — at AI Handbook, linked here: aihandbook.app/tutorials/moss-image-comfyui-setup/ , updated in place when I get something wrong.