Know which local image run you are looking at.

This small ComfyUI node gives declared run values a stable key, writes hashes beside saved images, and refuses to overwrite a finished receipt.

Local-only demo

model: none / network: none

A key, one image, one receipt.

Start with the no-model prompt below. It makes a 128px empty image, so you can confirm the receipt behavior before you connect it to SD 1.5 or another workflow.

Run key
SHA-256 of your declared namespace, label, seed, and parameter record.
Artifact
PNG byte hash, dimensions, and a receipt written after the image files.
Retry
ALREADY_IDENTICAL when the same completed result is already there.
Collision
A changed image or prompt under the same key stops instead of overwriting.

A proof run before a production run.

The starter stays on your own machine. It does not reach DemoAPI.org or ask ComfyUI to load a model.

  1. 01 / ADD THE NODE

    Put Local Run Receipts in custom_nodes.

    Until the Comfy Registry listing is live, clone the public source into your ComfyUI installation and restart ComfyUI.

  2. 02 / RUN THE STARTER

    Keep ComfyUI on loopback and run the included Python file.

    python run-receipt-starter.py talks only to 127.0.0.1:8188. Pass --port if your local ComfyUI uses another port.

  3. 03 / CHECK THE RESULT

    Open the receipt beside the image.

    The first pass reports CREATED. Run it again unchanged to get ALREADY_IDENTICAL without replacing anything.

The node is a local file writer, not a remote-control feature.

It can write
Safe output subfolders inside ComfyUI’s normal output directory, image bytes, and a compact receipt.
It cannot do
Networking, model downloads, remote commands, path escapes, or bit-for-bit reproducibility claims.
Dispatch remains
A separate account product with an outbound-only Station, sealed recipes, and bounded Run fields.
See the separate Dispatch boundary