Files
IxMxAMAR-ComfyUI-Utility-Me…/workflows/14_io_workflow_http.json
T
IxMxAMAR e8264f5abb templates: rebuild with corrected widget mapping
Investigation (Workflow trace of bundled ComfyUI frontend source) found three
real bugs in the previous regen:

1. widgets_values must be POSITIONAL — keep slots for widgets that have been
   converted to input sockets. In frontend >=1.16 widgets and sockets coexist
   (convertToInput is deprecated), so the widget object always stays in
   node.widgets and its slot in widgets_values is never removed. Skipping
   converted slots was the root cause of every shifted-value display
   (prompt text appearing in model field, NaN in numeric fields, etc).

2. ShowText was registered as 'ShowText' but pythongosssss's pack actually
   registers the class as 'ShowText|pysssss'. The bare name renders as a red
   missing-node box. Generator now emits the correct registered name.

3. Node height formula re-derived from the bundled litegraph computeSize():
   rows*20 + per-widget(20+4) + 8 trailing + 30 title + 6 footer, with
   multiline STRING widgets reserving ~100px each.

Bonus fix: validator now checks every COMBO widget value is in its choices
list (caught 100+ recipe-author typos), and the generator auto-substitutes
invalid values with the best match (case-insensitive, prefix, substring,
numeric coercion) instead of shipping invalid values.
2026-05-30 21:10:15 +05:30

197 lines
3.3 KiB
JSON

{
"last_node_id": 2,
"last_link_id": 1,
"nodes": [
{
"id": 1,
"type": "UtilMegaPack_IOWorkflow",
"pos": [
60,
60
],
"size": [
320,
1356
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": null
},
{
"name": "images",
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "text",
"type": "STRING",
"links": [
1
],
"slot_index": 0
},
{
"name": "parsed",
"type": "DICT",
"links": [],
"slot_index": 1
},
{
"name": "image",
"type": "IMAGE",
"links": [],
"slot_index": 2
},
{
"name": "status_code",
"type": "INT",
"links": [],
"slot_index": 3
}
],
"properties": {
"recipe_id": "op",
"Node name for S&R": "UtilMegaPack_IOWorkflow"
},
"widgets_values": [
"http_get",
"(use pack default)",
"",
true,
"",
false,
"",
"",
false,
false,
"",
"",
"",
"",
"_",
"https://httpbin.org/json",
10,
"{}",
"{}",
"{date}_{seed}_{prompt_slug}.png",
0,
"randomize",
"",
"png",
"",
"{}",
"",
"MegaPack",
false,
0.0,
1.0,
0.1,
"",
0.0,
".png,.jpg,.jpeg,.webp",
"batch.zip",
"img",
"png",
"."
]
},
{
"id": 2,
"type": "ShowText|pysssss",
"pos": [
460,
60
],
"size": [
320,
88
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "text",
"type": "STRING",
"link": 1,
"widget": {
"name": "text"
}
}
],
"outputs": [
{
"name": "text",
"type": "STRING",
"links": [],
"slot_index": 0
}
],
"properties": {
"recipe_id": "out",
"Node name for S&R": "ShowText|pysssss"
},
"widgets_values": [
""
]
}
],
"links": [
[
1,
1,
0,
2,
0,
"STRING"
]
],
"groups": [
{
"title": "Action",
"bounding": [
35,
-1,
370,
1442
],
"color": "#3F789E",
"font_size": 24,
"locked": false
},
{
"title": "Output",
"bounding": [
435,
-1,
370,
174
],
"color": "#3F789E",
"font_size": 24,
"locked": false
}
],
"config": {},
"extra": {
"ds": {
"scale": 1.0,
"offset": [
0,
0
]
},
"description": "Fetch a URL via HTTP GET and inspect the response using IOWorkflow's http_get mode.",
"title": "MegaPack \u2014 IOWorkflow: HTTP GET",
"tier": 1,
"pack": "ComfyUI-Utility-MegaPack"
},
"version": 0.4
}