Client delivery: keep a reproducibility and rights record, not just the final images
Handing ComfyUI work to a client means keeping the assets, both workflow JSON formats, version and model identity, seeds and a licence record. Pixel-identical re-runs cannot be promised, so state in the delivery note what the package does and does not support.
Purpose and scope
A later revision request or dispute needs the recipe, environment and rights position, not only the files. This guide lists what to keep with ComfyUI deliveries and what the sources support about reproducing them.
Source-supported context
ComfyUI can embed two JSON fields in output files: workflow, the complete graph with layout, and prompt, the API prompt with the nodes and inputs needed for execution. Metadata can be switched off with --disable-metadata, and re-encoding or editing a file may remove it. The same page states that the workflow excludes model files, input assets and custom node packages, and that metadata is optional and untrusted input Source 1.
The saved format reopens in the frontend; the API format is for submission and omits UI metadata such as positions, colours, groups and node sizes Source 2. Hub downloads can be pinned to a tag, branch or commit Source 3. Registry nodes use semantic X.Y.Z versions Source 4, and Hub repository cards carry licence metadata Source 5.
On determinism, the PyTorch notes state that completely reproducible results are not guaranteed across releases, individual commits or platforms, and may differ between CPU and GPU even with identical seeds Source 6.
Before you start
1. Decide what the contract promises: files, workflow, or a rebuildable package.
2. Collect versions from the producing machine and licence texts for every model, LoRA and node.
Steps and checks
The sequence below is an editorial procedure based on the cited context, not a diagnosis already confirmed for your environment.
Step 1. Export both workflow forms and label them. Keep the saved (UI) workflow JSON and, if jobs will be submitted by a pipeline, the API-format export (File, Export Workflow (API)), which omits layout data (Source 2).
Step 2. Keep the final assets as generated. Record whether each output still carries embedded metadata and keep an untouched copy, since editors may remove metadata on re-encoding (Source 1).
Step 3. Write the environment record: ComfyUI version or commit, Python and PyTorch versions, operating system, GPU driver, and each custom node with its exact version or commit. Registry-published nodes use X.Y.Z versions; for nodes installed from elsewhere, record the commit (Source 4).
Step 4. Write one identity line per model file: provider, repository, full revision or commit hash, path, size and checksum compared. Hugging Face lets you select a branch, tag or commit hash, and the guide notes that a commit hash must be the full-length hash, not a 7-character one (Source 3).
Step 5. Record per asset the seed, sampler, steps, guidance, resolution, LoRA strengths and input files. The embedded prompt field holds the nodes and inputs used for execution, but metadata is optional and untrusted, so do not rely on it alone (Source 1).
Step 6. Add the rights record: for each model, LoRA and custom node, the licence name, a link to its text and the date you read it. Hub licences sit in repository card metadata, and licence other should come with a LICENSE file (Source 5). Leave interpretation to counsel.
Step 7. State the reproducibility limit in the delivery note. Say the package lets a third party rebuild the configuration, not that identical pixels are promised on other hardware or software (Source 6). Archive the package separately.
Completion check
A colleague can identify every file, version and licence behind each asset, and the note states what is not promised.
Limitations and cautions
This is not legal advice. Licences, contracts and jurisdiction decide permitted use; this site does not state that any licence allows commercial delivery. The U.S. Copyright Office published Copyright and Artificial Intelligence, Part 2: Copyrightability on 29 January 2025 Source 7. Its report states that copyright protects original human-authored expression, including human contributions perceptible in AI-generated outputs and their creative selection, coordination or arrangement, but does not extend to purely AI-generated material, and that prompts alone do not currently provide sufficient control; human contribution is assessed case by case (executive summary of the Part 2 report). This is a U.S. position only; other jurisdictions and your contract may differ. Whether a given ComfyUI node is deterministic is unverified.
Original sources
- ComfyUI workflow metadata — checked 2026-10-06.
- ComfyUI workflow API format — checked 2026-10-06.
- Hugging Face Hub download guide — checked 2026-10-06.
- Comfy Registry pyproject.toml specification — checked 2026-10-06.
- Hugging Face Hub licenses — checked 2026-10-06.
- PyTorch reproducibility notes — checked 2026-10-06.
- U.S. Copyright Office AI initiative — checked 2026-10-06.
- U.S. Copyright Office, Part 2: Copyrightability report (PDF) — checked 2026-10-06.
Prepared 2026-10-06 from the sources above. No GPU run, quality measurement or runtime guarantee is supplied.
Related troubleshooting and guides
Was this page helpful?
Anonymous. Only a yes/no counter is stored; no account, IP address or device details.
Sources & references
Editorial research from the cited public sources, dated 2026-10-06. This site did not run or test the workflow described.
01ComfyUI workflow metadataSource checked: 2026-10-0602ComfyUI workflow API formatSource checked: 2026-10-0603Hugging Face Hub download guideSource checked: 2026-10-0604Comfy Registry pyproject.toml specificationSource checked: 2026-10-0605Hugging Face Hub licensesSource checked: 2026-10-0606PyTorch reproducibility notesSource checked: 2026-10-0607U.S. Copyright Office AI initiativeSource checked: 2026-10-0608U.S. Copyright Office, Copyright and Artificial Intelligence, Part 2: Copyrightability (PDF)Source checked: 2026-10-06Report an issue · 2cfae0d8-f977-5b1c-bd8d-ebf16c6b2ee6
Related reading
Pages linked to this one by the editors.
Capture the environment and one controlled change while distinguishing metadata from runtime success.
A model name can cover bundled checkpoints, split weights, quantized variants, text encoders and VAEs. Preserve enough identity information to know which artifact a workflow actually used.
Identify the format and source of JSON, images or videos before installing nodes and weights. Static inspection helps planning but cannot replace execution in the target environment.
Recovering old code does not automatically restore Python packages, frontend, nodes or configuration. Establish recovery information for the whole relevant environment.