Local image workflow
ComfyUI workflow inspection: get the JSON, read nodes and list references
Start with what you actually received: an original PNG, a UI workflow JSON, an API prompt or a document whose shape is unknown. Extract and inspect the saved data, preserve the original, and keep resource and compatibility questions explicit before deciding what to do elsewhere.
18 October 2026 · Check AI Free
Choose the first tool from the input's role
| What you have | First action | Keep or check |
|---|---|---|
| An original PNG that may contain a graph | Read its text in ComfyUI workflow from image | Separate workflow and prompt occurrences; exact downloaded JSON and read status |
| A saved UI workflow JSON | Open it in the direct JSON viewer | Recognized version, nodes, widgets, links and original numeric tokens |
| An API prompt JSON | Open the named node/input representation directly | class_type, named inputs and stored reference arrays; no fabricated UI layout |
| Unrelated or malformed JSON | Keep unknown shape or syntax failure visible | Obtain an intact supported export; no workflow success is inferred |
| A model/dependency question | Review known literal references and unresolved entries | Node/field/source, fixed adapter/catalog scope and provider questions |
- Extract JSON from an original PNG — Local bounded text reading, then inspect the exact stored occurrence.
- Open saved JSON directly — File or paste input, node search/filter and endpoint location.
- Read A1111 parameters instead — Saved infotext has a different syntax from a ComfyUI graph.
Three reproducible representation scenes
These are source-defined, project-authored JSON fixtures with fictional prompts, model strings and custom-node names. They are not three independent generated images or an accuracy benchmark. The UI and API samples serve separate shape exercises; their similar node labels do not certify a conversion or runtime equivalence.
| Scene | Observed/expected result | Decision |
|---|---|---|
| S-H04-UI · workflow.json | workflow-0.4; 4 nodes, 2 links; exact large seed; one literal checkpoint and one unknown-node entry | Read UI widgets/links, keep the unresolved type and original JSON. |
| S-H04-API · api-prompt.json | api-prompt; 4 nodes, 3 links; named inputs; exact large seed | Retain the API role; resource literals do not establish installed files. |
| S-H04-UNRELATED · unknown.json | Valid JSON with unrecognized shape; no workflow success | Ask for a supported export rather than inventing a graph or treating parseability as safety. |
- Download the self-authored UI workflow JSON — Four saved node entries, two connections, a fictional checkpoint and one fictional unknown node. Raw seed 18446744073709551615 is preserved as a numeric token; the graph is never executed.
- Download the self-authored API prompt JSON — Four node-ID keys with class_type and named inputs, three connection references, one fictional checkpoint and one fictional unknown node. It is a stored-structure exercise, not a runnable model package.
- Download the unrelated-JSON control — Valid JSON with a note and an empty nodes array, but no supported workflow/API structure. The viewer reports unrecognized rather than workflow success.
- Download the three-scene machine-readable summary — Exact hashes and actual shape, node, connection and scoped reference readings for the synthetic inputs.
Carry one actual document through an inspection
Step 1
Preserve the original and record its role
If you start with a PNG, extract each stored JSON field separately. If you start with JSON, keep whether it was exported as UI or API when that is known. A filename or .json extension alone does not establish format or provenance.
Step 2
Read nodes and locate a connection
Use the recognized shape, search/filter the node list, inspect stored inputs/widgets and choose a connection endpoint to locate a node. Exact source text and number tokens remain available. A static browse does not execute nodes or establish that every runtime type matches.
Step 3
Review literal references and unknown scope
List known loader strings with node IDs and fields. Retain connected values and unsupported custom nodes as unresolved. The fixed catalog contains 65 base types from one official nodes.py revision; frontend-only nodes, extras and later/custom implementations are outside it.
Step 4
Download only the material you intend to share
Download original JSON for private preservation or the reference list for a scoped resource/type handoff. Review prompts, paths, notes and literal filenames before posting. The reference list is not a redaction operation, an installed-model inventory or a runnable package.
Use absent and damaged controls without inventing a recipe
empty.json is a supported UI workflow with zero nodes, distinct from unknown.json's unrelated shape. Try malformed JSON fails at incomplete syntax. A PNG without text provides no workflow; prompt-only.png has a small API prompt but no UI workflow field. These controls describe the available stored data, not a recovered generation history.
Direct JSON input is bounded to 5 MiB and 1000 nodes, with connection, depth and value limits. PNG fields have tighter text/decompression limits. A readable document, matching node catalog name or known model string does not establish authenticity, safe execution or installed compatibility. The site does not fetch stored URLs, scan your folders, install extensions or run a graph.
For an official interoperability example, extract the SDXL PNG's 24-node UI graph and 11-node API prompt. Their raw strings match independent Pillow extraction, while Note and PrimitiveNode in the UI graph remain outside the limited base catalog. That known example demonstrates why catalog scope must accompany an unknown label.
- Download the empty-workflow control — A recognized structure with no graph entries, not unrelated JSON.
- Download the prompt-only PNG control — One 185-character self-authored API prompt; no UI graph is synthesized.
- Download the PNG without stored text — A defined metadata-free version of the same project-authored 1 × 1 pixels. No parameters or workflow are inferred from its image data.
- Official ComfyUI SDXL example PNG, fixed revision — Original example from the upstream repository at f9431bb000ce. Use its raw/original download. The checked 1024 × 1024 PNG has SHA-256 038bf565ca4db12e070db3507bed9a6242f0d5200a392962172a207af32ad941; this site does not mirror it.
Sources and reproducible inputs
- Download the self-authored UI workflow JSON — Four saved node entries, two connections, a fictional checkpoint and one fictional unknown node. Raw seed 18446744073709551615 is preserved as a numeric token; the graph is never executed.
- Download the self-authored API prompt JSON — Four node-ID keys with class_type and named inputs, three connection references, one fictional checkpoint and one fictional unknown node. It is a stored-structure exercise, not a runnable model package.
- Download the unrelated-JSON control — Valid JSON with a note and an empty nodes array, but no supported workflow/API structure. The viewer reports unrecognized rather than workflow success.
- Official ComfyUI SDXL example PNG, fixed revision — Original example from the upstream repository at f9431bb000ce. Use its raw/original download. The checked 1024 × 1024 PNG has SHA-256 038bf565ca4db12e070db3507bed9a6242f0d5200a392962172a207af32ad941; this site does not mirror it.
- Official ComfyUI UI workflow JSON 0.4 specification — Versioned format reference for nodes, widget values and link tuples. Reading supported structure does not certify complete schema compliance or runtime compatibility.
- Official ComfyUI UI workflow JSON 1.0 specification — The separate 1.0 shape includes object-form links and allows string identifiers/slots in its defined locations. The viewer reports its recognized format rather than converting it.
- Official API prompt example, fixed revision — Reference ce1e922d8623; only its stored prompt_text was read. The seven-node JSON example yields nine connections and one checkpoint reference. Its Python/network code is not run.
- Official base-node definitions and fixed reference catalog — Pinned ce1e922d8623: 65 names in nodes.py's base NODE_CLASS_MAPPINGS and explicit known-loader adapters. Core extras, frontend-only nodes, installed custom nodes and later versions are outside this catalog.
Continue with your file
- Extract the workflow and API prompt stored in a ComfyUI PNG — Read the official SDXL original PNG, download its exact workflow/prompt JSON, compare their actual node counts, and handle a prompt-only or metadata-free file without inventing a graph.
- Tell a ComfyUI UI workflow from an API prompt JSON — Open official and self-authored UI/API JSON, locate nodes and stored connections in each shape, and separate valid unrelated JSON, empty workflows and malformed syntax.
- List the model references actually stored in a ComfyUI workflow — Export known checkpoint, LoRA and VAE literals with their node IDs, keep connected/custom-node values unresolved, and retain the fixed adapter/catalog reference without checking installed files.