Nodes/ComfyUI DCI/DCI Sample Image
ComfyUI Node

DCI Sample Image

The no-options version of the pack's workhorse

By zccrs·Created about a year ago·Updated 11 months ago· 2
DCI Sample Image
  • Image
  • DCI Image Data
  • Path
  • Binary Data
Icon Size256
Icon StateNormal
Scale1.0
Tone TypeUniversal
Image Formatwebp
Image Quality90
WebP Losslessfalse
WebP Alpha Quality100
PNG Compress Level6

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.

CategoryDCI/Export

Inputs (10)

NameTypeDefaultDescription
ImageIMAGE
Icon SizeINT25616–1024
Icon StateCOMBONormal4 options: Normal, Disabled, Hover, Pressed
ScaleFLOAT1.00.1–10
Tone TypeCOMBOUniversal3 options: Universal, Light, Dark
Image FormatCOMBOwebp3 options: webp, png, jpg
Image QualityINT901–100
WebP LosslessBOOLEANfalse
WebP Alpha QualityINT1000–100
PNG Compress LevelINT60–9

Outputs (3)

NameTypeDescription
DCI Image DataDCI_IMAGE_DATA
PathSTRING
Binary DataBINARY_DATA