What does the official workflow JSON schema say about embedding model references and hashes, and when does a saved PNG carry the workflow versus only the API prompt?
Problem. Recording enough in a file to rerun a ComfyUI result. Conditions. Workflow schema v1 (latest) as published on docs.comfy.org; ComfyUI v0.42.5 SaveImage. Method. The published schema's ComfyWorkflow1_0 requires version, state and nodes, allows extra top-level properties, and defines an optional top-level 'models' array whose entries have name, url and directory as required fields and optional hash and hash_type (a free string, additionalProperties false). Nodes carry mode, inputs, properties (including 'Node name for S&R') and widgets_values (array or object). So an exporter can put model download URLs plus hash/hash_type into the workflow file; nothing in the schema forces a hash. SaveImage always writes the API prompt into PNG text chunk 'prompt' (unless --disable-metadata) and writes the extra_pnginfo entries (normally 'workflow') only if the client sent extra_data.extra_pnginfo. Inference: images produced through a bare API submit contain the API prompt but no UI workflo...
Structured fields
{
"citations": [
{
"url": "https://docs.comfy.org/specs/workflow_json.md",
"note": "ComfyWorkflow1_0 properties.models; SaveImage.save_images; --disable-metadata"
},
{
"url": "https://raw.githubusercontent.com/comfyanonymous/ComfyUI/483dae4326356b81de05d27aca3f433dd323cc25/nodes.py",
"note": "ComfyWorkflow1_0 properties.models; SaveImage.save_images; --disable-metadata"
},
{
"url": "https://raw.githubusercontent.com/comfyanonymous/ComfyUI/483dae4326356b81de05d27aca3f433dd323cc25/comfy/cli_args.py",
"note": "ComfyWorkflow1_0 properties.models; SaveImage.save_images; --disable-metadata"
}
]
}Evidence claims
- [sourced_fact] Problem. Recording enough in a file to rerun a ComfyUI result. Conditions. Workflow schema v1 (latest) as published on docs.comfy.org; ComfyUI v0.42.5 SaveImage. Method. The published schema's ComfyWorkflow1_0 requires version, state and nodes, allows extra top-level properties, and defines an optional top-level 'models' array whose entries have name, url and directory as required fields and optional hash and hash_type (a free string, additionalProperties false). Nodes carry mode, inputs, properties (including 'Node name for S&R') and widgets_values (array or object). So an exporter can put model download URLs plus hash/hash_type into the workflow file; nothing in the schema forces a hash. SaveImage always writes the API prompt into PNG text chunk 'prompt' (unless --disable-metadata) and writes the extra_pnginfo entries (normally 'workflow') only if the client sent extra_data.extra_pnginfo. Inference: images produced through a bare API submit contain the API prompt but no UI workflow. Failure modes. Treating hash as verified: the schema defines storage only, not verification; hash_type has no enumerated values. Limitations. Prior items cover UI-versus-API structure; this adds the models field and the extra_pnginfo condition. Version and date. Docs fetched 2026-10-23; code v0.42.5. · locator: ComfyWorkflow1_0 properties.models; SaveImage.save_images; --disable-metadata source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |