CMYK Export TIFF
The node that turns your RGB masterpiece into a file a printer accepts
- image
- output_path
So you've graded your image, soft-proofed it, checked the gamut, checked the ink coverage - and now you need to actually send it to a print shop. Sending a PNG won't cut it; commercial printing wants a CMYK TIFF with an ICC profile embedded, and that's a file format ComfyUI can't produce on its own. CMYK Export TIFF is the last node in Darkroom's print pipeline, and it exists to do exactly one thing well: write the file the printer asked for.
It's the closing node of ComfyUI-Darkroom's four-node print workflow. Its siblings (Soft-Proof, Gamut Warning, TAC Check) help you decide whether the image is printable; this one commits. It's marked as an output node, so it's the end of your chain.
How it works
The node converts your sRGB image to CMYK through the chosen ICC profile using the chosen rendering intent, then writes a 4-channel TIFF with that ICC profile embedded, LZW-compressed, at the DPI you specify. An embedded profile matters more than people realize: without it, the print shop has to guess which CMYK your numbers mean, and "close enough" is how you get prints that come out muddy. LZW is lossless, so the compression costs nothing visually - the file is just smaller on disk.
The inputs that matter
- target_profile - the CMYK profile that gets embedded. Auto-discovered from
ComfyUI-Darkroom/data/icc_profiles/and your OS color store; on Windows you already have FOGRA39, SWOP, GRACoL and friends. If the dropdown says "(no CMYK profiles found)", drop an .icc into the pack's data folder and restart. - intent - the rendering intent for the conversion. Perceptual for photos (default), relative colorimetric for logos/corporate, saturation for charts, absolute colorimetric for pre-press proofing simulation.
- filename_prefix - defaults to
darkroom_cmyk; a timestamp gets appended. - output_dir - leave blank to write to
ComfyUI/output/cmyk/, or point it anywhere. - dpi - metadata stored in the TIFF. 300 is the print default.
The single output is output_path (a STRING), so if you want to see where the file landed, wire it to a Show Text node.
Install and gotchas
cd ComfyUI/custom_nodes
git clone https://github.com/jeremieLouvaert/ComfyUI-Darkroom
pip install -r ComfyUI-Darkroom/requirements.txt
Or search "Darkroom" in ComfyUI Manager and restart. It's under AKURATE/Darkroom/Print.
The workflow order matters: run Gamut Warning and TAC Check before exporting, because once you've converted to CMYK the out-of-gamut decisions are baked in - the export is where you ship, not where you decide. And if the output is a near-black image, you picked a profile with a wildly different white point than your working space; try a different intent before suspecting the node. This is the rare node that's actually more useful as part of the full print chain than standalone, so give it a test run with Soft-Proof ahead of it first.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| target_profile | COMBO | (no CMYK profiles found) | CMYK profile embedded in the output TIFF |
| intent | COMBO | perceptual | 4 options: perceptual, relative colorimetric, saturation, absolute colorimetric |
| filename_prefix | STRING | darkroom_cmyk | Prefix for the output filename. A timestamp is appended. |
| output_dir | STRING | Directory to save to. Blank = ComfyUI output/cmyk/ | |
| dpi | INT | 30072–1200 | DPI metadata stored in the TIFF |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_path | STRING | — |