ComfyUI Node
arkennemasis Variation Intake (normalise + validate)
Normalise a client's sheet into the canonical VARIANTS / SPECS / PRODUCT tables and run every pre-generation validation. Nothing downstream sees the client's layout. A failure here costs nothing; the same failure at cell 380 costs 380 images.
arkennemasis Variation Intake (normalise + validate)
- intake_json
- report
- problems
- ok
- cell_count
◄raw_json[]►
◄mapping_json{}►
◄specs_path►
◄product_id►
◄naming_pattern►
◄stricttrue►
◄write_to►
Categoryarkennemasis/Variation
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| raw_json | STRING | [] | Rows from Sheet Probe. |
| mapping_json | STRING | {} | Which client column means what. Use Sheet Probe's suggestion, an LLM's proposal, or a saved per-client mapping. Keys: columns{filename, axis:<name>, ref_url:<axis>, hex:<axis>, status}, fill_down[], product, product_display, naming_pattern, plates[]. |
| specs_pathopt | STRING | Optional separate SPECS file (CSV/JSON): one row per axis value with axis, value, hex, ref_url, display, filename_token, description. Merged over anything lifted out of the variant sheet. | |
| product_idopt | STRING | Canonical product id. Overrides the mapping's value. Blank falls back to the mapping, then the sheet. | |
| naming_patternopt | STRING | Filename template, e.g. '{axis-a.filename_token}-in-{axis-b.filename_token}.png'. Blank = take the client's filenames exactly as given, which is the safer default. | |
| strictopt | BOOLEAN | true | On: any validation problem blocks the run. Off: problems are reported and the run continues — for inspecting a messy sheet, never for a real production run. |
| write_toopt | STRING | Optional folder to write intake.json into, so the orchestrator and later runs can read it without re-parsing the client's file. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| intake_json | STRING | — |
| report | STRING | — |
| problems | STRING | — |
| ok | BOOLEAN | — |
| cell_count | INT | — |