DCI Sample Image
The no-options version of the pack's workhorse
- Image
- DCI Image Data
- Path
- Binary Data
Some nodes exist because there's a genuinely different job. This one exists because the full-featured DCI_Image node intimidates people with nineteen inputs and the author wanted a version you can't break. DCI Sample Image does exactly the same core job - converting a ComfyUI IMAGE into a DCI icon layer - but with every advanced knob stripped out and sane defaults hard-coded.
For the DCI uninitiated, that means it takes your generated icon art, resizes it to an icon size, encodes it as WebP/PNG/JPEG, and hands you back a DCI_IMAGE_DATA packet with the DCI path and metadata attached, ready to feed into the DCI File node (which bundles several of these into a real .dci archive). Same output, same format, same downstream nodes.
Here's the entire input list - and unlike DCI_Image, all of it is required:
- Image - your art tensor. Feed it with an alpha channel if you want transparency preserved.
- Icon Size (16–1024, default 256)
- Icon State - Normal / Disabled / Hover / Pressed
- Scale (0.1–10, default 1) - supports the fractional scales DCI uses for HiDPI, like 1.25x and 1.5x
- Tone Type - Universal / Light / Dark (Universal is default; it stores the icon in light and symlinks it into dark)
- Image Format - webp (default), png, jpg
- Image Quality - 1–100, default 90
- WebP Lossless, WebP Alpha Quality, PNG Compress Level - the compression controls, same as the big node
What you don't get here are the layer parameters: no Layer Priority, no Layer Padding, no Palette Type, no color adjustments, no background compositing. Instead, the node bakes in the DCI defaults - priority 1, padding 0, palette "none", all seven color adjustments at 0. The resulting filename comes out as the spec-conformant 1.0p.-1.0_0_0_0_0_0_0.webp and you never have to think about it.
Outputs are the same three as DCI_Image: DCI Image Data (wire this into DCI File), Path (a string like 256/normal.light/1/1.0p.-1...webp), and Binary Data (the raw encoded bytes).
Installing
Same pack, same story - just Pillow and numpy, no models to download:
cd ComfyUI/custom_nodes
git clone https://github.com/zccrs/comfyui-dci
cd comfyui-dci && pip install -r requirements.txt
Or skip all that and install "DCI Image Export Extension" via ComfyUI Manager, then restart. Nodes land under DCI.
The honest verdict
If you're doing a quick one-off icon, this is the node to grab - there's nothing to accidentally misconfigure, and the defaults are the right defaults. If you're building a real multi-state theme with pressed/hover variants and want layer metadata beyond the defaults, the full DCI_Image node gives you the controls and you'll outgrow this one fast. For the price of "install", starting here costs you nothing. Just don't pick jpg for anything that needs transparency - JPEG flattens your alpha to a white square, same trap as the big node.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| Image | IMAGE | — | |
| Icon Size | INT | 25616–1024 | — |
| Icon State | COMBO | Normal | 4 options: Normal, Disabled, Hover, Pressed |
| Scale | FLOAT | 1.00.1–10 | — |
| Tone Type | COMBO | Universal | 3 options: Universal, Light, Dark |
| Image Format | COMBO | webp | 3 options: webp, png, jpg |
| Image Quality | INT | 901–100 | — |
| WebP Lossless | BOOLEAN | false | — |
| WebP Alpha Quality | INT | 1000–100 | — |
| PNG Compress Level | INT | 60–9 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| DCI Image Data | DCI_IMAGE_DATA | — |
| Path | STRING | — |
| Binary Data | BINARY_DATA | — |