ComfyUI extension
A 17-node production pack, 6 workflows actually run

- nodes, 10 of them carried over pixel-exact from two older packs
- 17
- workflows run on the real ComfyUI on 20 Oct
- 6/6
- integrity checks passed on the outputs
- 18/18
- offline tests, on CPU
- 98
- The problem
- A produced image should say where it came from without retyping anything, and finishing tools should live in a tested pack.
- For whom
- A team producing in ComfyUI that must trace model, LoRA, seed and prompt for every output, then deliver verifiable files.
- The outcome
- A pack of 17 nodes and 6 workflows, all run on the real ComfyUI on 20 Oct, 18 of 18 integrity checks passed, 98 offline tests.
Context
In ComfyUI, a saved image does not reliably say where it came from, and finishing tools live in separate packs. The pack reads provenance from the graph, hashes the delivered file and brings finishing together, with offline tests.
What I built
- ProductionManifestV2: provenance read from the executed graph, PNG with reloadable metadata, sha256 of the written bytes, manifest validated by a JSON schema.
- New nodes: measured quality control, labelled A/B grid, seed list, JSON recipe loader.
- Six polished workflows (groups, colours, notes), in editor, API and parameter-template versions for Studio Flow.
Architecture 6 blocks
- 01 · InputExecuted graphPROMPT and metadata read by the node
- 02 · ToolProvenanceModel, LoRA, seed, prompt traced through the lineage
- 03 · ToolQuality controlSharpness, exposure, clipping: PASS or WARN
- 04 · ToolA/B gridLabelled variants, identical noise
- 05 · DataProductionManifestV2sha256 of written bytes, JSON schema, index
- 06 · OutputDeliveryReloadable PNGs, manifests, sheets
Pipeline 6 steps
- plan-sd15One SD 1.5 + LoRA shot: 24 s.
- lora-abBase vs 3 LoRA checkpoints: 145 s.
- recette-lotBatch from a JSON recipe: 72 s.
- miniatureQwen-Image, titling, 16:9: 188 s.
- studio-proRelit photo to master: 171 s.
- restauration×4 upscale: 10 s.
Decisions the choice, the reason, the alternative ruled out
- D1Read provenance from the executed graph rather than asking the user.
Nothing to retype or forget; neighbouring branches are ignored, only the real lineage counts.
Ruled outFields filled in by hand (v1).
- D2Hash the written file’s bytes, not the tensor.
The hash matches the delivered file; Studio Flow rechecks it on download and export.
- D3Carry over nodes from two older packs under the same class names, checked pixel-exact.
Old workflows keep working; maximum difference 0.0 on every compared output.
- D4Test offline, then validate against the real server read-only.
98 tests without ComfyUI running; validation through /object_info confirms the 6 workflows before any run.
Deliverables 3
- comfyui-studio-latent pack (MIT): 17 nodes, manifest schema, validation and capture tools.
- 6 workflows in editor, API and Studio Flow template versions.
- Real outputs of the 6 workflows with their manifests, and 43 editor captures.
Environment
Hardware and measurement setup
- Workflows run on a MacBook Pro M1 Pro 16 GB; the Qwen-Image workflows load about 13 GB of models and run one at a time.
- 98 offline tests on CPU. Installing replaces the three older packs (same class names); a script reverts it.
Reproduce README commands
Private code: read access under NDA, or a 30-minute live demo. Request access →
cd paquet/comfyui-studio-latent
python -m pytest
python tools/validate_workflows.py --live http://127.0.0.1:8188 --with-pack- Live validation only reads /object_info; runs go through the gpu_jobs scripts.
- Any node change requires restarting ComfyUI.
Gallery 3
What this project means for you
The same know-how, on your problem.
Traceable visuals
Every image delivered with its manifest and hash: useful for rights, retouching and variants.
Custom nodes
I write the ComfyUI nodes your production is missing, tested offline and validated against your server.
Readable workflows
Named groups, notes and parameterised templates: your team knows what each stage does.