Nodes/arkennemasis Nodes/arkennemasis Deliver (format ladder + folders)
ComfyUI Node

arkennemasis Deliver (format ladder + folders)

One accepted image in, a whole delivery ladder out

By Hishamahmer·Created 2 months ago·Updated 8 days ago· 9
arkennemasis Deliver (format ladder + folders)
  • image
  • master_path
  • delivered_json
  • report
cell_json{}
output_dirvariation/delivered
recipe_json
formatspng
jpg_background#FFFFFF
thumb_size512
quality92
colour_profilesRGB
jobs_dirvariation/jobs
structure

ArkDeliver is the end of the arkennemasis Variation pipeline - the node that turns one verified, accepted image into the whole set of files a client actually uses. Give it the accepted candidate and it writes the master plus its derived ladder - PNG, JPG, WebP and thumbnail - into the per-axis folder structure, using the client's own filename. Then it does the thing every deliverables pipeline eventually has to learn: it overwrites in place. No _v2, no timestamps, no ambiguity about which file is live.

That last point is the philosophy, and it's worth stating plainly because it's rare. Most tools version endlessly out of fear; this node treats the live file as the single source of truth and re-running as simply refreshing it. The ladder is derived deterministically from the masters, so it can always be rebuilt from the PNG without ever touching a model again.

The inputs that matter

  • image - the verified, accepted candidate. Wire this from Verify Candidate (or straight from the generation chain if you skip verification).
  • cell_json - the cell, which carries the client's filename and the axis values that decide the folder structure.
  • output_dir - the delivery root (variation/delivered by default; relative paths resolve inside ComfyUI's output directory).

The optional block is where the ladder gets tuned. formats is a comma-separated list - png, jpg, webp, thumb is the default. jpg_background gives the white-background JPG its matte (#FFFFFF), thumb_size (default 512) and quality (default 92) shape the derived files, and colour_profile (default sRGB) gets embedded into every derived file - the usual "colour looks wrong after delivery" cause is generating in one space and delivering in another, and this is where it gets fixed.

Two structure choices decide how the set lands:

  • structure: flat - every image for a product in ONE folder. The pack's argument, and it's a good one: the filename already carries every axis value, so a directory per axis adds depth without adding information and buries the set.
  • structure: by-axis - the nested layout, for clients whose asset system demands it.

jobs_dir records the delivered paths onto the job record - which is what lets Job Skip know a cell is delivered and never regenerate it.

Outputs

master_path (where the accepted PNG went), delivered_json (the full set of files written), and report. It's an output node, so it runs whenever its inputs are present, and master_path is exactly what Job Record wants for its master_path input - wire them together and the resume chain closes.

Installing and gotchas

It ships in comfyui-arkennemasis:

cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
pip install replicate httpx

restart, and it's under arkennemasis/Variation. No models, no API calls - pure image processing.

The one thing to get right before you run a big batch: the client's filename. Because deliver overwrites in place, a filename collision between two cells means the later one silently replaces the earlier one - which is correct behaviour when the pipeline is working (same cell, refreshed master) and a disaster when two different cells got the same name. The pipeline builds filenames from the cell's axis values, so keep those unique and the overwrite rule is your friend, not your enemy. And if a client ever asks for an old version, remember the pack's stance: the master PNG is the archive; every ladder format is derived and rebuildable.

Categoryarkennemasis/Variation

Inputs (11)

NameTypeDefaultDescription
imageIMAGEThe verified, accepted candidate.
cell_jsonSTRING{}
output_dirSTRINGvariation/deliveredDelivery root. Relative paths resolve inside ComfyUI's output directory.
recipe_jsonoptSTRING
formatsoptSTRINGpngComma-separated ladder: png, jpg, webp, thumb. Derived deterministically, so the ladder can always be rebuilt from the masters without touching a model.
jpg_backgroundoptSTRING#FFFFFFMatte colour for the white-background JPG.
thumb_sizeoptINT51232–4096
qualityoptINT9240–100
colour_profileoptSTRINGsRGBEmbedded into every derived file. Generating in one colour space and delivering in another is the usual cause of 'the colour looks wrong' after delivery.
jobs_diroptSTRINGvariation/jobsDelivered paths are recorded on the job record here.
structureoptCOMBO'flat' puts every image for a product in ONE folder — the filename already carries every axis value, so a directory per axis adds depth without adding information and buries the set. 'by-axis' keeps the nested layout for clients whose asset system wants it.

Outputs (3)

NameTypeDescription
master_pathSTRING
delivered_jsonSTRING
reportSTRING