DCI File Saver
The DCI-aware way to write your archive to disk
- Binary Data
- Saved Filename
- Saved Full Path
At the end of every icon workflow there's a moment where the assembled .dci archive has to become an actual file. That's this node's entire job: DCI File Saver takes a BINARY_DATA blob and writes it to disk with DCI-sensible filename handling. It's the sibling of the generic Binary File Saver, but tuned for icon archives - the filename logic assumes you're saving a DCI container and renames accordingly.
The input side is the full archive from the DCI File node, the Binary File Loader, or anything else that yields BINARY_DATA. What sets this node apart is how it treats the filename:
- Input Filename - required, default
icon.png. Note the default is an image name, and the node is smart about it: it strips known image extensions (.webp,.png,.jpg,.jpeg,.gif, …) from the basename and appends.dci. So name your outputmy_icon.pngand you getmy_icon.dcion disk. That's a small touch that saves a lot of "why is there no extension" confusion.
Optional inputs:
- Output Directory - blank defaults to ComfyUI's output folder; a path gets created if missing.
- Filename Prefix / Filename Suffix - wrapped around the base name while preserving the
.dciextension (draft_my_icon_v2.dci). - allow_overwrite - off by default, so an existing file blocks the save with a clear error string unless you flip it on.
Outputs: Saved Filename and Saved Full Path - the name (with prefix/suffix applied) and the complete path, so you can log or route the result. Like all the saver nodes it's an output node, showing the result in the UI.
Installing
Same pack as always - Pillow and numpy, nothing else:
cd ComfyUI/custom_nodes
git clone https://github.com/zccrs/comfyui-dci
cd comfyui-dci && pip install -r requirements.txt
Or ComfyUI Manager → "DCI Image Export Extension" → install → restart. It's under DCI / Files.
Where people get burned
- It will force the
.dciextension. If you were hoping to save a raw image blob under its real name, this is the wrong node - that's what Binary File Saver is for. This one insists on DCI naming, on purpose. - Overwrite guard trips on re-runs. Rerunning the same workflow with default settings hits the "file exists" wall. Either bump the version in the filename or enable
allow_overwrite. - Prefix/suffix happen after the extension is swapped, so
icon→ prefixdraft_+ suffix_v2→draft_icon_v2.dci. Predictable once you know the order.
There's nothing glamorous here - one input, one archive, one file out. But it's the node that turns a workflow from "I have bytes" into "I have a .dci I can install," and at the end of the pipeline, that's the step that matters.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| Binary Data | BINARY_DATA | — | |
| Input Filename | STRING | icon.png | — |
| Output Directoryopt | STRING | — | |
| Filename Prefixopt | STRING | — | |
| Filename Suffixopt | STRING | — | |
| allow_overwriteopt | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| Saved Filename | STRING | — |
| Saved Full Path | STRING | — |