Skip to content
checkaifree

Practical guide

Find and correct a known ComfyUI saved-structure error

Use a deliberately broken file so the correction is checkable. Fix the stored identity and endpoint problems, then confirm that those diagnostic codes disappear without running the graph.

18 October 2026 · Check AI Free

Use the format reference the checker actually implements

The static checker implements a subset of the official UI workflow 0.4 and 1.0 schemas fixed at docs revision 7ca6a40804ef. Required saved-node fields, duplicate typed IDs, conventional link endpoints and selected port consistency checks are included. Full schema compliance, socket data types, custom-node definitions, installed resources and execution are outside this subset.

API prompts use different class_type/inputs and reference checks. The official API envelope leaves prompt internals open; the site's conventional reference checks are additional documented behavior, not a claim that the UI schema validates an API graph.

Reproduce and repair the two known errors

  1. Step 1

    Load the broken saved workflow

    Open Check saved graph structure and click Try broken workflow, or choose saved-broken.json. Expect workflow-0.4, two node entries, one connection and two errors. Diagnostic level Errors shows duplicate_node_id and dangling_link.

    Open the local static checker

  2. Step 2

    Select the duplicate ID in the source

    Click Select source location on duplicate_node_id. It selects the second node's ID in Or paste saved JSON. The two full KSampler objects both use integer ID 1; the saved connection [2,99,0,1,0,"MODEL"] also names nonexistent origin node 99.

  3. Step 3

    Remove the duplicate exercise entry

    In the source textarea, remove the second complete object from nodes, including its separating comma. Leave one original KSampler object with its geometry, flags, order, mode, properties and exact seed token intact. Click Check structure. The duplicate-node error should disappear while the dangling-link error remains.

  4. Step 4

    Correct the known unused exercise connection

    This authored exercise defines no intended connection. Replace the entire links value with [] and set last_link_id to 0. Click Check structure again. Expect workflow-0.4 · checked, one node, zero connections, zero errors, warnings or unsupported checks. The downloadable saved-valid.json is the control for this explicit repair; do not delete arbitrary real connections just to silence diagnostics.

  5. Step 5

    Keep the diagnostic record

    Click Download diagnostics JSON for comfyui-static-diagnostics.json. The report retains status, counts, fixed messages and source offsets while omitting original source, node IDs and raw field paths. It is a diagnostic document, not a repaired workflow export. Preserve your corrected text separately if needed.

Check an API reference under API rules

Download validation-api.json or click Try API prompt. The two-node prompt is checked with one conventional connection and no diagnostics. In the sampler's inputs, change model from ["source",0] to ["absent",0] and click Check structure. Expect dangling_api_reference at the missing source ID. Restore "source" and recheck to remove that error.

Do not substitute a numeric node ID where the API reference expects a string, or treat every arbitrary custom array as a known connection. The checker reports unsupported array semantics when they do not fit its conventional form. It cannot infer custom input definitions or a correct replacement model from their names.

Keep warning, unsupported and empty outcomes visible

An out-of-catalog node produces custom_definition_unchecked, not a proven missing plugin. Named-slot correspondence is reported as unchecked; subgraphs and unknown workflow versions are outside this subset. Try empty workflow returns workflow-1.0 · empty with no nodes; Try malformed JSON records json_syntax rather than an empty graph.

The checker stops at 5 MiB, 1000 nodes, 10000 links, depth 64, 150000 values or 5000 diagnostics. Select source location counts UTF-16 code units, matching the textarea. A checked result means only that the implemented static checks found no diagnostics; it does not establish that the graph can run or that importing it elsewhere is safe.

Sources and reproducible inputs

Continue with your file