{
  "id": "aa0ea3e2-5729-4d50-956e-26fc02b13d9e",
  "revision": 0,
  "last_node_id": 344,
  "last_link_id": 21011,
  "nodes": [
    {
      "id": 49,
      "type": "LoadImage",
      "pos": [
        -1090,
        4430
      ],
      "size": [
        390,
        640
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "image",
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          },
          "link": null
        },
        {
          "localized_name": "choose file to upload",
          "name": "upload",
          "type": "IMAGEUPLOAD",
          "widget": {
            "name": "upload"
          },
          "link": null
        }
      ],
      "outputs": [
        {
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            228,
            229,
            231,
            21004
          ]
        },
        {
          "localized_name": "MASK",
          "name": "MASK",
          "type": "MASK",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "LoadImage",
        "ue_properties": {
          "widget_ue_connectable": {
            "image": true,
            "upload": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "lake.jpg",
        "image"
      ],
      "widgets_values_named": {
        "image": "yellow_arch_daisy_field.png",
        "upload": "image"
      },
      "shape": 1
    },
    {
      "id": 80,
      "type": "4522b5d6-7f71-4b60-8fab-1e6ffbd5f1c1",
      "pos": [
        650,
        4420
      ],
      "size": [
        500,
        580
      ],
      "flags": {},
      "order": 14,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "image_1",
          "name": "images.image_1",
          "shape": 7,
          "type": "IMAGE",
          "link": 229
        },
        {
          "label": "image_2",
          "name": "images.image_2",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "label": "image_3",
          "name": "images.image_3",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "label": "image_4",
          "name": "images.image_4",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "label": "image_5",
          "name": "images.image_5",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "label": "image_6",
          "name": "images.image_6",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "label": "image_7",
          "name": "images.image_7",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "label": "image_8",
          "name": "images.image_8",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "prompt",
          "type": "STRING",
          "widget": {
            "name": "prompt"
          },
          "link": 21003
        },
        {
          "label": "width",
          "name": "value",
          "type": "INT",
          "widget": {
            "name": "value"
          },
          "link": 205
        },
        {
          "label": "height",
          "name": "value_1",
          "type": "INT",
          "widget": {
            "name": "value_1"
          },
          "link": 206
        },
        {
          "name": "noise_seed",
          "type": "INT",
          "widget": {
            "name": "noise_seed"
          },
          "link": null
        },
        {
          "name": "scheduler",
          "type": "COMBO",
          "widget": {
            "name": "scheduler"
          },
          "link": null
        },
        {
          "name": "steps",
          "type": "INT",
          "widget": {
            "name": "steps"
          },
          "link": null
        },
        {
          "name": "unet_name",
          "type": "COMBO",
          "widget": {
            "name": "unet_name"
          },
          "link": null
        },
        {
          "name": "vae_name",
          "type": "COMBO",
          "widget": {
            "name": "vae_name"
          },
          "link": null
        },
        {
          "name": "type",
          "type": "COMBO",
          "widget": {
            "name": "type"
          },
          "link": null
        },
        {
          "label": "model_attention_backend",
          "name": "attention_1",
          "type": "COMBO",
          "widget": {
            "name": "attention_1"
          },
          "link": null
        }
      ],
      "outputs": [
        {
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            21010
          ]
        }
      ],
      "properties": {
        "previewExposures": [],
        "ue_properties": {
          "widget_ue_connectable": {
            "prompt": true,
            "value": true,
            "value_1": true,
            "noise_seed": true,
            "scheduler": true,
            "steps": true,
            "unet_name": true,
            "vae_name": true,
            "type": true,
            "attention_1": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "",
        1024,
        1024,
        2026110202,
        "simple",
        12,
        "ming_image_0.1_design_int8_convrot.safetensors",
        "ming_image_vae_bf16.safetensors",
        "qwen_image",
        "comfy kitchen attention"
      ],
      "widgets_values_named": {
        "prompt": "",
        "value": 1024,
        "value_1": 1024,
        "noise_seed": 247081603831298,
        "scheduler": "simple",
        "steps": 12,
        "unet_name": "ming_image_0.1_design_int8_convrot.safetensors",
        "vae_name": "ming_image_vae_bf16.safetensors",
        "type": "qwen_image",
        "attention_1": "comfy kitchen attention"
      },
      "shape": 1
    },
    {
      "id": 81,
      "type": "GetImageSize",
      "pos": [
        290,
        4900
      ],
      "size": [
        230,
        140
      ],
      "flags": {},
      "order": 9,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "image",
          "name": "image",
          "type": "IMAGE",
          "link": 210
        }
      ],
      "outputs": [
        {
          "localized_name": "width",
          "name": "width",
          "type": "INT",
          "links": [
            205,
            1054
          ]
        },
        {
          "localized_name": "height",
          "name": "height",
          "type": "INT",
          "links": [
            206,
            1055
          ]
        },
        {
          "localized_name": "batch_size",
          "name": "batch_size",
          "type": "INT",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "GetImageSize",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "shape": 1
    },
    {
      "id": 83,
      "type": "ResizeImageMaskNode",
      "pos": [
        260,
        4720
      ],
      "size": [
        270,
        110
      ],
      "flags": {},
      "order": 5,
      "mode": 4,
      "inputs": [
        {
          "localized_name": "input",
          "name": "input",
          "type": "IMAGE,MASK",
          "link": 231
        },
        {
          "localized_name": "resize_type",
          "name": "resize_type",
          "type": "COMFY_DYNAMICCOMBO_V3",
          "widget": {
            "name": "resize_type"
          },
          "link": null
        },
        {
          "localized_name": "megapixels",
          "name": "resize_type.megapixels",
          "type": "FLOAT",
          "widget": {
            "name": "resize_type.megapixels"
          },
          "link": null
        },
        {
          "localized_name": "scale_method",
          "name": "scale_method",
          "type": "COMBO",
          "widget": {
            "name": "scale_method"
          },
          "link": null
        }
      ],
      "outputs": [
        {
          "localized_name": "resized",
          "name": "resized",
          "type": "IMAGE",
          "links": [
            210
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "ResizeImageMaskNode",
        "ue_properties": {
          "widget_ue_connectable": {
            "resize_type": true,
            "resize_type.megapixels": true,
            "scale_method": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "scale total pixels",
        1,
        "area"
      ],
      "widgets_values_named": {
        "resize_type": "scale total pixels",
        "resize_type.megapixels": 1,
        "scale_method": "area"
      },
      "shape": 1
    },
    {
      "id": 85,
      "type": "MarkdownNote",
      "pos": [
        280,
        4590
      ],
      "size": [
        210,
        90
      ],
      "flags": {},
      "order": 1,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "title": "Note: Resize Input",
      "properties": {
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "Select and press Ctrl-B to enable `Resize Image/Mask` node if your input image is too large (over 2048*2048).\n"
      ],
      "widgets_values_named": {
        "text": "Select and press Ctrl-B to enable `Resize Image/Mask` node if your input image is too large (over 2048*2048).\n"
      },
      "color": "#222",
      "bgcolor": "#000",
      "shape": 1
    },
    {
      "id": 87,
      "type": "MarkdownNote",
      "pos": [
        -1092.2626186004627,
        4377.266334242224
      ],
      "size": [
        560,
        940
      ],
      "flags": {
        "collapsed": true
      },
      "order": 2,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "title": "Note: Ming Image 0.1 Design — Edit (subgraph + prompt)",
      "properties": {
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "# Ming Image 0.1 Design — Edit (ComfyUI)\n\nMing Image 0.1 **Design** (inclusionAI / Ant Ling): text-to-image and image editing with one checkpoint.\nFiles — see *Note: Model Links*.\n\nLinks — [Ming-Image repo](https://github.com/inclusionAI/Ming-Image) · [model card](https://huggingface.co/inclusionAI/Ming-Image-0.1-Design) · [Design skill](https://github.com/inclusionAI/ling-cookbook/tree/main/resources/recommended-skills/ling-ui-design) · [PPT skill](https://github.com/inclusionAI/ling-cookbook/tree/main/resources/recommended-skills/image-to-editable-ppt)\n\n## Three subgraphs — double-click any of them to open\n\n| subgraph | what it does |\n|---|---|\n| **Image Edit (Ming Image 0.1 Design)** | the model: reference image(s) + `prompt` → sample → decode |\n| **Ideogram JSON → Ming Caption** | rewrites the Ideogram JSON + the bounding boxes into Ming's Figma-style caption and feeds `prompt` |\n| **Aspect Ratio (gcd-reduced)** | nested inside the one above: `width` / `height` → `7:9, 896 × 1152 px` for `canvas_settings.aspect_ratio` |\n\n## Image Edit subgraph parameters\n\n| parameter | what it does |\n|---|---|\n| `image_1` … `image_8` | reference image(s) to edit; only `image_1` is required |\n| `prompt` | the instruction (see below) |\n| `width` / `height` | output size, wired from `Get Image Size` |\n| `noise_seed` / `scheduler` / `steps` | sampling; default `simple`, 12 steps |\n| `unet_name` / `vae_name` / `type` | weights, and text-encoder family (`qwen_image`) |\n| `model_attention_backend` | `comfy kitchen attention` (INT8, fastest) is only listed on GPUs that support it — NVIDIA cc 7.5+ or AMD/ROCm; otherwise pick `pytorch attention`: same result, slower |\n\nNo negative prompt, no CFG — positive conditioning only.\n\n## Prompt: \n\n**1 · Natural language**: you can disconnect the `Ideogram JSON to Ming Caption` output, then use your own prompt to edit the image\n\n**2 · Ming's own Figma-style caption**: Currently this workflow builds a prompt that matches Ming's Figma-style caption, you can use it for precise control (same shape as the official [rewriter system prompt](https://github.com/inclusionAI/Ming-Image/blob/main/assets/t2i_rewriter_system_prompt.txt) emits):\n\n```json\n{\n  \"canvas_settings\": {\"aspect_ratio\": \"…\", \"ambient_lighting\": \"…\", \"image_style\": \"…\"},\n  \"layers\": [{\"description\": \"…\", \"coordinates\": \"cx: 0.500, cy: 0.500, w: 1.000, h: 1.000\",\n              \"hierarchy_and_relation\": \"…\", \"color_specs\": [\"#RRGGBB\"]}]\n}\n```\n\nTwo keys only; `layers` runs background → topmost; `coordinates` is one string (centre + size, normalised); rendered text is quoted and owned once. `aspect_ratio` and the pixel size are computed from the boxes' canvas, so adding boxes or swapping the input image needs no edits. Example: [t2i_four_seasons_cabin_prompt.json](https://github.com/inclusionAI/Ming-Image/blob/main/assets/t2i_four_seasons_cabin_prompt.json)\n"
      ],
      "widgets_values_named": {
        "text": "# Ming Image 0.1 Design — Edit (ComfyUI)\n\nMing Image 0.1 **Design** (inclusionAI / Ant Ling): text-to-image and image editing with one checkpoint.\nFiles — see *Note: Model Links*.\n\nLinks — [Ming-Image repo](https://github.com/inclusionAI/Ming-Image) · [model card](https://huggingface.co/inclusionAI/Ming-Image-0.1-Design) · [Design skill](https://github.com/inclusionAI/ling-cookbook/tree/main/resources/recommended-skills/ling-ui-design) · [PPT skill](https://github.com/inclusionAI/ling-cookbook/tree/main/resources/recommended-skills/image-to-editable-ppt)\n\n## Three subgraphs — double-click any of them to open\n\n| subgraph | what it does |\n|---|---|\n| **Image Edit (Ming Image 0.1 Design)** | the model: reference image(s) + `prompt` → sample → decode |\n| **Ideogram JSON → Ming Caption** | rewrites the Ideogram JSON + the bounding boxes into Ming's Figma-style caption and feeds `prompt` |\n| **Aspect Ratio (gcd-reduced)** | nested inside the one above: `width` / `height` → `7:9, 896 × 1152 px` for `canvas_settings.aspect_ratio` |\n\n## Image Edit subgraph parameters\n\n| parameter | what it does |\n|---|---|\n| `image_1` … `image_8` | reference image(s) to edit; only `image_1` is required |\n| `prompt` | the instruction (see below) |\n| `width` / `height` | output size, wired from `Get Image Size` |\n| `noise_seed` / `scheduler` / `steps` | sampling; default `simple`, 12 steps |\n| `unet_name` / `vae_name` / `type` | weights, and text-encoder family (`qwen_image`) |\n| `model_attention_backend` | `comfy kitchen attention` (INT8, fastest) is only listed on GPUs that support it — NVIDIA cc 7.5+ or AMD/ROCm; otherwise pick `pytorch attention`: same result, slower |\n\nNo negative prompt, no CFG — positive conditioning only.\n\n## Prompt: \n\n**1 · Natural language**: you can disconnect the `Ideogram JSON to Ming Caption` output, then use your own prompt to edit the image\n\n**2 · Ming's own Figma-style caption**: Currently this workflow builds a prompt that matches Ming's Figma-style caption, you can use it for precise control (same shape as the official [rewriter system prompt](https://github.com/inclusionAI/Ming-Image/blob/main/assets/t2i_rewriter_system_prompt.txt) emits):\n\n```json\n{\n  \"canvas_settings\": {\"aspect_ratio\": \"…\", \"ambient_lighting\": \"…\", \"image_style\": \"…\"},\n  \"layers\": [{\"description\": \"…\", \"coordinates\": \"cx: 0.500, cy: 0.500, w: 1.000, h: 1.000\",\n              \"hierarchy_and_relation\": \"…\", \"color_specs\": [\"#RRGGBB\"]}]\n}\n```\n\nTwo keys only; `layers` runs background → topmost; `coordinates` is one string (centre + size, normalised); rendered text is quoted and owned once. `aspect_ratio` and the pixel size are computed from the boxes' canvas, so adding boxes or swapping the input image needs no edits. Example: [t2i_four_seasons_cabin_prompt.json](https://github.com/inclusionAI/Ming-Image/blob/main/assets/t2i_four_seasons_cabin_prompt.json)\n"
      },
      "color": "#222",
      "bgcolor": "#000",
      "shape": 1
    },
    {
      "id": 91,
      "type": "CreateBoundingBoxes",
      "pos": [
        -1070,
        5190
      ],
      "size": [
        420,
        560
      ],
      "flags": {},
      "order": 4,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "background",
          "name": "background",
          "shape": 7,
          "type": "IMAGE",
          "link": 228
        },
        {
          "localized_name": "bboxes",
          "name": "bboxes",
          "shape": 7,
          "type": "BOUNDING_BOX,ARRAY,STRING",
          "link": null
        },
        {
          "localized_name": "width",
          "name": "width",
          "type": "INT",
          "widget": {
            "name": "width"
          },
          "link": null
        },
        {
          "localized_name": "height",
          "name": "height",
          "type": "INT",
          "widget": {
            "name": "height"
          },
          "link": null
        },
        {
          "localized_name": "editor_state",
          "name": "editor_state",
          "type": "BOUNDING_BOXES",
          "widget": {
            "name": "editor_state"
          },
          "link": null
        },
        {
          "localized_name": "last_incoming",
          "name": "last_incoming",
          "shape": 7,
          "type": "BOUNDING_BOXES",
          "widget": {
            "name": "last_incoming"
          },
          "link": null
        }
      ],
      "outputs": [
        {
          "localized_name": "preview",
          "name": "preview",
          "type": "IMAGE",
          "links": [
            225
          ]
        },
        {
          "localized_name": "bboxes",
          "name": "bboxes",
          "type": "BOUNDING_BOX",
          "links": [
            214
          ]
        },
        {
          "localized_name": "elements",
          "name": "elements",
          "type": "ARRAY",
          "links": [
            215,
            1063
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "CreateBoundingBoxes",
        "ue_properties": {
          "widget_ue_connectable": {
            "width": true,
            "height": true,
            "editor_state": true,
            "last_incoming": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        896,
        1152,
        [
          {
            "x": 0,
            "y": 0,
            "width": 896,
            "height": 1152,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "mountain lake scene from source as layered teal and navy screen-print travel illustration",
              "palette": [
                "#123849",
                "#327E84",
                "#F5EDD9"
              ]
            }
          },
          {
            "x": 55,
            "y": 55,
            "width": 786,
            "height": 210,
            "metadata": {
              "type": "text",
              "text": "ALPINE QUIET",
              "desc": "large navy uppercase sans serif headline",
              "palette": [
                "#123849"
              ]
            }
          },
          {
            "x": 90,
            "y": 1000,
            "width": 716,
            "height": 85,
            "metadata": {
              "type": "text",
              "text": "TAKE THE SCENIC ROUTE",
              "desc": "small navy uppercase footer",
              "palette": [
                "#123849"
              ]
            }
          }
        ],
        []
      ],
      "widgets_values_named": {
        "width": 896,
        "height": 1152,
        "editor_state": [
          {
            "x": 0,
            "y": 0,
            "width": 896,
            "height": 1152,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "the whole picture reprinted as a mid-century screen-print poster sheet: flat unmodulated colour planes, hand-cut stencil edges, warm off-white paper stock with fine print grain, one faint ink misregistration, a thin dark-ink rule inset a few millimetres from the trimmed edge, no photographic depth of field",
              "palette": [
                "#F5F0E3",
                "#E4B23C",
                "#2F5FA8",
                "#1E2A38"
              ]
            }
          },
          {
            "x": 0,
            "y": 0,
            "width": 896,
            "height": 555,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "the sunlit tiled facade redrawn as two flat ochre plates, one in full sun and one in shade, split by one crisp diagonal shadow that runs from the top edge near the centre down to the left edge about a fifth of the way down; the tile grout becomes a sparse regular grid of thin lighter lines",
              "palette": [
                "#E4B23C",
                "#C6952F",
                "#F0C85A"
              ]
            }
          },
          {
            "x": 57,
            "y": 205,
            "width": 193,
            "height": 350,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "the left round-headed arch opening cut cleanly through the facade: inside it a flat pale-blue sky with one simplified cream cloud bank, edges stencil-cut, no gradients",
              "palette": [
                "#4E86C8",
                "#A9C9E8",
                "#F5F0E3"
              ]
            }
          },
          {
            "x": 357,
            "y": 192,
            "width": 196,
            "height": 363,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "the centre arch opening, the tallest of the three: flat pale-blue sky, one low cream cloud shape near its base, and the daisy horizon showing as a thin band of small white dots across the bottom of the opening",
              "palette": [
                "#4E86C8",
                "#A9C9E8",
                "#F5F0E3"
              ]
            }
          },
          {
            "x": 652,
            "y": 200,
            "width": 203,
            "height": 355,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "the right arch opening holding a single tree: trunk and crown reduced to a two-tone silhouette of dark olive green and deep umber against the pale blue sky, branches simplified to a few decisive lines, foliage as clustered flat shapes, no leaf texture",
              "palette": [
                "#4E86C8",
                "#6E8B4A",
                "#3B4A2E"
              ]
            }
          },
          {
            "x": 0,
            "y": 500,
            "width": 896,
            "height": 652,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "the daisy meadow drawn as poster shapes: the field as broad olive-green swathes rising to a soft ridge line, every daisy a simple white petal rosette with a flat ochre centre, evenly staggered and overlapping in loose rows, the nearest flowers large and crisp, the distant ones small pale dots",
              "palette": [
                "#8FA05A",
                "#B7C68A",
                "#F5F0E3",
                "#E4A62C"
              ]
            }
          },
          {
            "x": 348,
            "y": 486,
            "width": 170,
            "height": 88,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "an open parasol held high above her, seen from behind: the canopy a flat disc of deep rust-red silk with a black scalloped lace edge printed as a row of small half-circles and straight thin dark ribs radiating from the centre, a slim dark-wood shaft falling to her raised hand; the canopy tilted slightly to the left, one paler rust tone on its sunlit right half",
              "palette": [
                "#9E3B2E",
                "#6E2A22",
                "#1E2A38"
              ]
            }
          },
          {
            "x": 372,
            "y": 566,
            "width": 112,
            "height": 280,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "a graceful woman standing with her back to the camera, full length, drawn in the same flat screen-print language: a classical floor-length gown of deep rust-red silk, high waisted with one soft vertical fold falling from her shoulder blades to the hem, printed as two flat planes of rust separated by a single crisp fold line; her long hair gathered in a low classical chignon with a thin printed ribbon and two loose strands; bare shoulders and arms as flat warm-skin planes with one darker shadow tone along her right side; slim, tall and perfectly still, her weight on her left foot, one arm raised holding the parasol and the other relaxed at her side; her hem and feet disappearing into the daisies, the pressed grass in front of her printed as a few flat dark strokes",
              "palette": [
                "#9E3B2E",
                "#E8B893",
                "#1E2A38"
              ]
            }
          },
          {
            "x": 0,
            "y": 956,
            "width": 896,
            "height": 196,
            "metadata": {
              "type": "obj",
              "text": "",
              "desc": "a full-width band of warm cream paper across the foot of the poster, printed flat with a single thin ochre rule along its top edge and no texture, holding the typography with generous air between the lines",
              "palette": [
                "#F3EADA",
                "#C6952F"
              ]
            }
          },
          {
            "x": 81,
            "y": 984,
            "width": 734,
            "height": 38,
            "metadata": {
              "type": "text",
              "text": "WHERE THE LIGHT LINGERS",
              "desc": "the title set in an elegant thin-stroke classical serif, all capitals with very wide letterspacing, ink navy, one line, centred in the band with generous air above and below; spelled exactly as written",
              "palette": [
                "#1E2A38"
              ]
            }
          },
          {
            "x": 134,
            "y": 1042,
            "width": 628,
            "height": 24,
            "metadata": {
              "type": "text",
              "text": "a meadow, a parasol, an unhurried summer",
              "desc": "a single lower-case line in a small italic serif, ochre ink, wide letterspacing, centred, the commas kept; spelled exactly as written",
              "palette": [
                "#C6952F"
              ]
            }
          },
          {
            "x": 197,
            "y": 1104,
            "width": 502,
            "height": 16,
            "metadata": {
              "type": "text",
              "text": "COMFY ORG",
              "desc": "a very small line of wide-tracked capitals in ink navy at the very foot of the band, centred; spelled exactly C O M F Y space O R G",
              "palette": [
                "#1E2A38"
              ]
            }
          }
        ],
        "last_incoming": []
      },
      "shape": 1
    },
    {
      "id": 92,
      "type": "PreviewAny",
      "pos": [
        -530,
        5650
      ],
      "size": [
        400,
        290
      ],
      "flags": {},
      "order": 7,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "source",
          "name": "source",
          "type": "*",
          "link": 214
        }
      ],
      "outputs": [
        {
          "localized_name": "STRING",
          "name": "STRING",
          "type": "STRING",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "PreviewAny",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [],
      "widgets_values_named": {},
      "shape": 1
    },
    {
      "id": 93,
      "type": "BuildJsonPromptIdeogram",
      "pos": [
        -530,
        5200
      ],
      "size": [
        400,
        290
      ],
      "flags": {},
      "order": 8,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "element",
          "name": "element",
          "type": "ARRAY",
          "link": 215
        },
        {
          "localized_name": "high_level_description",
          "name": "high_level_description",
          "type": "STRING",
          "widget": {
            "name": "high_level_description"
          },
          "link": null
        },
        {
          "localized_name": "background",
          "name": "background",
          "type": "STRING",
          "widget": {
            "name": "background"
          },
          "link": null
        },
        {
          "localized_name": "style",
          "name": "style",
          "type": "COMFY_DYNAMICCOMBO_V3",
          "widget": {
            "name": "style"
          },
          "link": null
        },
        {
          "localized_name": "art_style",
          "name": "style.art_style",
          "type": "STRING",
          "widget": {
            "name": "style.art_style"
          },
          "link": null
        },
        {
          "localized_name": "aesthetics",
          "name": "aesthetics",
          "type": "STRING",
          "widget": {
            "name": "aesthetics"
          },
          "link": null
        },
        {
          "localized_name": "lighting",
          "name": "lighting",
          "type": "STRING",
          "widget": {
            "name": "lighting"
          },
          "link": null
        },
        {
          "localized_name": "medium",
          "name": "medium",
          "type": "STRING",
          "widget": {
            "name": "medium"
          },
          "link": null
        },
        {
          "localized_name": "color_palette",
          "name": "color_palette",
          "type": "COLORS",
          "widget": {
            "name": "color_palette"
          },
          "link": null
        }
      ],
      "outputs": [
        {
          "localized_name": "prompt",
          "name": "prompt",
          "type": "DICT",
          "links": [
            216,
            1062
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "BuildJsonPromptIdeogram",
        "ue_properties": {
          "widget_ue_connectable": {
            "high_level_description": true,
            "background": true,
            "style": true,
            "style.art_style": true,
            "aesthetics": true,
            "lighting": true,
            "medium": true,
            "color_palette": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "A vintage screen-printed travel poster based on the input mountain lake composition. Simplify mountain ridges into layered midnight-blue and teal paper-cut silhouettes, keep the forest shoreline and lake reflection, use a pale warm cream sky and a coral sun near the upper right. Across the upper left the large navy headline reads \"ALPINE QUIET\". A small centered footer reads \"TAKE THE SCENIC ROUTE\". Retain the recognizable source geography, use crisp flat ink shapes and subtle paper grain.",
        "warm cream sky, layered teal mountain ridges, dark pine trees and calm reflective lake",
        "art_style",
        "vintage screen-print travel poster, flat ink shapes, paper grain",
        "quiet alpine travel, clear hierarchy",
        "warm even illustrated daylight",
        "graphic_design",
        [
          "#123849",
          "#327E84",
          "#F5EDD9",
          "#DA775C"
        ]
      ],
      "widgets_values_named": {
        "high_level_description": "A mid-century screen-print travel poster: a graceful classical woman in a long gown stands with her back to the camera under an open parasol in a meadow of white daisies, before a sunlit ochre facade pierced by three round-headed arches, the poster typography set in a cream band across the foot.",
        "background": "the poster environment: a tiled ochre facade pierced by three round-headed arches that open onto a flat pale-blue sky with one cream cloud bank; through the right arch a single tree; a daisy meadow filling the lower half of the frame",
        "style": "art_style",
        "style.art_style": "mid-century screen-print travel-poster illustration, flat unmodulated colour planes, hand-cut stencil edges, posterised simplification, slight ink misregistration, warm off-white paper stock with fine print grain; the figure printed in the same flat language with only two or three tones per form",
        "aesthetics": "mid-century modern, vintage travel poster, classical grace and stillness, elegant romantic figure, nostalgic, print-era, artful",
        "lighting": "hard late-afternoon sun from the upper right throwing one crisp diagonal shadow across the facade; bright even light over the meadow; the woman and her parasol reading as one clean silhouette against the pale blue sky; no gradients, no lens effects",
        "medium": "graphic_design",
        "color_palette": [
          "#E4B23C",
          "#2F5FA8",
          "#9E3B2E",
          "#8FA05A",
          "#F5F0E3",
          "#1E2A38"
        ]
      },
      "shape": 1
    },
    {
      "id": 94,
      "type": "PreviewAny",
      "pos": [
        10,
        5210
      ],
      "size": [
        490,
        330
      ],
      "flags": {},
      "order": 11,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "source",
          "name": "source",
          "type": "*",
          "link": 216
        }
      ],
      "outputs": [
        {
          "localized_name": "STRING",
          "name": "STRING",
          "type": "STRING",
          "links": []
        }
      ],
      "properties": {
        "Node name for S&R": "PreviewAny",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [],
      "widgets_values_named": {},
      "shape": 1
    },
    {
      "id": 98,
      "type": "PreviewImage",
      "pos": [
        20,
        5600
      ],
      "size": [
        490,
        370
      ],
      "flags": {},
      "order": 6,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE",
          "link": 225
        }
      ],
      "outputs": [
        {
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE",
          "links": [
            21005
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "PreviewImage",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "shape": 1
    },
    {
      "id": 101,
      "type": "MarkdownNote",
      "pos": [
        -1070,
        6170
      ],
      "size": [
        380,
        160
      ],
      "flags": {},
      "order": 3,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "properties": {
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "If you can't find the editor on the node canvas, please make sure you have enabled Nodes 2.0 to see the editor\n"
      ],
      "widgets_values_named": {
        "text": "If you can't find the editor on the node canvas, please make sure you have enabled Nodes 2.0 to see the editor\n"
      },
      "color": "#222",
      "bgcolor": "#000",
      "shape": 1
    },
    {
      "id": 250,
      "type": "PreviewAny",
      "pos": [
        1020,
        5180
      ],
      "size": [
        750,
        810
      ],
      "flags": {},
      "order": 13,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "source",
          "name": "source",
          "type": "*",
          "link": 1065
        }
      ],
      "outputs": [
        {
          "localized_name": "STRING",
          "name": "STRING",
          "type": "STRING",
          "slot_index": 0,
          "links": []
        }
      ],
      "title": "PreviewAny (Ming caption)",
      "properties": {
        "Node name for S&R": "PreviewAny",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [],
      "widgets_values_named": {},
      "shape": 1
    },
    {
      "id": 339,
      "type": "ae951efd-07f6-49cb-bfdb-0b8e3eee4cda",
      "pos": [
        630,
        5180
      ],
      "size": [
        340,
        120
      ],
      "flags": {},
      "order": 12,
      "mode": 0,
      "inputs": [
        {
          "name": "ideogram",
          "type": "DICT",
          "link": 1062
        },
        {
          "name": "elements",
          "type": "ARRAY",
          "link": 1063
        },
        {
          "name": "width",
          "type": "INT",
          "link": 1054
        },
        {
          "name": "height",
          "type": "INT",
          "link": 1055
        }
      ],
      "outputs": [
        {
          "localized_name": "STRING",
          "name": "caption",
          "type": "STRING",
          "links": [
            1065,
            21003
          ]
        }
      ],
      "properties": {
        "previewExposures": [],
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "shape": 1
    },
    {
      "id": 340,
      "type": "ImageStitch",
      "pos": [
        1890,
        5090
      ],
      "size": [
        270,
        150
      ],
      "flags": {},
      "order": 10,
      "mode": 0,
      "showAdvanced": false,
      "inputs": [
        {
          "localized_name": "image1",
          "name": "image1",
          "type": "IMAGE",
          "link": 21004
        },
        {
          "localized_name": "image2",
          "name": "image2",
          "shape": 7,
          "type": "IMAGE",
          "link": 21005
        },
        {
          "localized_name": "direction",
          "name": "direction",
          "type": "COMBO",
          "widget": {
            "name": "direction"
          },
          "link": null
        },
        {
          "localized_name": "match_image_size",
          "name": "match_image_size",
          "type": "BOOLEAN",
          "widget": {
            "name": "match_image_size"
          },
          "link": null
        },
        {
          "localized_name": "spacing_width",
          "name": "spacing_width",
          "type": "INT",
          "widget": {
            "name": "spacing_width"
          },
          "link": null
        },
        {
          "localized_name": "spacing_color",
          "name": "spacing_color",
          "type": "COMBO",
          "widget": {
            "name": "spacing_color"
          },
          "link": null
        }
      ],
      "outputs": [
        {
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            21008
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "ImageStitch",
        "ue_properties": {
          "widget_ue_connectable": {
            "direction": true,
            "match_image_size": true,
            "spacing_width": true,
            "spacing_color": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "right",
        true,
        0,
        "white"
      ],
      "widgets_values_named": {
        "direction": "right",
        "match_image_size": true,
        "spacing_width": 0,
        "spacing_color": "white"
      },
      "shape": 1
    },
    {
      "id": 341,
      "type": "ImageStitch",
      "pos": [
        1900,
        5290
      ],
      "size": [
        270,
        150
      ],
      "flags": {},
      "order": 16,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "image1",
          "name": "image1",
          "type": "IMAGE",
          "link": 21008
        },
        {
          "localized_name": "image2",
          "name": "image2",
          "shape": 7,
          "type": "IMAGE",
          "link": 21011
        },
        {
          "localized_name": "direction",
          "name": "direction",
          "type": "COMBO",
          "widget": {
            "name": "direction"
          },
          "link": null
        },
        {
          "localized_name": "match_image_size",
          "name": "match_image_size",
          "type": "BOOLEAN",
          "widget": {
            "name": "match_image_size"
          },
          "link": null
        },
        {
          "localized_name": "spacing_width",
          "name": "spacing_width",
          "type": "INT",
          "widget": {
            "name": "spacing_width"
          },
          "link": null
        },
        {
          "localized_name": "spacing_color",
          "name": "spacing_color",
          "type": "COMBO",
          "widget": {
            "name": "spacing_color"
          },
          "link": null
        }
      ],
      "outputs": [
        {
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            21009
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "ImageStitch",
        "ue_properties": {
          "widget_ue_connectable": {
            "direction": true,
            "match_image_size": true,
            "spacing_width": true,
            "spacing_color": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "right",
        true,
        0,
        "white"
      ],
      "widgets_values_named": {
        "direction": "right",
        "match_image_size": true,
        "spacing_width": 0,
        "spacing_color": "white"
      },
      "shape": 1
    },
    {
      "id": 342,
      "type": "PreviewImage",
      "pos": [
        2070,
        4430
      ],
      "size": [
        720,
        600
      ],
      "flags": {},
      "order": 17,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE",
          "link": 21009
        }
      ],
      "outputs": [
        {
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE",
          "links": []
        }
      ],
      "properties": {
        "Node name for S&R": "PreviewImage",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "shape": 1
    },
    {
      "id": 344,
      "type": "SaveImageAdvanced",
      "pos": [
        1210,
        4420
      ],
      "size": [
        630,
        130
      ],
      "flags": {},
      "order": 15,
      "mode": 0,
      "inputs": [
        {
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE",
          "link": 21010
        },
        {
          "localized_name": "filename_prefix",
          "name": "filename_prefix",
          "type": "STRING",
          "widget": {
            "name": "filename_prefix"
          },
          "link": null
        },
        {
          "localized_name": "format",
          "name": "format",
          "type": "COMFY_DYNAMICCOMBO_V3",
          "widget": {
            "name": "format"
          },
          "link": null
        },
        {
          "localized_name": "bit_depth",
          "name": "format.bit_depth",
          "type": "COMBO",
          "widget": {
            "name": "format.bit_depth"
          },
          "link": null
        },
        {
          "localized_name": "input_color_space",
          "name": "format.input_color_space",
          "type": "COMBO",
          "widget": {
            "name": "format.input_color_space"
          },
          "link": null
        }
      ],
      "outputs": [
        {
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE",
          "links": [
            21011
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "SaveImageAdvanced",
        "ue_properties": {
          "widget_ue_connectable": {
            "filename_prefix": true,
            "format": true,
            "format.bit_depth": true,
            "format.input_color_space": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "syntheticlabs-20261102/220409/ming-image-0-1-design-comfyui-image-edit",
        "png",
        "8-bit",
        "sRGB"
      ],
      "widgets_values_named": {
        "filename_prefix": "Ming_Image",
        "format": "png",
        "format.bit_depth": "8-bit",
        "format.input_color_space": "sRGB"
      },
      "shape": 1
    }
  ],
  "links": [
    [
      210,
      83,
      0,
      81,
      0,
      "IMAGE"
    ],
    [
      205,
      81,
      0,
      80,
      9,
      "INT"
    ],
    [
      206,
      81,
      1,
      80,
      10,
      "INT"
    ],
    [
      214,
      91,
      1,
      92,
      0,
      "BOUNDING_BOX"
    ],
    [
      216,
      93,
      0,
      94,
      0,
      "DICT"
    ],
    [
      225,
      91,
      0,
      98,
      0,
      "IMAGE"
    ],
    [
      228,
      49,
      0,
      91,
      0,
      "IMAGE"
    ],
    [
      229,
      49,
      0,
      80,
      0,
      "IMAGE"
    ],
    [
      1062,
      93,
      0,
      339,
      0,
      "DICT"
    ],
    [
      1063,
      91,
      2,
      339,
      1,
      "ARRAY"
    ],
    [
      1065,
      339,
      0,
      250,
      0,
      "STRING"
    ],
    [
      1054,
      81,
      0,
      339,
      2,
      "INT"
    ],
    [
      1055,
      81,
      1,
      339,
      3,
      "INT"
    ],
    [
      21003,
      339,
      0,
      80,
      8,
      "STRING"
    ],
    [
      21004,
      49,
      0,
      340,
      0,
      "IMAGE"
    ],
    [
      21005,
      98,
      0,
      340,
      1,
      "IMAGE"
    ],
    [
      21008,
      340,
      0,
      341,
      0,
      "IMAGE"
    ],
    [
      21009,
      341,
      0,
      342,
      0,
      "IMAGE"
    ],
    [
      21011,
      344,
      0,
      341,
      1,
      "IMAGE"
    ],
    [
      231,
      49,
      0,
      83,
      0,
      "IMAGE"
    ],
    [
      215,
      91,
      2,
      93,
      0,
      "ARRAY"
    ],
    [
      21010,
      80,
      0,
      344,
      0,
      "IMAGE"
    ]
  ],
  "groups": [
    {
      "id": 5,
      "title": "Match Input size",
      "bounding": [
        220,
        4510,
        340,
        550
      ],
      "color": "#3f789e",
      "flags": {}
    },
    {
      "id": 6,
      "title": "Build JSON Prompt",
      "bounding": [
        -1090,
        5100,
        1670,
        1010
      ],
      "color": "#444",
      "flags": {}
    },
    {
      "id": 14,
      "title": "Convert Ideogram JSON to Ming Caption",
      "bounding": [
        610,
        5100,
        1210,
        1010
      ],
      "color": "#444",
      "flags": {}
    }
  ],
  "definitions": {
    "subgraphs": [
      {
        "id": "4522b5d6-7f71-4b60-8fab-1e6ffbd5f1c1",
        "version": 1,
        "state": {
          "lastGroupId": 16,
          "lastNodeId": 344,
          "lastLinkId": 21011,
          "lastRerouteId": 0
        },
        "revision": 0,
        "config": {},
        "name": "Image Edit (Ming Image 0.1 Design)",
        "inputNode": {
          "id": -10,
          "bounding": [
            -1870,
            4270,
            192.791015625,
            408
          ]
        },
        "outputNode": {
          "id": -20,
          "bounding": [
            1080,
            4391,
            128,
            68
          ]
        },
        "inputs": [
          {
            "id": "408f2cc7-5712-48b0-9eed-68f5c06e439b",
            "name": "images.image_1",
            "type": "IMAGE",
            "linkIds": [
              176
            ],
            "localized_name": "image_1",
            "shape": 7,
            "pos": [
              -1701.208984375,
              4294
            ]
          },
          {
            "id": "22d50a21-209b-4643-9888-7d2e88c766b9",
            "name": "images.image_2",
            "type": "IMAGE",
            "linkIds": [
              179
            ],
            "label": "image_2",
            "pos": [
              -1701.208984375,
              4314
            ]
          },
          {
            "id": "4257d9d7-c2d5-43ed-9185-ee024155098f",
            "name": "images.image_3",
            "type": "IMAGE",
            "linkIds": [
              180
            ],
            "label": "image_3",
            "pos": [
              -1701.208984375,
              4334
            ]
          },
          {
            "id": "21a06ccc-d949-46e3-8cf7-961d5de4893e",
            "name": "images.image_4",
            "type": "IMAGE",
            "linkIds": [
              181
            ],
            "label": "image_4",
            "pos": [
              -1701.208984375,
              4354
            ]
          },
          {
            "id": "8264a1ad-b10b-4ed4-ae4d-f1de1d400433",
            "name": "images.image_5",
            "type": "IMAGE",
            "linkIds": [
              182
            ],
            "label": "image_5",
            "pos": [
              -1701.208984375,
              4374
            ]
          },
          {
            "id": "9d06ea6b-b7c0-4f0d-8030-65eb98738bdb",
            "name": "images.image_6",
            "type": "IMAGE",
            "linkIds": [
              183
            ],
            "label": "image_6",
            "pos": [
              -1701.208984375,
              4394
            ]
          },
          {
            "id": "5c9dced9-5396-4a9d-aab1-698b074cd9e8",
            "name": "images.image_7",
            "type": "IMAGE",
            "linkIds": [
              186
            ],
            "label": "image_7",
            "pos": [
              -1701.208984375,
              4414
            ]
          },
          {
            "id": "1cbc3df5-2d4d-4d4a-a38c-f5203c149432",
            "name": "images.image_8",
            "type": "IMAGE",
            "linkIds": [
              187
            ],
            "label": "image_8",
            "pos": [
              -1701.208984375,
              4434
            ]
          },
          {
            "id": "961d7784-231c-4883-a139-f29aae4d7456",
            "name": "prompt",
            "type": "STRING",
            "linkIds": [
              189
            ],
            "pos": [
              -1701.208984375,
              4454
            ]
          },
          {
            "id": "34314f99-6aca-4220-a8b5-3183de312e9a",
            "name": "value",
            "type": "INT",
            "linkIds": [
              191
            ],
            "label": "width",
            "pos": [
              -1701.208984375,
              4474
            ]
          },
          {
            "id": "25c60db8-8800-47cc-8cef-0854bdcb17a4",
            "name": "value_1",
            "type": "INT",
            "linkIds": [
              192
            ],
            "label": "height",
            "pos": [
              -1701.208984375,
              4494
            ]
          },
          {
            "id": "36ce6d7a-d857-46c3-b64f-185400f24608",
            "name": "noise_seed",
            "type": "INT",
            "linkIds": [
              193
            ],
            "pos": [
              -1701.208984375,
              4514
            ]
          },
          {
            "id": "5c0cb8df-1ba1-4a71-b902-6e58e199a88a",
            "name": "scheduler",
            "type": "COMBO",
            "linkIds": [
              195
            ],
            "pos": [
              -1701.208984375,
              4534
            ]
          },
          {
            "id": "79fe53b1-fd35-4588-b2b6-f2cad2871cd6",
            "name": "steps",
            "type": "INT",
            "linkIds": [
              196
            ],
            "pos": [
              -1701.208984375,
              4554
            ]
          },
          {
            "id": "a0b71631-41f8-46e0-b99d-9b09d8377077",
            "name": "unet_name",
            "type": "COMBO",
            "linkIds": [
              200
            ],
            "pos": [
              -1701.208984375,
              4574
            ]
          },
          {
            "id": "a053ff7b-b9e0-4f8b-b360-a1def0a8be56",
            "name": "vae_name",
            "type": "COMBO",
            "linkIds": [
              201
            ],
            "pos": [
              -1701.208984375,
              4594
            ]
          },
          {
            "id": "98a8b756-ad95-438c-8642-b3d3954b8062",
            "name": "type",
            "type": "COMBO",
            "linkIds": [
              202
            ],
            "pos": [
              -1701.208984375,
              4614
            ]
          },
          {
            "id": "aa159b85-8fdb-4529-b846-a3831305f77f",
            "name": "attention_1",
            "type": "COMBO",
            "linkIds": [
              203
            ],
            "label": "model_attention_backend",
            "pos": [
              -1701.208984375,
              4634
            ]
          }
        ],
        "outputs": [
          {
            "id": "4ed7b8dc-e4c2-403f-9f02-efe7ea678388",
            "name": "IMAGE",
            "type": "IMAGE",
            "linkIds": [
              127
            ],
            "localized_name": "IMAGE",
            "pos": [
              1104,
              4415
            ]
          }
        ],
        "widgets": [],
        "nodes": [
          {
            "id": 1,
            "type": "UNETLoader",
            "pos": [
              -1410,
              4080
            ],
            "size": [
              470,
              90
            ],
            "flags": {},
            "order": 1,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "unet_name",
                "name": "unet_name",
                "type": "COMBO",
                "widget": {
                  "name": "unet_name"
                },
                "link": 200
              },
              {
                "localized_name": "weight_dtype",
                "name": "weight_dtype",
                "type": "COMBO",
                "widget": {
                  "name": "weight_dtype"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "MODEL",
                "name": "MODEL",
                "type": "MODEL",
                "links": [
                  142
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "UNETLoader",
              "models": [
                {
                  "name": "ming_image_0.1_design_int8_convrot.safetensors",
                  "url": "https://huggingface.co/Comfy-Org/Ming-Image/resolve/main/diffusion_models/ming_image_0.1_design_int8_convrot.safetensors",
                  "directory": "diffusion_models"
                }
              ],
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "ming_image_0.1_design_int8_convrot.safetensors",
              "default"
            ],
            "widgets_values_named": {
              "unet_name": "ming_image_0.1_design_int8_convrot.safetensors",
              "weight_dtype": "default"
            },
            "color": "#223",
            "bgcolor": "#335"
          },
          {
            "id": 14,
            "type": "VAELoader",
            "pos": [
              -1410,
              4240
            ],
            "size": [
              470,
              70
            ],
            "flags": {},
            "order": 3,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "vae_name",
                "name": "vae_name",
                "type": "COMBO",
                "widget": {
                  "name": "vae_name"
                },
                "link": 201
              }
            ],
            "outputs": [
              {
                "localized_name": "VAE",
                "name": "VAE",
                "type": "VAE",
                "links": [
                  21,
                  185
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "VAELoader",
              "models": [
                {
                  "name": "ming_image_vae_bf16.safetensors",
                  "url": "https://huggingface.co/Comfy-Org/Ming-Image/resolve/main/vae/ming_image_vae_bf16.safetensors",
                  "directory": "vae"
                }
              ],
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "ming_image_vae_bf16.safetensors"
            ],
            "widgets_values_named": {
              "vae_name": "ming_image_vae_bf16.safetensors"
            },
            "color": "#322",
            "bgcolor": "#533"
          },
          {
            "id": 57,
            "type": "TextEncodeMingImageEdit",
            "pos": [
              -820,
              4090
            ],
            "size": [
              380,
              430
            ],
            "flags": {},
            "order": 10,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "clip",
                "name": "clip",
                "type": "CLIP",
                "link": 123
              },
              {
                "localized_name": "image_1",
                "name": "images.image_1",
                "shape": 7,
                "type": "IMAGE",
                "link": 176
              },
              {
                "localized_name": "image_2",
                "name": "images.image_2",
                "shape": 7,
                "type": "IMAGE",
                "link": 179
              },
              {
                "localized_name": "image_3",
                "name": "images.image_3",
                "shape": 7,
                "type": "IMAGE",
                "link": 180
              },
              {
                "localized_name": "image_4",
                "name": "images.image_4",
                "shape": 7,
                "type": "IMAGE",
                "link": 181
              },
              {
                "localized_name": "image_5",
                "name": "images.image_5",
                "shape": 7,
                "type": "IMAGE",
                "link": 182
              },
              {
                "localized_name": "image_6",
                "name": "images.image_6",
                "shape": 7,
                "type": "IMAGE",
                "link": 183
              },
              {
                "localized_name": "image_7",
                "name": "images.image_7",
                "shape": 7,
                "type": "IMAGE",
                "link": 186
              },
              {
                "localized_name": "image_8",
                "name": "images.image_8",
                "shape": 7,
                "type": "IMAGE",
                "link": 187
              },
              {
                "localized_name": "vae",
                "name": "vae",
                "shape": 7,
                "type": "VAE",
                "link": 185
              },
              {
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                },
                "link": 189
              }
            ],
            "outputs": [
              {
                "localized_name": "CONDITIONING",
                "name": "CONDITIONING",
                "type": "CONDITIONING",
                "links": [
                  164
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "TextEncodeMingImageEdit",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              ""
            ],
            "widgets_values_named": {
              "prompt": ""
            }
          },
          {
            "id": 23,
            "type": "CLIPLoader",
            "pos": [
              -1410,
              4380
            ],
            "size": [
              470,
              120
            ],
            "flags": {},
            "order": 6,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "clip_name",
                "name": "clip_name",
                "type": "COMBO",
                "widget": {
                  "name": "clip_name"
                },
                "link": null
              },
              {
                "localized_name": "type",
                "name": "type",
                "type": "COMBO",
                "widget": {
                  "name": "type"
                },
                "link": 202
              },
              {
                "localized_name": "device",
                "name": "device",
                "shape": 7,
                "type": "COMBO",
                "widget": {
                  "name": "device"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "CLIP",
                "name": "CLIP",
                "type": "CLIP",
                "links": [
                  123
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "CLIPLoader",
              "models": [
                {
                  "name": "ming_image_0.1_ling_mini_2.0_int8_convrot.safetensors",
                  "url": "https://huggingface.co/Comfy-Org/Ming-Image/resolve/main/text_encoders/ming_image_0.1_ling_mini_2.0_int8_convrot.safetensors",
                  "directory": "text_encoders"
                }
              ],
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "ming_image_0.1_ling_mini_2.0_int8_convrot.safetensors",
              "qwen_image",
              "default"
            ],
            "widgets_values_named": {
              "clip_name": "ming_image_0.1_ling_mini_2.0_int8_convrot.safetensors",
              "type": "qwen_image",
              "device": "default"
            },
            "color": "#432",
            "bgcolor": "#653"
          },
          {
            "id": 42,
            "type": "ModelSamplingFlux",
            "pos": [
              -320,
              4320
            ],
            "size": [
              270,
              130
            ],
            "flags": {
              "collapsed": false
            },
            "order": 9,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "model",
                "name": "model",
                "type": "MODEL",
                "link": 143
              },
              {
                "localized_name": "max_shift",
                "name": "max_shift",
                "type": "FLOAT",
                "widget": {
                  "name": "max_shift"
                },
                "link": null
              },
              {
                "localized_name": "base_shift",
                "name": "base_shift",
                "type": "FLOAT",
                "widget": {
                  "name": "base_shift"
                },
                "link": null
              },
              {
                "localized_name": "width",
                "name": "width",
                "type": "INT",
                "widget": {
                  "name": "width"
                },
                "link": 173
              },
              {
                "localized_name": "height",
                "name": "height",
                "type": "INT",
                "widget": {
                  "name": "height"
                },
                "link": 175
              }
            ],
            "outputs": [
              {
                "localized_name": "MODEL",
                "name": "MODEL",
                "type": "MODEL",
                "links": [
                  81,
                  163
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "ModelSamplingFlux",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              1.15,
              0.5,
              1536,
              1536
            ],
            "widgets_values_named": {
              "max_shift": 1.15,
              "base_shift": 0.5,
              "width": 1536,
              "height": 1536
            }
          },
          {
            "id": 68,
            "type": "ModelAttentionBackend",
            "pos": [
              -330,
              4180
            ],
            "size": [
              270,
              60
            ],
            "flags": {},
            "order": 11,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "model",
                "name": "model",
                "type": "MODEL",
                "link": 142
              },
              {
                "localized_name": "backend",
                "name": "attention",
                "type": "COMBO",
                "widget": {
                  "name": "attention"
                },
                "link": 203
              }
            ],
            "outputs": [
              {
                "localized_name": "model",
                "name": "model",
                "type": "MODEL",
                "links": [
                  143
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "ModelAttentionBackend",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "comfy kitchen attention"
            ],
            "widgets_values_named": {
              "attention": "comfy kitchen attention"
            }
          },
          {
            "id": 21,
            "type": "BasicScheduler",
            "pos": [
              30,
              4470
            ],
            "size": [
              270,
              120
            ],
            "flags": {},
            "order": 5,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "model",
                "name": "model",
                "type": "MODEL",
                "link": 81
              },
              {
                "localized_name": "scheduler",
                "name": "scheduler",
                "type": "COMBO",
                "widget": {
                  "name": "scheduler"
                },
                "link": 195
              },
              {
                "localized_name": "steps",
                "name": "steps",
                "type": "INT",
                "widget": {
                  "name": "steps"
                },
                "link": 196
              },
              {
                "localized_name": "denoise",
                "name": "denoise",
                "type": "FLOAT",
                "widget": {
                  "name": "denoise"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "SIGMAS",
                "name": "SIGMAS",
                "type": "SIGMAS",
                "links": [
                  67
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "BasicScheduler",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "simple",
              12,
              1
            ],
            "widgets_values_named": {
              "scheduler": "simple",
              "steps": 12,
              "denoise": 1
            }
          },
          {
            "id": 26,
            "type": "RandomNoise",
            "pos": [
              30,
              3990
            ],
            "size": [
              270,
              90
            ],
            "flags": {},
            "order": 7,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "noise_seed",
                "name": "noise_seed",
                "type": "INT",
                "widget": {
                  "name": "noise_seed"
                },
                "link": 193
              }
            ],
            "outputs": [
              {
                "localized_name": "NOISE",
                "name": "NOISE",
                "type": "NOISE",
                "links": [
                  38
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RandomNoise",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              56,
              "randomize"
            ],
            "widgets_values_named": {
              "noise_seed": 56,
              "control_after_generate": "randomize"
            }
          },
          {
            "id": 41,
            "type": "EmptyLatentImage",
            "pos": [
              -830,
              4740
            ],
            "size": [
              270,
              110
            ],
            "flags": {
              "collapsed": false
            },
            "order": 8,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "width",
                "name": "width",
                "type": "INT",
                "widget": {
                  "name": "width"
                },
                "link": 172
              },
              {
                "localized_name": "height",
                "name": "height",
                "type": "INT",
                "widget": {
                  "name": "height"
                },
                "link": 174
              },
              {
                "localized_name": "batch_size",
                "name": "batch_size",
                "type": "INT",
                "widget": {
                  "name": "batch_size"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "LATENT",
                "name": "LATENT",
                "type": "LATENT",
                "links": [
                  158
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "EmptyLatentImage",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              1024,
              2048,
              1
            ],
            "widgets_values_named": {
              "width": 1024,
              "height": 2048,
              "batch_size": 1
            },
            "color": "#323",
            "bgcolor": "#535"
          },
          {
            "id": 75,
            "type": "SamplerLCM",
            "pos": [
              30,
              4280
            ],
            "size": [
              270,
              110
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "s_noise",
                "name": "s_noise",
                "type": "FLOAT",
                "widget": {
                  "name": "s_noise"
                },
                "link": null
              },
              {
                "localized_name": "s_noise_end",
                "name": "s_noise_end",
                "type": "FLOAT",
                "widget": {
                  "name": "s_noise_end"
                },
                "link": null
              },
              {
                "localized_name": "noise_clip_std",
                "name": "noise_clip_std",
                "type": "FLOAT",
                "widget": {
                  "name": "noise_clip_std"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "SAMPLER",
                "name": "SAMPLER",
                "type": "SAMPLER",
                "links": [
                  162
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "SamplerLCM",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              1.02,
              1,
              0
            ],
            "widgets_values_named": {
              "s_noise": 1.02,
              "s_noise_end": 1,
              "noise_clip_std": 0
            }
          },
          {
            "id": 76,
            "type": "BasicGuider",
            "pos": [
              30,
              4150
            ],
            "size": [
              270,
              50
            ],
            "flags": {},
            "order": 12,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "model",
                "name": "model",
                "type": "MODEL",
                "link": 163
              },
              {
                "localized_name": "conditioning",
                "name": "conditioning",
                "type": "CONDITIONING",
                "link": 164
              }
            ],
            "outputs": [
              {
                "localized_name": "GUIDER",
                "name": "GUIDER",
                "type": "GUIDER",
                "links": [
                  165
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "BasicGuider",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            }
          },
          {
            "id": 78,
            "type": "PrimitiveInt",
            "pos": [
              -1410,
              4700
            ],
            "size": [
              270,
              90
            ],
            "flags": {},
            "order": 13,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "value",
                "name": "value",
                "type": "INT",
                "widget": {
                  "name": "value"
                },
                "link": 191
              }
            ],
            "outputs": [
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "links": [
                  172,
                  173
                ]
              }
            ],
            "title": "Int (Width)",
            "properties": {
              "Node name for S&R": "PrimitiveInt",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              1024,
              "fixed"
            ],
            "widgets_values_named": {
              "value": 1024,
              "control_after_generate": "fixed"
            }
          },
          {
            "id": 79,
            "type": "PrimitiveInt",
            "pos": [
              -1410,
              4830
            ],
            "size": [
              270,
              90
            ],
            "flags": {},
            "order": 14,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "value",
                "name": "value",
                "type": "INT",
                "widget": {
                  "name": "value"
                },
                "link": 192
              }
            ],
            "outputs": [
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "links": [
                  174,
                  175
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "PrimitiveInt",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              1024,
              "fixed"
            ],
            "widgets_values_named": {
              "value": 1024,
              "control_after_generate": "fixed"
            }
          },
          {
            "id": 3,
            "type": "SamplerCustomAdvanced",
            "pos": [
              390,
              3990
            ],
            "size": [
              310,
              420
            ],
            "flags": {},
            "order": 2,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "noise",
                "name": "noise",
                "type": "NOISE",
                "link": 38
              },
              {
                "localized_name": "guider",
                "name": "guider",
                "type": "GUIDER",
                "link": 165
              },
              {
                "localized_name": "sampler",
                "name": "sampler",
                "type": "SAMPLER",
                "link": 162
              },
              {
                "localized_name": "sigmas",
                "name": "sigmas",
                "type": "SIGMAS",
                "link": 67
              },
              {
                "localized_name": "latent_image",
                "name": "latent_image",
                "type": "LATENT",
                "link": 158
              }
            ],
            "outputs": [
              {
                "localized_name": "output",
                "name": "output",
                "type": "LATENT",
                "links": [
                  159
                ]
              },
              {
                "localized_name": "denoised_output",
                "name": "denoised_output",
                "type": "LATENT",
                "links": null
              }
            ],
            "properties": {
              "Node name for S&R": "SamplerCustomAdvanced",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            }
          },
          {
            "id": 15,
            "type": "VAEDecode",
            "pos": [
              790,
              3990
            ],
            "size": [
              230,
              60
            ],
            "flags": {},
            "order": 4,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "samples",
                "name": "samples",
                "type": "LATENT",
                "link": 159
              },
              {
                "localized_name": "vae",
                "name": "vae",
                "type": "VAE",
                "link": 21
              }
            ],
            "outputs": [
              {
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE",
                "links": [
                  127
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "VAEDecode",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#322",
            "bgcolor": "#533"
          }
        ],
        "groups": [
          {
            "id": 2,
            "title": "Conditioning",
            "bounding": [
              -900,
              3920,
              530,
              680
            ],
            "color": "#3f789e",
            "flags": {}
          },
          {
            "id": 3,
            "title": "Models",
            "bounding": [
              -1420,
              3920,
              490,
              680
            ],
            "color": "#3f789e",
            "flags": {}
          },
          {
            "id": 4,
            "title": "Size",
            "bounding": [
              -1420,
              4630,
              1050,
              300
            ],
            "color": "#3f789e",
            "flags": {}
          },
          {
            "id": 1,
            "title": "Sampling",
            "bounding": [
              -340,
              3920,
              1070,
              680
            ],
            "color": "#3f789e",
            "flags": {}
          }
        ],
        "links": [
          {
            "id": 143,
            "origin_id": 68,
            "origin_slot": 0,
            "target_id": 42,
            "target_slot": 0,
            "type": "MODEL"
          },
          {
            "id": 142,
            "origin_id": 1,
            "origin_slot": 0,
            "target_id": 68,
            "target_slot": 0,
            "type": "MODEL"
          },
          {
            "id": 81,
            "origin_id": 42,
            "origin_slot": 0,
            "target_id": 21,
            "target_slot": 0,
            "type": "MODEL"
          },
          {
            "id": 172,
            "origin_id": 78,
            "origin_slot": 0,
            "target_id": 41,
            "target_slot": 0,
            "type": "INT"
          },
          {
            "id": 174,
            "origin_id": 79,
            "origin_slot": 0,
            "target_id": 41,
            "target_slot": 1,
            "type": "INT"
          },
          {
            "id": 163,
            "origin_id": 42,
            "origin_slot": 0,
            "target_id": 76,
            "target_slot": 0,
            "type": "MODEL"
          },
          {
            "id": 164,
            "origin_id": 57,
            "origin_slot": 0,
            "target_id": 76,
            "target_slot": 1,
            "type": "CONDITIONING"
          },
          {
            "id": 38,
            "origin_id": 26,
            "origin_slot": 0,
            "target_id": 3,
            "target_slot": 0,
            "type": "NOISE"
          },
          {
            "id": 165,
            "origin_id": 76,
            "origin_slot": 0,
            "target_id": 3,
            "target_slot": 1,
            "type": "GUIDER"
          },
          {
            "id": 162,
            "origin_id": 75,
            "origin_slot": 0,
            "target_id": 3,
            "target_slot": 2,
            "type": "SAMPLER"
          },
          {
            "id": 67,
            "origin_id": 21,
            "origin_slot": 0,
            "target_id": 3,
            "target_slot": 3,
            "type": "SIGMAS"
          },
          {
            "id": 158,
            "origin_id": 41,
            "origin_slot": 0,
            "target_id": 3,
            "target_slot": 4,
            "type": "LATENT"
          },
          {
            "id": 159,
            "origin_id": 3,
            "origin_slot": 0,
            "target_id": 15,
            "target_slot": 0,
            "type": "LATENT"
          },
          {
            "id": 21,
            "origin_id": 14,
            "origin_slot": 0,
            "target_id": 15,
            "target_slot": 1,
            "type": "VAE"
          },
          {
            "id": 127,
            "origin_id": 15,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 191,
            "origin_id": -10,
            "origin_slot": 9,
            "target_id": 78,
            "target_slot": 0,
            "type": "INT"
          },
          {
            "id": 192,
            "origin_id": -10,
            "origin_slot": 10,
            "target_id": 79,
            "target_slot": 0,
            "type": "INT"
          },
          {
            "id": 193,
            "origin_id": -10,
            "origin_slot": 11,
            "target_id": 26,
            "target_slot": 0,
            "type": "INT"
          },
          {
            "id": 195,
            "origin_id": -10,
            "origin_slot": 12,
            "target_id": 21,
            "target_slot": 1,
            "type": "COMBO"
          },
          {
            "id": 196,
            "origin_id": -10,
            "origin_slot": 13,
            "target_id": 21,
            "target_slot": 2,
            "type": "INT"
          },
          {
            "id": 200,
            "origin_id": -10,
            "origin_slot": 14,
            "target_id": 1,
            "target_slot": 0,
            "type": "COMBO"
          },
          {
            "id": 201,
            "origin_id": -10,
            "origin_slot": 15,
            "target_id": 14,
            "target_slot": 0,
            "type": "COMBO"
          },
          {
            "id": 203,
            "origin_id": -10,
            "origin_slot": 17,
            "target_id": 68,
            "target_slot": 1,
            "type": "COMBO"
          },
          {
            "id": 202,
            "origin_id": -10,
            "origin_slot": 16,
            "target_id": 23,
            "target_slot": 1,
            "type": "COMBO"
          },
          {
            "id": 173,
            "origin_id": 78,
            "origin_slot": 0,
            "target_id": 42,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 175,
            "origin_id": 79,
            "origin_slot": 0,
            "target_id": 42,
            "target_slot": 4,
            "type": "INT"
          },
          {
            "id": 123,
            "origin_id": 23,
            "origin_slot": 0,
            "target_id": 57,
            "target_slot": 0,
            "type": "CLIP"
          },
          {
            "id": 176,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 57,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 179,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 57,
            "target_slot": 2,
            "type": "IMAGE"
          },
          {
            "id": 180,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 57,
            "target_slot": 3,
            "type": "IMAGE"
          },
          {
            "id": 181,
            "origin_id": -10,
            "origin_slot": 3,
            "target_id": 57,
            "target_slot": 4,
            "type": "IMAGE"
          },
          {
            "id": 182,
            "origin_id": -10,
            "origin_slot": 4,
            "target_id": 57,
            "target_slot": 5,
            "type": "IMAGE"
          },
          {
            "id": 183,
            "origin_id": -10,
            "origin_slot": 5,
            "target_id": 57,
            "target_slot": 6,
            "type": "IMAGE"
          },
          {
            "id": 186,
            "origin_id": -10,
            "origin_slot": 6,
            "target_id": 57,
            "target_slot": 7,
            "type": "IMAGE"
          },
          {
            "id": 187,
            "origin_id": -10,
            "origin_slot": 7,
            "target_id": 57,
            "target_slot": 8,
            "type": "IMAGE"
          },
          {
            "id": 185,
            "origin_id": 14,
            "origin_slot": 0,
            "target_id": 57,
            "target_slot": 9,
            "type": "VAE"
          },
          {
            "id": 189,
            "origin_id": -10,
            "origin_slot": 8,
            "target_id": 57,
            "target_slot": 10,
            "type": "STRING"
          }
        ],
        "extra": {}
      },
      {
        "id": "ffddfd05-3899-4ab3-ab2f-fdc661b4f3ed",
        "version": 1,
        "state": {
          "lastGroupId": 16,
          "lastNodeId": 344,
          "lastLinkId": 21011,
          "lastRerouteId": 0
        },
        "revision": 0,
        "config": {},
        "name": "Aspect Ratio (gcd-reduced)",
        "inputNode": {
          "id": -10,
          "bounding": [
            -620,
            60,
            200,
            190
          ]
        },
        "outputNode": {
          "id": -20,
          "bounding": [
            3520,
            120,
            130,
            70
          ]
        },
        "inputs": [
          {
            "id": "6e024067-cb1a-4b79-b9e4-1d503ee0346e",
            "name": "width",
            "type": "INT",
            "linkIds": [
              9000,
              9002,
              9018,
              9023
            ],
            "pos": [
              -580,
              110
            ]
          },
          {
            "id": "7a5849d1-54ea-4c58-bada-faa7bd6d9fab",
            "name": "height",
            "type": "INT",
            "linkIds": [
              9001,
              9003,
              9019,
              9024
            ],
            "pos": [
              -580,
              180
            ]
          }
        ],
        "outputs": [
          {
            "id": "74f7d7f2-136d-435c-8dda-7ed4a1e03b9f",
            "name": "STRING",
            "type": "STRING",
            "linkIds": [
              9025
            ],
            "localized_name": "STRING",
            "pos": [
              3540,
              155
            ]
          }
        ],
        "widgets": [],
        "nodes": [
          {
            "id": 324,
            "type": "CreateList",
            "pos": [
              0,
              0
            ],
            "size": [
              310,
              160
            ],
            "flags": {},
            "order": 1,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "input0",
                "name": "inputs.input0",
                "type": "*",
                "link": 9000
              },
              {
                "localized_name": "input1",
                "name": "inputs.input1",
                "shape": 7,
                "type": "*",
                "link": 9001
              },
              {
                "localized_name": "input2",
                "name": "inputs.input2",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "list",
                "name": "list",
                "shape": 6,
                "type": "*",
                "slot_index": 0,
                "links": [
                  9004
                ]
              }
            ],
            "title": "Create List (aspect ratio: width + height)",
            "properties": {
              "Node name for S&R": "CreateList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 337,
            "type": "ComfyMathExpression",
            "pos": [
              0,
              220
            ],
            "size": [
              470,
              150
            ],
            "flags": {},
            "order": 13,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9002
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9003
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": []
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": [
                  9005
                ]
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "title": "Math Expression (loop iterations: ceil(1.5 × log2(max(w, h))) + 2)",
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "ceil(1.5 * log2(max(a, b))) + 2"
            ],
            "widgets_values_named": {
              "expression": "ceil(1.5 * log2(max(a, b))) + 2"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 325,
            "type": "StartLoop",
            "pos": [
              420,
              0
            ],
            "size": [
              430,
              240
            ],
            "flags": {},
            "order": 2,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "parent_iteration",
                "name": "parent_iteration",
                "shape": 7,
                "type": "INT",
                "link": null
              },
              {
                "localized_name": "initial_iteration_value",
                "name": "initial_iteration_value",
                "shape": 7,
                "type": "*",
                "link": 9004
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMFY_DYNAMICCOMBO_V3",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "num_iterations",
                "name": "mode.num_iterations",
                "type": "INT",
                "widget": {
                  "name": "mode.num_iterations"
                },
                "link": 9005
              },
              {
                "localized_name": "cache_iterations",
                "name": "cache_iterations",
                "type": "BOOLEAN",
                "widget": {
                  "name": "cache_iterations"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "iteration_index",
                "name": "iteration_index",
                "type": "INT",
                "slot_index": 0,
                "links": []
              },
              {
                "localized_name": "is_first",
                "name": "is_first",
                "type": "BOOLEAN",
                "slot_index": 1,
                "links": []
              },
              {
                "localized_name": "is_last",
                "name": "is_last",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              },
              {
                "localized_name": "list_item",
                "name": "list_item",
                "type": "*",
                "slot_index": 3,
                "links": []
              },
              {
                "localized_name": "current_iteration_value",
                "name": "current_iteration_value",
                "type": "*",
                "slot_index": 4,
                "links": [
                  9006,
                  9007
                ]
              }
            ],
            "title": "Start Loop (Euclid gcd; iterations come from width/height)",
            "properties": {
              "Node name for S&R": "StartLoop",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "simple",
              24,
              false
            ],
            "widgets_values_named": {
              "mode": "simple",
              "mode.num_iterations": 24,
              "cache_iterations": false
            },
            "color": "#323",
            "bgcolor": "#535"
          },
          {
            "id": 326,
            "type": "GetItemFromList",
            "pos": [
              840,
              0
            ],
            "size": [
              220,
              90
            ],
            "flags": {},
            "order": 3,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "list",
                "name": "list",
                "type": "*",
                "link": 9006
              },
              {
                "localized_name": "index",
                "name": "index",
                "type": "INT",
                "widget": {
                  "name": "index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "*",
                "name": "*",
                "type": "*",
                "slot_index": 0,
                "links": [
                  9008,
                  9010
                ]
              }
            ],
            "title": "Get Item From List (a)",
            "properties": {
              "Node name for S&R": "GetItemFromList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              0
            ],
            "widgets_values_named": {
              "index": 0
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 327,
            "type": "GetItemFromList",
            "pos": [
              840,
              150
            ],
            "size": [
              220,
              90
            ],
            "flags": {},
            "order": 4,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "list",
                "name": "list",
                "type": "*",
                "link": 9007
              },
              {
                "localized_name": "index",
                "name": "index",
                "type": "INT",
                "widget": {
                  "name": "index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "*",
                "name": "*",
                "type": "*",
                "slot_index": 0,
                "links": [
                  9009,
                  9011
                ]
              }
            ],
            "title": "Get Item From List (b)",
            "properties": {
              "Node name for S&R": "GetItemFromList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              1
            ],
            "widgets_values_named": {
              "index": 1
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 328,
            "type": "ComfyMathExpression",
            "pos": [
              1180,
              0
            ],
            "size": [
              340,
              150
            ],
            "flags": {},
            "order": 5,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9008
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9009
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": []
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": [
                  9013
                ]
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "title": "Math Expression (r = a mod b)",
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "a % b if b > 0 else 0"
            ],
            "widgets_values_named": {
              "expression": "a % b if b > 0 else 0"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 329,
            "type": "ComfyMathExpression",
            "pos": [
              1180,
              220
            ],
            "size": [
              340,
              150
            ],
            "flags": {},
            "order": 6,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9010
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9011
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": []
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": [
                  9012
                ]
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "title": "Math Expression (next a = b if b > 0 else a)",
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "b if b > 0 else a"
            ],
            "widgets_values_named": {
              "expression": "b if b > 0 else a"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 330,
            "type": "CreateList",
            "pos": [
              1580,
              110
            ],
            "size": [
              240,
              160
            ],
            "flags": {},
            "order": 7,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "input0",
                "name": "inputs.input0",
                "type": "*",
                "link": 9012
              },
              {
                "localized_name": "input1",
                "name": "inputs.input1",
                "shape": 7,
                "type": "*",
                "link": 9013
              },
              {
                "localized_name": "input2",
                "name": "inputs.input2",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "list",
                "name": "list",
                "shape": 6,
                "type": "*",
                "slot_index": 0,
                "links": [
                  9014,
                  9015
                ]
              }
            ],
            "title": "Create List (next pair)",
            "properties": {
              "Node name for S&R": "CreateList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 331,
            "type": "EndLoop",
            "pos": [
              1960,
              120
            ],
            "size": [
              260,
              120
            ],
            "flags": {},
            "order": 8,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "output_value",
                "name": "output_value",
                "shape": 7,
                "type": "*",
                "link": 9014
              },
              {
                "localized_name": "next_iteration_value",
                "name": "next_iteration_value",
                "shape": 7,
                "type": "*",
                "link": 9015
              },
              {
                "localized_name": "termination0",
                "name": "terminations.termination0",
                "shape": 7,
                "type": "*",
                "link": null
              },
              {
                "localized_name": "accumulate",
                "name": "accumulate",
                "type": "BOOLEAN",
                "widget": {
                  "name": "accumulate"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "outputs",
                "name": "outputs",
                "shape": 6,
                "type": "*",
                "slot_index": 0,
                "links": [
                  9016
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "EndLoop",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              false
            ],
            "widgets_values_named": {
              "accumulate": false
            },
            "color": "#323",
            "bgcolor": "#535"
          },
          {
            "id": 332,
            "type": "GetItemFromList",
            "pos": [
              2300,
              120
            ],
            "size": [
              220,
              90
            ],
            "flags": {},
            "order": 9,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "list",
                "name": "list",
                "type": "*",
                "link": 9016
              },
              {
                "localized_name": "index",
                "name": "index",
                "type": "INT",
                "widget": {
                  "name": "index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "*",
                "name": "*",
                "type": "*",
                "slot_index": 0,
                "links": [
                  9017,
                  9020
                ]
              }
            ],
            "title": "Get Item From List (gcd)",
            "properties": {
              "Node name for S&R": "GetItemFromList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              0
            ],
            "widgets_values_named": {
              "index": 0
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 333,
            "type": "ComfyMathExpression",
            "pos": [
              2640,
              0
            ],
            "size": [
              340,
              150
            ],
            "flags": {},
            "order": 10,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9018
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9017
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": []
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": [
                  9021
                ]
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "title": "Math Expression (width / gcd)",
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "a / b"
            ],
            "widgets_values_named": {
              "expression": "a / b"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 334,
            "type": "ComfyMathExpression",
            "pos": [
              2640,
              220
            ],
            "size": [
              340,
              150
            ],
            "flags": {},
            "order": 11,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9019
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 9020
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": []
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": [
                  9022
                ]
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "title": "Math Expression (height / gcd)",
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "a / b"
            ],
            "widgets_values_named": {
              "expression": "a / b"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 335,
            "type": "StringFormat",
            "pos": [
              3060,
              90
            ],
            "size": [
              360,
              190
            ],
            "flags": {},
            "order": 12,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 9021
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": 9022
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "*",
                "link": 9023
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              },
              {
                "localized_name": "d",
                "name": "values.d",
                "shape": 7,
                "type": "*",
                "link": 9024
              },
              {
                "localized_name": "e",
                "name": "values.e",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  9025
                ]
              }
            ],
            "title": "Format Text (canvas aspect ratio + pixels)",
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "{a}:{b}, {c} × {d} px"
            ],
            "widgets_values_named": {
              "f_string": "{a}:{b}, {c} × {d} px"
            }
          },
          {
            "id": 336,
            "type": "MarkdownNote",
            "pos": [
              3060,
              340
            ],
            "size": [
              600,
              340
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "inputs": [],
            "outputs": [],
            "title": "Note: Aspect ratio (gcd-reduced)",
            "properties": {
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "**Aspect ratio is computed, not typed**\n\n`canvas_settings.aspect_ratio` must read like `7:9, 896 × 1152 px`. This nested subgraph derives it from the `width` / `height` its parent receives from `Get Image Size`:\n\n* the loop count is computed as well — `ceil(1.5 * log2(max(width, height))) + 2` is an upper bound on the Euclidean steps (18 for 896 x 1152, 23 at the 16384 px maximum), so nothing here is hand-typed;\n* inside the loop `r = a mod b`, then `a = b`; once `b` reaches 0 the first value freezes at `gcd(width, height)`;\n* `width / gcd` and `height / gcd` become `ratio, width × height px` in `Format Text (canvas aspect ratio + pixels)`.\n\nSwap the input image or resize the canvas and the ratio follows automatically.\n"
            ],
            "widgets_values_named": {
              "text": "**Aspect ratio is computed, not typed**\n\n`canvas_settings.aspect_ratio` must read like `7:9, 896 × 1152 px`. This nested subgraph derives it from the `width` / `height` its parent receives from `Get Image Size`:\n\n* the loop count is computed as well — `ceil(1.5 * log2(max(width, height))) + 2` is an upper bound on the Euclidean steps (18 for 896 x 1152, 23 at the 16384 px maximum), so nothing here is hand-typed;\n* inside the loop `r = a mod b`, then `a = b`; once `b` reaches 0 the first value freezes at `gcd(width, height)`;\n* `width / gcd` and `height / gcd` become `ratio, width × height px` in `Format Text (canvas aspect ratio + pixels)`.\n\nSwap the input image or resize the canvas and the ratio follows automatically.\n"
            },
            "color": "#432",
            "bgcolor": "#653"
          }
        ],
        "groups": [],
        "links": [
          {
            "id": 9006,
            "origin_id": 325,
            "origin_slot": 4,
            "target_id": 326,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 9007,
            "origin_id": 325,
            "origin_slot": 4,
            "target_id": 327,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 9014,
            "origin_id": 330,
            "origin_slot": 0,
            "target_id": 331,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 9015,
            "origin_id": 330,
            "origin_slot": 0,
            "target_id": 331,
            "target_slot": 1,
            "type": "*"
          },
          {
            "id": 9016,
            "origin_id": 331,
            "origin_slot": 0,
            "target_id": 332,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 9025,
            "origin_id": 335,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 9000,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 324,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 9001,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 324,
            "target_slot": 1,
            "type": "*"
          },
          {
            "id": 9002,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 337,
            "target_slot": 0,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9003,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 337,
            "target_slot": 1,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9004,
            "origin_id": 324,
            "origin_slot": 0,
            "target_id": 325,
            "target_slot": 1,
            "type": "*"
          },
          {
            "id": 9005,
            "origin_id": 337,
            "origin_slot": 1,
            "target_id": 325,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 9008,
            "origin_id": 326,
            "origin_slot": 0,
            "target_id": 328,
            "target_slot": 0,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9009,
            "origin_id": 327,
            "origin_slot": 0,
            "target_id": 328,
            "target_slot": 1,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9010,
            "origin_id": 326,
            "origin_slot": 0,
            "target_id": 329,
            "target_slot": 0,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9011,
            "origin_id": 327,
            "origin_slot": 0,
            "target_id": 329,
            "target_slot": 1,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9012,
            "origin_id": 329,
            "origin_slot": 1,
            "target_id": 330,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 9013,
            "origin_id": 328,
            "origin_slot": 1,
            "target_id": 330,
            "target_slot": 1,
            "type": "*"
          },
          {
            "id": 9018,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 333,
            "target_slot": 0,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9017,
            "origin_id": 332,
            "origin_slot": 0,
            "target_id": 333,
            "target_slot": 1,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9019,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 334,
            "target_slot": 0,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9020,
            "origin_id": 332,
            "origin_slot": 0,
            "target_id": 334,
            "target_slot": 1,
            "type": "FLOAT,INT,BOOLEAN"
          },
          {
            "id": 9021,
            "origin_id": 333,
            "origin_slot": 1,
            "target_id": 335,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 9022,
            "origin_id": 334,
            "origin_slot": 1,
            "target_id": 335,
            "target_slot": 1,
            "type": "*"
          },
          {
            "id": 9023,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 335,
            "target_slot": 2,
            "type": "*"
          },
          {
            "id": 9024,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 335,
            "target_slot": 4,
            "type": "*"
          }
        ],
        "extra": {}
      },
      {
        "id": "ae951efd-07f6-49cb-bfdb-0b8e3eee4cda",
        "version": 1,
        "state": {
          "lastGroupId": 16,
          "lastNodeId": 344,
          "lastLinkId": 21011,
          "lastRerouteId": 0
        },
        "revision": 0,
        "config": {},
        "name": "Ideogram JSON to Ming Caption",
        "inputNode": {
          "id": -10,
          "bounding": [
            -1610,
            690,
            128,
            128
          ]
        },
        "outputNode": {
          "id": -20,
          "bounding": [
            8980,
            1160,
            128,
            68
          ]
        },
        "inputs": [
          {
            "id": "5846d0df-9bcb-4813-86b8-d1f16acbf3c7",
            "name": "ideogram",
            "type": "DICT",
            "linkIds": [
              20000
            ],
            "pos": [
              -1506,
              714
            ]
          },
          {
            "id": "e3b1e1c5-dd21-4d63-b767-053fef26b38c",
            "name": "elements",
            "type": "ARRAY",
            "linkIds": [
              20001
            ],
            "pos": [
              -1506,
              734
            ]
          },
          {
            "id": "861ca4fb-24f0-44e7-a81e-30d4b892ba85",
            "name": "width",
            "type": "INT",
            "linkIds": [
              21000
            ],
            "pos": [
              -1506,
              754
            ]
          },
          {
            "id": "237e973c-1a04-4f73-b90a-c4cf5412af42",
            "name": "height",
            "type": "INT",
            "linkIds": [
              21001
            ],
            "pos": [
              -1506,
              774
            ]
          }
        ],
        "outputs": [
          {
            "id": "bba2d2bf-400f-40c9-92d4-b23b5ce5620c",
            "name": "caption",
            "type": "STRING",
            "linkIds": [
              20034
            ],
            "localized_name": "STRING",
            "pos": [
              9004,
              1184
            ]
          }
        ],
        "widgets": [],
        "nodes": [
          {
            "id": 200,
            "type": "ConvertDictionaryToString",
            "pos": [
              -750,
              1550
            ],
            "size": [
              400,
              90
            ],
            "flags": {},
            "order": 1,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "dictionary",
                "name": "dictionary",
                "type": "DICT",
                "link": 20000
              },
              {
                "localized_name": "indent",
                "name": "indent",
                "type": "INT",
                "widget": {
                  "name": "indent"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20004,
                  20005,
                  20006,
                  20007,
                  20008,
                  20009,
                  20011
                ]
              }
            ],
            "title": "Convert Dictionary to String (Ideogram prompt → text)",
            "properties": {
              "Node name for S&R": "ConvertDictionaryToString",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              0
            ],
            "widgets_values_named": {
              "indent": 0
            }
          },
          {
            "id": 201,
            "type": "ConvertArrayToString",
            "pos": [
              340,
              3450
            ],
            "size": [
              370,
              90
            ],
            "flags": {},
            "order": 2,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "array",
                "name": "array",
                "type": "ARRAY",
                "link": 20001
              },
              {
                "localized_name": "indent",
                "name": "indent",
                "type": "INT",
                "widget": {
                  "name": "indent"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20002,
                  20037
                ]
              }
            ],
            "title": "Convert Array to String (boxes → text, the queue)",
            "properties": {
              "Node name for S&R": "ConvertArrayToString",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              0
            ],
            "widgets_values_named": {
              "indent": 0
            }
          },
          {
            "id": 202,
            "type": "RegexReplace",
            "pos": [
              800,
              3400
            ],
            "size": [
              330,
              300
            ],
            "flags": {},
            "order": 3,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20002
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "replace",
                "name": "replace",
                "type": "STRING",
                "widget": {
                  "name": "replace"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "count",
                "name": "count",
                "shape": 7,
                "type": "INT",
                "widget": {
                  "name": "count"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20003
                ]
              }
            ],
            "title": "Replace Text (Regex) (count the boxes)",
            "properties": {
              "Node name for S&R": "RegexReplace",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "[^{]",
              "",
              true,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "[^{]",
              "replace": "",
              "case_insensitive": true,
              "multiline": false,
              "dotall": false,
              "count": 0
            }
          },
          {
            "id": 203,
            "type": "StringLength",
            "pos": [
              1260,
              3420
            ],
            "size": [
              210,
              90
            ],
            "flags": {},
            "order": 4,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20003
              }
            ],
            "outputs": [
              {
                "localized_name": "length",
                "name": "length",
                "type": "INT",
                "slot_index": 0,
                "links": [
                  21002
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "StringLength",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              ""
            ],
            "widgets_values_named": {
              "string": ""
            }
          },
          {
            "id": 204,
            "type": "RegexExtract",
            "pos": [
              -310,
              950
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 5,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20004
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20068
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"lighting\":\\s*\"([^\"]*)\"",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"lighting\":\\s*\"([^\"]*)\"",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 205,
            "type": "RegexExtract",
            "pos": [
              -310,
              1290
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 6,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20005
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20051
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"medium\":\\s*\"([^\"]*)\"",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"medium\":\\s*\"([^\"]*)\"",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 206,
            "type": "RegexExtract",
            "pos": [
              -310,
              1630
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 7,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20006
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20052
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"(?:art_style|photo)\":\\s*\"([^\"]*)\"",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"(?:art_style|photo)\":\\s*\"([^\"]*)\"",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 207,
            "type": "RegexExtract",
            "pos": [
              -310,
              1980
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 8,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20007
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20053
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"aesthetics\":\\s*\"([^\"]*)\"",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"aesthetics\":\\s*\"([^\"]*)\"",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 208,
            "type": "RegexExtract",
            "pos": [
              -310,
              2660
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 9,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20008
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20055
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"background\":\\s*\"([^\"]*)\"",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"background\":\\s*\"([^\"]*)\"",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 209,
            "type": "RegexExtract",
            "pos": [
              -310,
              3000
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 10,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20009
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20010
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"color_palette\":\\s*(\\[[^\\]]*\\])",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"color_palette\":\\s*(\\[[^\\]]*\\])",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 210,
            "type": "RegexReplace",
            "pos": [
              190,
              2950
            ],
            "size": [
              330,
              300
            ],
            "flags": {},
            "order": 11,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20010
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "replace",
                "name": "replace",
                "type": "STRING",
                "widget": {
                  "name": "replace"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "count",
                "name": "count",
                "shape": 7,
                "type": "INT",
                "widget": {
                  "name": "count"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20057
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexReplace",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "^$",
              "[]",
              true,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "^$",
              "replace": "[]",
              "case_insensitive": true,
              "multiline": false,
              "dotall": false,
              "count": 0
            }
          },
          {
            "id": 211,
            "type": "StringFormat",
            "pos": [
              180,
              1630
            ],
            "size": [
              360,
              170
            ],
            "flags": {},
            "order": 12,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 20051
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": 20052
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "*",
                "link": 20053
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              },
              {
                "localized_name": "d",
                "name": "values.d",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20069
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "{a}; {b}; aesthetics: {c}"
            ],
            "widgets_values_named": {
              "f_string": "{a}; {b}; aesthetics: {c}"
            }
          },
          {
            "id": 212,
            "type": "RegexExtract",
            "pos": [
              -310,
              2320
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 13,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20011
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20054
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"high_level_description\":\\s*\"([^\"]*)\"",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"high_level_description\":\\s*\"([^\"]*)\"",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 213,
            "type": "StringFormat",
            "pos": [
              190,
              2350
            ],
            "size": [
              360,
              170
            ],
            "flags": {},
            "order": 14,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 20054
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": 20055
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "*",
                "link": null
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20012
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "{a} {b}"
            ],
            "widgets_values_named": {
              "f_string": "{a} {b}"
            }
          },
          {
            "id": 214,
            "type": "RegexReplace",
            "pos": [
              650,
              2350
            ],
            "size": [
              330,
              300
            ],
            "flags": {},
            "order": 15,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20012
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "replace",
                "name": "replace",
                "type": "STRING",
                "widget": {
                  "name": "replace"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "count",
                "name": "count",
                "shape": 7,
                "type": "INT",
                "widget": {
                  "name": "count"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20056
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexReplace",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"",
              "\\\"",
              true,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"",
              "replace": "\\\"",
              "case_insensitive": true,
              "multiline": false,
              "dotall": false,
              "count": 0
            }
          },
          {
            "id": 215,
            "type": "StringFormat",
            "pos": [
              1090,
              2550
            ],
            "size": [
              330,
              200
            ],
            "flags": {},
            "order": 16,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 20056
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": 20057
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "*",
                "link": null
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20036
                ]
              }
            ],
            "title": "Format Text (base layer, whole canvas)",
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "  {{\"description\": \"{a}\", \"coordinates\": \"cx: 0.500, cy: 0.500, w: 1.000, h: 1.000\", \"hierarchy_and_relation\": \"Base layer: fills the whole canvas, behind every other layer.\", \"color_specs\": {b}}}"
            ],
            "widgets_values_named": {
              "f_string": "  {{\"description\": \"{a}\", \"coordinates\": \"cx: 0.500, cy: 0.500, w: 1.000, h: 1.000\", \"hierarchy_and_relation\": \"Base layer: fills the whole canvas, behind every other layer.\", \"color_specs\": {b}}}"
            }
          },
          {
            "id": 216,
            "type": "CreateList",
            "pos": [
              1700,
              2600
            ],
            "size": [
              310,
              160
            ],
            "flags": {},
            "order": 17,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "input0",
                "name": "inputs.input0",
                "type": "*",
                "link": 20036
              },
              {
                "localized_name": "input1",
                "name": "inputs.input1",
                "shape": 7,
                "type": "*",
                "link": 20037
              },
              {
                "localized_name": "input2",
                "name": "inputs.input2",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "list",
                "name": "list",
                "shape": 6,
                "type": "*",
                "slot_index": 0,
                "links": [
                  20038
                ]
              }
            ],
            "title": "Create List (seed = base layer + queue)",
            "properties": {
              "Node name for S&R": "CreateList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 217,
            "type": "StartLoop",
            "pos": [
              2110,
              2590
            ],
            "size": [
              320,
              240
            ],
            "flags": {},
            "order": 18,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "parent_iteration",
                "name": "parent_iteration",
                "shape": 7,
                "type": "INT",
                "link": null
              },
              {
                "localized_name": "initial_iteration_value",
                "name": "initial_iteration_value",
                "shape": 7,
                "type": "*",
                "link": 20038
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMFY_DYNAMICCOMBO_V3",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "start_iteration_index",
                "name": "mode.start_iteration_index",
                "type": "INT",
                "widget": {
                  "name": "mode.start_iteration_index"
                },
                "link": null
              },
              {
                "localized_name": "max_iteration",
                "name": "mode.max_iteration",
                "type": "INT",
                "widget": {
                  "name": "mode.max_iteration"
                },
                "link": 21002
              },
              {
                "localized_name": "step",
                "name": "mode.step",
                "type": "INT",
                "widget": {
                  "name": "mode.step"
                },
                "link": null
              },
              {
                "localized_name": "cache_iterations",
                "name": "cache_iterations",
                "type": "BOOLEAN",
                "widget": {
                  "name": "cache_iterations"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "iteration_index",
                "name": "iteration_index",
                "type": "INT",
                "slot_index": 0,
                "links": []
              },
              {
                "localized_name": "is_first",
                "name": "is_first",
                "type": "BOOLEAN",
                "slot_index": 1,
                "links": []
              },
              {
                "localized_name": "is_last",
                "name": "is_last",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              },
              {
                "localized_name": "list_item",
                "name": "list_item",
                "type": "*",
                "slot_index": 3,
                "links": []
              },
              {
                "localized_name": "current_iteration_value",
                "name": "current_iteration_value",
                "type": "*",
                "slot_index": 4,
                "links": [
                  20013,
                  20014
                ]
              }
            ],
            "title": "Start Loop (one iteration per box)",
            "properties": {
              "Node name for S&R": "StartLoop",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "For",
              0,
              12,
              1,
              false
            ],
            "widgets_values_named": {
              "mode": "For",
              "mode.start_iteration_index": 0,
              "mode.max_iteration": 12,
              "mode.step": 1,
              "cache_iterations": false
            },
            "color": "#323",
            "bgcolor": "#535"
          },
          {
            "id": 218,
            "type": "GetItemFromList",
            "pos": [
              2610,
              2670
            ],
            "size": [
              260,
              90
            ],
            "flags": {},
            "order": 19,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "list",
                "name": "list",
                "type": "*",
                "link": 20013
              },
              {
                "localized_name": "index",
                "name": "index",
                "type": "INT",
                "widget": {
                  "name": "index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "*",
                "name": "*",
                "type": "*",
                "slot_index": 0,
                "links": [
                  20066
                ]
              }
            ],
            "title": "Get Item From List (layers so far)",
            "properties": {
              "Node name for S&R": "GetItemFromList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              0
            ],
            "widgets_values_named": {
              "index": 0
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 219,
            "type": "GetItemFromList",
            "pos": [
              2600,
              3450
            ],
            "size": [
              290,
              90
            ],
            "flags": {},
            "order": 20,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "list",
                "name": "list",
                "type": "*",
                "link": 20014
              },
              {
                "localized_name": "index",
                "name": "index",
                "type": "INT",
                "widget": {
                  "name": "index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "*",
                "name": "*",
                "type": "*",
                "slot_index": 0,
                "links": [
                  20015,
                  20031
                ]
              }
            ],
            "title": "Get Item From List (remaining boxes)",
            "properties": {
              "Node name for S&R": "GetItemFromList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              1
            ],
            "widgets_values_named": {
              "index": 1
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 220,
            "type": "RegexExtract",
            "pos": [
              3050,
              3450
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 21,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20015
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20016,
                  20017,
                  20018,
                  20019,
                  20024,
                  20026,
                  20029
                ]
              }
            ],
            "title": "Extract Text (next box)",
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\\{[^{}]*\\}",
              "First Match",
              false,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\\{[^{}]*\\}",
              "mode": "First Match",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 0
            }
          },
          {
            "id": 221,
            "type": "RegexExtract",
            "pos": [
              3710,
              4310
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 22,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20016
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20020
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"bbox\":\\s*\\[\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\]",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"bbox\":\\s*\\[\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\]",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 222,
            "type": "RegexExtract",
            "pos": [
              3710,
              4610
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 23,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20017
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20021
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"bbox\":\\s*\\[\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\]",
              "First Group",
              false,
              false,
              false,
              2
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"bbox\":\\s*\\[\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\]",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 2
            }
          },
          {
            "id": 223,
            "type": "RegexExtract",
            "pos": [
              3710,
              4910
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 24,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20018
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20022
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"bbox\":\\s*\\[\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\]",
              "First Group",
              false,
              false,
              false,
              3
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"bbox\":\\s*\\[\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\]",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 3
            }
          },
          {
            "id": 224,
            "type": "RegexExtract",
            "pos": [
              3710,
              5210
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 25,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20019
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20023
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"bbox\":\\s*\\[\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\]",
              "First Group",
              false,
              false,
              false,
              4
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"bbox\":\\s*\\[\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\]",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 4
            }
          },
          {
            "id": 225,
            "type": "ComfyNumberConvert",
            "pos": [
              4160,
              4310
            ],
            "size": [
              230,
              80
            ],
            "flags": {},
            "order": 26,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "value",
                "name": "value",
                "type": "INT,FLOAT,STRING,BOOLEAN",
                "link": 20020
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": [
                  20039,
                  20045
                ]
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": []
              }
            ],
            "properties": {
              "Node name for S&R": "ComfyNumberConvert",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 226,
            "type": "ComfyNumberConvert",
            "pos": [
              4160,
              4610
            ],
            "size": [
              230,
              80
            ],
            "flags": {},
            "order": 27,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "value",
                "name": "value",
                "type": "INT,FLOAT,STRING,BOOLEAN",
                "link": 20021
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": [
                  20041,
                  20043
                ]
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": []
              }
            ],
            "properties": {
              "Node name for S&R": "ComfyNumberConvert",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 227,
            "type": "ComfyNumberConvert",
            "pos": [
              4160,
              4910
            ],
            "size": [
              230,
              80
            ],
            "flags": {},
            "order": 28,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "value",
                "name": "value",
                "type": "INT,FLOAT,STRING,BOOLEAN",
                "link": 20022
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": [
                  20040,
                  20046
                ]
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": []
              }
            ],
            "properties": {
              "Node name for S&R": "ComfyNumberConvert",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 228,
            "type": "ComfyNumberConvert",
            "pos": [
              4160,
              5210
            ],
            "size": [
              230,
              80
            ],
            "flags": {},
            "order": 29,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "value",
                "name": "value",
                "type": "INT,FLOAT,STRING,BOOLEAN",
                "link": 20023
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": [
                  20042,
                  20044
                ]
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": []
              }
            ],
            "properties": {
              "Node name for S&R": "ComfyNumberConvert",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 229,
            "type": "ComfyMathExpression",
            "pos": [
              4610,
              4310
            ],
            "size": [
              300,
              150
            ],
            "flags": {},
            "order": 30,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 20039
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 20040
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": [
                  20059
                ]
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": []
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "(a + b) / 2000"
            ],
            "widgets_values_named": {
              "expression": "(a + b) / 2000"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 230,
            "type": "ComfyMathExpression",
            "pos": [
              4610,
              4610
            ],
            "size": [
              300,
              150
            ],
            "flags": {},
            "order": 31,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 20041
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 20042
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": [
                  20058
                ]
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": []
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "(a + b) / 2000"
            ],
            "widgets_values_named": {
              "expression": "(a + b) / 2000"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 231,
            "type": "ComfyMathExpression",
            "pos": [
              4610,
              4910
            ],
            "size": [
              300,
              150
            ],
            "flags": {},
            "order": 32,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 20043
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 20044
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": [
                  20060
                ]
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": []
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "(b - a) / 1000"
            ],
            "widgets_values_named": {
              "expression": "(b - a) / 1000"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 232,
            "type": "ComfyMathExpression",
            "pos": [
              4610,
              5210
            ],
            "size": [
              300,
              150
            ],
            "flags": {},
            "order": 33,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "type": "FLOAT,INT,BOOLEAN",
                "link": 20045
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": 20046
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "FLOAT,INT,BOOLEAN",
                "link": null
              },
              {
                "localized_name": "expression",
                "name": "expression",
                "type": "STRING",
                "widget": {
                  "name": "expression"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT",
                "slot_index": 0,
                "links": [
                  20061
                ]
              },
              {
                "localized_name": "INT",
                "name": "INT",
                "type": "INT",
                "slot_index": 1,
                "links": []
              },
              {
                "localized_name": "BOOL",
                "name": "BOOL",
                "type": "BOOLEAN",
                "slot_index": 2,
                "links": []
              }
            ],
            "properties": {
              "Node name for S&R": "ComfyMathExpression",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "(b - a) / 1000"
            ],
            "widgets_values_named": {
              "expression": "(b - a) / 1000"
            },
            "color": "#332",
            "bgcolor": "#553"
          },
          {
            "id": 233,
            "type": "StringFormat",
            "pos": [
              5060,
              4760
            ],
            "size": [
              360,
              190
            ],
            "flags": {},
            "order": 34,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 20058
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": 20059
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "*",
                "link": 20060
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              },
              {
                "localized_name": "d",
                "name": "values.d",
                "shape": 7,
                "type": "*",
                "link": 20061
              },
              {
                "localized_name": "e",
                "name": "values.e",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20064
                ]
              }
            ],
            "title": "Format Text (Ming coordinates)",
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "cx: {a:.3f}, cy: {b:.3f}, w: {c:.3f}, h: {d:.3f}"
            ],
            "widgets_values_named": {
              "f_string": "cx: {a:.3f}, cy: {b:.3f}, w: {c:.3f}, h: {d:.3f}"
            }
          },
          {
            "id": 234,
            "type": "RegexExtract",
            "pos": [
              3710,
              3980
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 35,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20024
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20025
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"desc\":\\s*\"([^\"]*)\"",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"desc\":\\s*\"([^\"]*)\"",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 235,
            "type": "RegexReplace",
            "pos": [
              4160,
              3980
            ],
            "size": [
              330,
              300
            ],
            "flags": {},
            "order": 36,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20025
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "replace",
                "name": "replace",
                "type": "STRING",
                "widget": {
                  "name": "replace"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "count",
                "name": "count",
                "shape": 7,
                "type": "INT",
                "widget": {
                  "name": "count"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20063
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexReplace",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"",
              "\\\"",
              true,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"",
              "replace": "\\\"",
              "case_insensitive": true,
              "multiline": false,
              "dotall": false,
              "count": 0
            }
          },
          {
            "id": 236,
            "type": "RegexExtract",
            "pos": [
              3710,
              3660
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 37,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20026
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20047
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"text\":\\s*\"([^\"]*)\"",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"text\":\\s*\"([^\"]*)\"",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 237,
            "type": "StringFormat",
            "pos": [
              4160,
              3660
            ],
            "size": [
              360,
              170
            ],
            "flags": {},
            "order": 38,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 20047
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": null
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20027
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "Text layer reading \"{a}\". "
            ],
            "widgets_values_named": {
              "f_string": "Text layer reading \"{a}\". "
            }
          },
          {
            "id": 238,
            "type": "RegexReplace",
            "pos": [
              4610,
              3660
            ],
            "size": [
              330,
              300
            ],
            "flags": {},
            "order": 39,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20027
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "replace",
                "name": "replace",
                "type": "STRING",
                "widget": {
                  "name": "replace"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "count",
                "name": "count",
                "shape": 7,
                "type": "INT",
                "widget": {
                  "name": "count"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20028
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexReplace",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "Text layer reading \"\"\\.\\s*",
              "",
              true,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "Text layer reading \"\"\\.\\s*",
              "replace": "",
              "case_insensitive": true,
              "multiline": false,
              "dotall": false,
              "count": 0
            }
          },
          {
            "id": 239,
            "type": "RegexExtract",
            "pos": [
              3710,
              3360
            ],
            "size": [
              330,
              270
            ],
            "flags": {},
            "order": 40,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20029
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "mode",
                "name": "mode",
                "type": "COMBO",
                "widget": {
                  "name": "mode"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "group_index",
                "name": "group_index",
                "type": "INT",
                "widget": {
                  "name": "group_index"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20030
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexExtract",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"color_palette\":\\s*(\\[[^\\]]*\\])",
              "First Group",
              false,
              false,
              false,
              1
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"color_palette\":\\s*(\\[[^\\]]*\\])",
              "mode": "First Group",
              "case_insensitive": false,
              "multiline": false,
              "dotall": false,
              "group_index": 1
            }
          },
          {
            "id": 240,
            "type": "RegexReplace",
            "pos": [
              4160,
              3360
            ],
            "size": [
              330,
              300
            ],
            "flags": {},
            "order": 41,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20030
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "replace",
                "name": "replace",
                "type": "STRING",
                "widget": {
                  "name": "replace"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "count",
                "name": "count",
                "shape": 7,
                "type": "INT",
                "widget": {
                  "name": "count"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20065
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexReplace",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "^$",
              "[]",
              true,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "^$",
              "replace": "[]",
              "case_insensitive": true,
              "multiline": false,
              "dotall": false,
              "count": 0
            }
          },
          {
            "id": 241,
            "type": "RegexReplace",
            "pos": [
              5060,
              3660
            ],
            "size": [
              330,
              300
            ],
            "flags": {},
            "order": 42,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20028
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "replace",
                "name": "replace",
                "type": "STRING",
                "widget": {
                  "name": "replace"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "count",
                "name": "count",
                "shape": 7,
                "type": "INT",
                "widget": {
                  "name": "count"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20062
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "RegexReplace",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "\"",
              "\\\"",
              true,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "\"",
              "replace": "\\\"",
              "case_insensitive": true,
              "multiline": false,
              "dotall": false,
              "count": 0
            }
          },
          {
            "id": 242,
            "type": "StringFormat",
            "pos": [
              5630,
              4160
            ],
            "size": [
              360,
              190
            ],
            "flags": {},
            "order": 43,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 20062
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": 20063
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "*",
                "link": 20064
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              },
              {
                "localized_name": "d",
                "name": "values.d",
                "shape": 7,
                "type": "*",
                "link": 20065
              },
              {
                "localized_name": "e",
                "name": "values.e",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20067
                ]
              }
            ],
            "title": "Format Text (this box as a Ming layer)",
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "  {{\"description\": \"{a}{b}\", \"coordinates\": \"{c}\", \"hierarchy_and_relation\": \"Sits above the layers listed before it.\", \"color_specs\": {d}}}"
            ],
            "widgets_values_named": {
              "f_string": "  {{\"description\": \"{a}{b}\", \"coordinates\": \"{c}\", \"hierarchy_and_relation\": \"Sits above the layers listed before it.\", \"color_specs\": {d}}}"
            }
          },
          {
            "id": 243,
            "type": "StringFormat",
            "pos": [
              6320,
              2550
            ],
            "size": [
              360,
              170
            ],
            "flags": {},
            "order": 44,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 20066
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": 20067
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "*",
                "link": null
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20048,
                  20050
                ]
              }
            ],
            "title": "Format Text (layers + this layer)",
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "{a},\n{b}"
            ],
            "widgets_values_named": {
              "f_string": "{a},\n{b}"
            }
          },
          {
            "id": 244,
            "type": "RegexReplace",
            "pos": [
              3040,
              3060
            ],
            "size": [
              340,
              300
            ],
            "flags": {},
            "order": 45,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string",
                "name": "string",
                "type": "STRING",
                "widget": {
                  "name": "string"
                },
                "link": 20031
              },
              {
                "localized_name": "regex_pattern",
                "name": "regex_pattern",
                "type": "STRING",
                "widget": {
                  "name": "regex_pattern"
                },
                "link": null
              },
              {
                "localized_name": "replace",
                "name": "replace",
                "type": "STRING",
                "widget": {
                  "name": "replace"
                },
                "link": null
              },
              {
                "localized_name": "case_insensitive",
                "name": "case_insensitive",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "case_insensitive"
                },
                "link": null
              },
              {
                "localized_name": "multiline",
                "name": "multiline",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "multiline"
                },
                "link": null
              },
              {
                "localized_name": "dotall",
                "name": "dotall",
                "shape": 7,
                "type": "BOOLEAN",
                "widget": {
                  "name": "dotall"
                },
                "link": null
              },
              {
                "localized_name": "count",
                "name": "count",
                "shape": 7,
                "type": "INT",
                "widget": {
                  "name": "count"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20049
                ]
              }
            ],
            "title": "Replace Text (Regex) (queue minus this box)",
            "properties": {
              "Node name for S&R": "RegexReplace",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "",
              "^\\s*\\[?\\s*\\{[^{}]*\\}\\s*,?",
              "",
              true,
              false,
              false,
              0
            ],
            "widgets_values_named": {
              "string": "",
              "regex_pattern": "^\\s*\\[?\\s*\\{[^{}]*\\}\\s*,?",
              "replace": "",
              "case_insensitive": true,
              "multiline": false,
              "dotall": false,
              "count": 0
            }
          },
          {
            "id": 245,
            "type": "CreateList",
            "pos": [
              6800,
              3350
            ],
            "size": [
              240,
              160
            ],
            "flags": {},
            "order": 46,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "input0",
                "name": "inputs.input0",
                "type": "*",
                "link": 20048
              },
              {
                "localized_name": "input1",
                "name": "inputs.input1",
                "shape": 7,
                "type": "*",
                "link": 20049
              },
              {
                "localized_name": "input2",
                "name": "inputs.input2",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "list",
                "name": "list",
                "shape": 6,
                "type": "*",
                "slot_index": 0,
                "links": [
                  20033
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "CreateList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 246,
            "type": "CreateList",
            "pos": [
              6800,
              2550
            ],
            "size": [
              240,
              160
            ],
            "flags": {},
            "order": 47,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "input0",
                "name": "inputs.input0",
                "type": "*",
                "link": 20050
              },
              {
                "localized_name": "input1",
                "name": "inputs.input1",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "list",
                "name": "list",
                "shape": 6,
                "type": "*",
                "slot_index": 0,
                "links": [
                  20032
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "CreateList",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "color": "#233",
            "bgcolor": "#355"
          },
          {
            "id": 247,
            "type": "EndLoop",
            "pos": [
              7250,
              2950
            ],
            "size": [
              260,
              120
            ],
            "flags": {},
            "order": 48,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "output_value",
                "name": "output_value",
                "shape": 7,
                "type": "*",
                "link": 20032
              },
              {
                "localized_name": "next_iteration_value",
                "name": "next_iteration_value",
                "shape": 7,
                "type": "*",
                "link": 20033
              },
              {
                "localized_name": "termination0",
                "name": "terminations.termination0",
                "shape": 7,
                "type": "*",
                "link": null
              },
              {
                "localized_name": "accumulate",
                "name": "accumulate",
                "type": "BOOLEAN",
                "widget": {
                  "name": "accumulate"
                },
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "outputs",
                "name": "outputs",
                "shape": 6,
                "type": "*",
                "slot_index": 0,
                "links": [
                  20070
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "EndLoop",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              false
            ],
            "widgets_values_named": {
              "accumulate": false
            },
            "color": "#323",
            "bgcolor": "#535"
          },
          {
            "id": 249,
            "type": "StringFormat",
            "pos": [
              8450,
              1170
            ],
            "size": [
              410,
              220
            ],
            "flags": {},
            "order": 49,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "a",
                "name": "values.a",
                "shape": 7,
                "type": "*",
                "link": 20071
              },
              {
                "localized_name": "b",
                "name": "values.b",
                "shape": 7,
                "type": "*",
                "link": 20068
              },
              {
                "localized_name": "c",
                "name": "values.c",
                "shape": 7,
                "type": "*",
                "link": 20069
              },
              {
                "localized_name": "f_string",
                "name": "f_string",
                "type": "STRING",
                "widget": {
                  "name": "f_string"
                },
                "link": null
              },
              {
                "localized_name": "d",
                "name": "values.d",
                "shape": 7,
                "type": "*",
                "link": 20070
              },
              {
                "localized_name": "e",
                "name": "values.e",
                "shape": 7,
                "type": "*",
                "link": null
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "slot_index": 0,
                "links": [
                  20034
                ]
              }
            ],
            "title": "Format Text (Ming caption, Figma style)",
            "properties": {
              "Node name for S&R": "StringFormat",
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "{{\"canvas_settings\": {{\"aspect_ratio\": \"{a}\", \"ambient_lighting\": \"{b}\", \"image_style\": \"{c}\"}}, \"layers\": [\n{d}\n]}}"
            ],
            "widgets_values_named": {
              "f_string": "{{\"canvas_settings\": {{\"aspect_ratio\": \"{a}\", \"ambient_lighting\": \"{b}\", \"image_style\": \"{c}\"}}, \"layers\": [\n{d}\n]}}"
            }
          },
          {
            "id": 300,
            "type": "MarkdownNote",
            "pos": [
              -710,
              140
            ],
            "size": [
              1200,
              620
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "inputs": [],
            "outputs": [],
            "title": "Note: Ideogram JSON → Ming caption (built-in nodes only)",
            "properties": {
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            },
            "widgets_values": [
              "**What this subgraph does**\n\nTurns the Ideogram JSON + the bounding boxes into Ming's own Figma-style caption (`canvas_settings` + `layers`) and sends it to the `prompt` of **Image Edit (Ming Image 0.1 Design)**.\n\n| input | comes from | carries |\n|---|---|---|\n| `ideogram` | `Build JSON Prompt (Ideogram)` | the Ideogram JSON (style / lighting / background / palette …) |\n| `elements` | `Create Bounding Boxes` → `elements` | the boxes, turned into the text queue the loop eats one item per iteration |\n| `width` / `height` | `Get Image Size` | output size; the nested **Aspect Ratio (gcd-reduced)** subgraph turns them into `7:9, 896 × 1152 px` |\n\nOutput: `caption` → `prompt` of the Image Edit subgraph, plus the preview in `Preview as Text`.\n\n**How the loop works**\n\nOne iteration per box. `Start Loop` runs `count` times, where `count` is the number of boxes — counted on the left by `Replace Text (Regex)` + `Text Length` (that count is wired into the loop's `max_iteration`, so adding or removing boxes needs no rewiring). Each iteration:\n\n* pulls the next box JSON out of the queue,\n* maps `bbox [ymin, xmin, ymax, xmax]` → `cx: …, cy: …, w: …, h: …` (normalised centre + size),\n* `desc` → `description`, `color_palette` → `color_specs`, a text box becomes `Text layer reading \"…\"`,\n* appends the layer and drops that box from the queue.\n\nThe base layer (\"the whole canvas\") is the loop's seed; layers accumulate background → topmost.\n\n**To skip this subgraph**\n\nBypass it (`Ctrl+B`) and either type English into `prompt`, or wire `Build JSON Prompt (Ideogram)` straight into `prompt` to send the Ideogram JSON instead of the Ming caption.\n"
            ],
            "widgets_values_named": {
              "text": "**What this subgraph does**\n\nTurns the Ideogram JSON + the bounding boxes into Ming's own Figma-style caption (`canvas_settings` + `layers`) and sends it to the `prompt` of **Image Edit (Ming Image 0.1 Design)**.\n\n| input | comes from | carries |\n|---|---|---|\n| `ideogram` | `Build JSON Prompt (Ideogram)` | the Ideogram JSON (style / lighting / background / palette …) |\n| `elements` | `Create Bounding Boxes` → `elements` | the boxes, turned into the text queue the loop eats one item per iteration |\n| `width` / `height` | `Get Image Size` | output size; the nested **Aspect Ratio (gcd-reduced)** subgraph turns them into `7:9, 896 × 1152 px` |\n\nOutput: `caption` → `prompt` of the Image Edit subgraph, plus the preview in `Preview as Text`.\n\n**How the loop works**\n\nOne iteration per box. `Start Loop` runs `count` times, where `count` is the number of boxes — counted on the left by `Replace Text (Regex)` + `Text Length` (that count is wired into the loop's `max_iteration`, so adding or removing boxes needs no rewiring). Each iteration:\n\n* pulls the next box JSON out of the queue,\n* maps `bbox [ymin, xmin, ymax, xmax]` → `cx: …, cy: …, w: …, h: …` (normalised centre + size),\n* `desc` → `description`, `color_palette` → `color_specs`, a text box becomes `Text layer reading \"…\"`,\n* appends the layer and drops that box from the queue.\n\nThe base layer (\"the whole canvas\") is the loop's seed; layers accumulate background → topmost.\n\n**To skip this subgraph**\n\nBypass it (`Ctrl+B`) and either type English into `prompt`, or wire `Build JSON Prompt (Ideogram)` straight into `prompt` to send the Ideogram JSON instead of the Ming caption.\n"
            },
            "color": "#222",
            "bgcolor": "#000"
          },
          {
            "id": 338,
            "type": "ffddfd05-3899-4ab3-ab2f-fdc661b4f3ed",
            "pos": [
              8380,
              800
            ],
            "size": [
              420,
              220
            ],
            "flags": {},
            "order": 50,
            "mode": 0,
            "inputs": [
              {
                "name": "width",
                "type": "INT",
                "link": 21000
              },
              {
                "name": "height",
                "type": "INT",
                "link": 21001
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "links": [
                  20071
                ]
              }
            ],
            "properties": {
              "previewExposures": [],
              "ue_properties": {
                "widget_ue_connectable": {},
                "version": "7.8",
                "input_ue_unconnectable": {}
              }
            }
          }
        ],
        "groups": [
          {
            "id": 11,
            "title": "① Parse the Ideogram JSON -> canvas_settings + base layer",
            "bounding": [
              -760,
              840,
              2290,
              2420
            ],
            "color": "#3f789e",
            "flags": {}
          },
          {
            "id": 12,
            "title": "② Every box -> queue string + count",
            "bounding": [
              290,
              3340,
              1230,
              420
            ],
            "color": "#8888aa",
            "flags": {}
          },
          {
            "id": 13,
            "title": "③ Assemble + Start Loop",
            "bounding": [
              1640,
              2490,
              1800,
              1290
            ],
            "color": "#A88",
            "flags": {}
          },
          {
            "id": 15,
            "title": "③b Loop body: one box -> one layer",
            "bounding": [
              3650,
              3300,
              2400,
              2240
            ],
            "color": "#7f9bb5",
            "flags": {}
          },
          {
            "id": 16,
            "title": "③c Carry + End Loop",
            "bounding": [
              6260,
              2490,
              1310,
              1080
            ],
            "color": "#a07f9b",
            "flags": {}
          }
        ],
        "links": [
          {
            "id": 20000,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 200,
            "target_slot": 0,
            "type": "DICT"
          },
          {
            "id": 20001,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 201,
            "target_slot": 0,
            "type": "ARRAY"
          },
          {
            "id": 20002,
            "origin_id": 201,
            "origin_slot": 0,
            "target_id": 202,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20003,
            "origin_id": 202,
            "origin_slot": 0,
            "target_id": 203,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20004,
            "origin_id": 200,
            "origin_slot": 0,
            "target_id": 204,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20005,
            "origin_id": 200,
            "origin_slot": 0,
            "target_id": 205,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20006,
            "origin_id": 200,
            "origin_slot": 0,
            "target_id": 206,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20007,
            "origin_id": 200,
            "origin_slot": 0,
            "target_id": 207,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20008,
            "origin_id": 200,
            "origin_slot": 0,
            "target_id": 208,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20009,
            "origin_id": 200,
            "origin_slot": 0,
            "target_id": 209,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20010,
            "origin_id": 209,
            "origin_slot": 0,
            "target_id": 210,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20011,
            "origin_id": 200,
            "origin_slot": 0,
            "target_id": 212,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20012,
            "origin_id": 213,
            "origin_slot": 0,
            "target_id": 214,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20013,
            "origin_id": 217,
            "origin_slot": 4,
            "target_id": 218,
            "target_slot": 0,
            "type": "COMFY_MATCHTYPE_V3"
          },
          {
            "id": 20014,
            "origin_id": 217,
            "origin_slot": 4,
            "target_id": 219,
            "target_slot": 0,
            "type": "COMFY_MATCHTYPE_V3"
          },
          {
            "id": 20015,
            "origin_id": 219,
            "origin_slot": 0,
            "target_id": 220,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 20016,
            "origin_id": 220,
            "origin_slot": 0,
            "target_id": 221,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20017,
            "origin_id": 220,
            "origin_slot": 0,
            "target_id": 222,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20018,
            "origin_id": 220,
            "origin_slot": 0,
            "target_id": 223,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20019,
            "origin_id": 220,
            "origin_slot": 0,
            "target_id": 224,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20020,
            "origin_id": 221,
            "origin_slot": 0,
            "target_id": 225,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20021,
            "origin_id": 222,
            "origin_slot": 0,
            "target_id": 226,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20022,
            "origin_id": 223,
            "origin_slot": 0,
            "target_id": 227,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20023,
            "origin_id": 224,
            "origin_slot": 0,
            "target_id": 228,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20024,
            "origin_id": 220,
            "origin_slot": 0,
            "target_id": 234,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20025,
            "origin_id": 234,
            "origin_slot": 0,
            "target_id": 235,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20026,
            "origin_id": 220,
            "origin_slot": 0,
            "target_id": 236,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20027,
            "origin_id": 237,
            "origin_slot": 0,
            "target_id": 238,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20028,
            "origin_id": 238,
            "origin_slot": 0,
            "target_id": 241,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20029,
            "origin_id": 220,
            "origin_slot": 0,
            "target_id": 239,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20030,
            "origin_id": 239,
            "origin_slot": 0,
            "target_id": 240,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20031,
            "origin_id": 219,
            "origin_slot": 0,
            "target_id": 244,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 20032,
            "origin_id": 246,
            "origin_slot": 0,
            "target_id": 247,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 20033,
            "origin_id": 245,
            "origin_slot": 0,
            "target_id": 247,
            "target_slot": 1,
            "type": "*"
          },
          {
            "id": 20034,
            "origin_id": 249,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 21000,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 338,
            "target_slot": 0,
            "type": "INT"
          },
          {
            "id": 21001,
            "origin_id": -10,
            "origin_slot": 3,
            "target_id": 338,
            "target_slot": 1,
            "type": "INT"
          },
          {
            "id": 20036,
            "origin_id": 215,
            "origin_slot": 0,
            "target_id": 216,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20037,
            "origin_id": 201,
            "origin_slot": 0,
            "target_id": 216,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 20038,
            "origin_id": 216,
            "origin_slot": 0,
            "target_id": 217,
            "target_slot": 1,
            "type": "*"
          },
          {
            "id": 20039,
            "origin_id": 225,
            "origin_slot": 0,
            "target_id": 229,
            "target_slot": 0,
            "type": "FLOAT"
          },
          {
            "id": 20040,
            "origin_id": 227,
            "origin_slot": 0,
            "target_id": 229,
            "target_slot": 1,
            "type": "FLOAT"
          },
          {
            "id": 20041,
            "origin_id": 226,
            "origin_slot": 0,
            "target_id": 230,
            "target_slot": 0,
            "type": "FLOAT"
          },
          {
            "id": 20042,
            "origin_id": 228,
            "origin_slot": 0,
            "target_id": 230,
            "target_slot": 1,
            "type": "FLOAT"
          },
          {
            "id": 20043,
            "origin_id": 226,
            "origin_slot": 0,
            "target_id": 231,
            "target_slot": 0,
            "type": "FLOAT"
          },
          {
            "id": 20044,
            "origin_id": 228,
            "origin_slot": 0,
            "target_id": 231,
            "target_slot": 1,
            "type": "FLOAT"
          },
          {
            "id": 20045,
            "origin_id": 225,
            "origin_slot": 0,
            "target_id": 232,
            "target_slot": 0,
            "type": "FLOAT"
          },
          {
            "id": 20046,
            "origin_id": 227,
            "origin_slot": 0,
            "target_id": 232,
            "target_slot": 1,
            "type": "FLOAT"
          },
          {
            "id": 20047,
            "origin_id": 236,
            "origin_slot": 0,
            "target_id": 237,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20048,
            "origin_id": 243,
            "origin_slot": 0,
            "target_id": 245,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20049,
            "origin_id": 244,
            "origin_slot": 0,
            "target_id": 245,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 20050,
            "origin_id": 243,
            "origin_slot": 0,
            "target_id": 246,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20051,
            "origin_id": 205,
            "origin_slot": 0,
            "target_id": 211,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20052,
            "origin_id": 206,
            "origin_slot": 0,
            "target_id": 211,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 20053,
            "origin_id": 207,
            "origin_slot": 0,
            "target_id": 211,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 20054,
            "origin_id": 212,
            "origin_slot": 0,
            "target_id": 213,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20055,
            "origin_id": 208,
            "origin_slot": 0,
            "target_id": 213,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 20056,
            "origin_id": 214,
            "origin_slot": 0,
            "target_id": 215,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20057,
            "origin_id": 210,
            "origin_slot": 0,
            "target_id": 215,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 20058,
            "origin_id": 230,
            "origin_slot": 0,
            "target_id": 233,
            "target_slot": 0,
            "type": "FLOAT"
          },
          {
            "id": 20059,
            "origin_id": 229,
            "origin_slot": 0,
            "target_id": 233,
            "target_slot": 1,
            "type": "FLOAT"
          },
          {
            "id": 20060,
            "origin_id": 231,
            "origin_slot": 0,
            "target_id": 233,
            "target_slot": 2,
            "type": "FLOAT"
          },
          {
            "id": 20061,
            "origin_id": 232,
            "origin_slot": 0,
            "target_id": 233,
            "target_slot": 4,
            "type": "FLOAT"
          },
          {
            "id": 20062,
            "origin_id": 241,
            "origin_slot": 0,
            "target_id": 242,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20063,
            "origin_id": 235,
            "origin_slot": 0,
            "target_id": 242,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 20064,
            "origin_id": 233,
            "origin_slot": 0,
            "target_id": 242,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 20065,
            "origin_id": 240,
            "origin_slot": 0,
            "target_id": 242,
            "target_slot": 4,
            "type": "STRING"
          },
          {
            "id": 20066,
            "origin_id": 218,
            "origin_slot": 0,
            "target_id": 243,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 20067,
            "origin_id": 242,
            "origin_slot": 0,
            "target_id": 243,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 20071,
            "origin_id": 338,
            "origin_slot": 0,
            "target_id": 249,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 20068,
            "origin_id": 204,
            "origin_slot": 0,
            "target_id": 249,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 20069,
            "origin_id": 211,
            "origin_slot": 0,
            "target_id": 249,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 20070,
            "origin_id": 247,
            "origin_slot": 0,
            "target_id": 249,
            "target_slot": 4,
            "type": "COMFY_MATCHTYPE_V3"
          },
          {
            "id": 21002,
            "origin_id": 203,
            "origin_slot": 0,
            "target_id": 217,
            "target_slot": 4,
            "type": "INT"
          }
        ],
        "extra": {}
      }
    ]
  },
  "config": {},
  "extra": {
    "ds": {
      "scale": 0.8495519351669945,
      "offset": [
        1970.7244123993296,
        -3966.837988108483
      ]
    },
    "frontendVersion": "1.53.6",
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "VHS_MetadataImage": true,
    "VHS_KeepIntermediate": true,
    "ue_links": []
  },
  "version": 0.4
}
