{
  "id": "6e5d96b7-1687-4e3d-8559-6c3e5468c193",
  "revision": 0,
  "last_node_id": 106,
  "last_link_id": 166,
  "nodes": [
    {
      "id": 14,
      "type": "ResolutionSelector",
      "pos": [
        2980.186871345947,
        440.83427663685706
      ],
      "size": [
        270,
        150
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "showAdvanced": true,
      "inputs": [],
      "outputs": [
        {
          "name": "width",
          "type": "INT",
          "links": [
            63
          ]
        },
        {
          "name": "height",
          "type": "INT",
          "links": [
            64
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "ResolutionSelector",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "2:3 (Portrait Photo)",
        6,
        32
      ],
      "widgets_values_named": {
        "aspect_ratio": "2:3 (Portrait Photo)",
        "megapixels": 6,
        "multiple": 32
      }
    },
    {
      "id": 27,
      "type": "MarkdownNote",
      "pos": [
        350,
        930
      ],
      "size": [
        293.32577749320694,
        371.0662679769209
      ],
      "flags": {
        "collapsed": false
      },
      "order": 1,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "title": "Note: size",
      "properties": {
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "MiniMax H3 Image doesn't work well in low resolution\n\nThis workflow starts at a reduced default resolution(4MP). Raise the size if your GPU has enough memory.\n\n\n## Recommended sizes (16MP)\n\nThe effective working range of MiniMax-H3-Image is about 4 MP to 20 MP, and it generally gives\nthe best results at around 16 MP. Common 16 MP sizes are listed below:\n\n| Aspect ratio | Size (width x height) |\n| --- | --- |\n| 1:1 | 4096x4096 |\n| 4:3 / 3:4 | 4736x3552 / 3552x4736 |\n| 3:2 / 2:3 | 5024x3360 / 3360x5024 |\n| 16:9 / 9:16 | 5472x3072 / 3072x5472 |\n| 21:9 | 6272x2688 |"
      ],
      "widgets_values_named": {
        "text": "MiniMax H3 Image doesn't work well in low resolution\n\nThis workflow starts at a reduced default resolution(4MP). Raise the size if your GPU has enough memory.\n\n\n## Recommended sizes (16MP)\n\nThe effective working range of MiniMax-H3-Image is about 4 MP to 20 MP, and it generally gives\nthe best results at around 16 MP. Common 16 MP sizes are listed below:\n\n| Aspect ratio | Size (width x height) |\n| --- | --- |\n| 1:1 | 4096x4096 |\n| 4:3 / 3:4 | 4736x3552 / 3552x4736 |\n| 3:2 / 2:3 | 5024x3360 / 3360x5024 |\n| 16:9 / 9:16 | 5472x3072 / 3072x5472 |\n| 21:9 | 6272x2688 |"
      },
      "color": "#222",
      "bgcolor": "#000"
    },
    {
      "id": 28,
      "type": "MarkdownNote",
      "pos": [
        -179.25115648706912,
        802.102397269899
      ],
      "size": [
        490,
        700
      ],
      "flags": {},
      "order": 2,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "title": "Model Links",
      "properties": {
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "Guide: [Subgraph](https://docs.comfy.org/interface/features/subgraph)\n\n## Model Links\n\n- [Hugging Face:Comfy-Org/MiniMax-H3-Image](https://huggingface.co/Comfy-Org/MiniMax-H3-Image)\n- [Hugging Face:Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)\n- [Hugging Face:Comfy-Org/Qwen3.8-27B](https://huggingface.co/Comfy-Org/Qwen3.5)\n\n**diffusion_models**\n\n- [minimax_h3_image_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3-Image/resolve/main/diffusion_models/minimax_h3_image_pruned_int8_convrot.safetensors) (21 GB)\n\n**text_encoders**\n\n- [qwen3vl_32b_minimax_h3_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_int8_convrot.safetensors) (25.28 GB)\n- [qwen3.5_9b_w4a8_gptq.safetensors](https://huggingface.co/Comfy-Org/Qwen3.5/resolve/main/text_encoders/qwen3.5_9b_w4a8_gptq.safetensors) (7.34 GB)\n\n**vae**\n\n- [minimax_h3_image_vae_fp16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3-Image/resolve/main/vae/minimax_h3_image_vae_fp16.safetensors) (1.17 GB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│   ├── 📂 diffusion_models/\n│   │   └── minimax_h3_image_pruned_int8_convrot.safetensors\n│   ├── 📂 text_encoders/\n│   │   ├── qwen3vl_32b_minimax_h3_int8_convrot.safetensors\n│   │   └── qwen3.8_27b_w4a8.safetensors\n│   └── 📂 vae/\n│       └── minimax_h3_image_vae_fp16.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
      ],
      "widgets_values_named": {
        "text": "Guide: [Subgraph](https://docs.comfy.org/interface/features/subgraph)\n\n## Model Links\n\n- [Hugging Face:Comfy-Org/MiniMax-H3-Image](https://huggingface.co/Comfy-Org/MiniMax-H3-Image)\n- [Hugging Face:Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)\n- [Hugging Face:Comfy-Org/Qwen3.8-27B](https://huggingface.co/Comfy-Org/Qwen3.5)\n\n**diffusion_models**\n\n- [minimax_h3_image_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3-Image/resolve/main/diffusion_models/minimax_h3_image_pruned_int8_convrot.safetensors) (21 GB)\n\n**text_encoders**\n\n- [qwen3vl_32b_minimax_h3_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_int8_convrot.safetensors) (25.28 GB)\n- [qwen3.5_9b_w4a8_gptq.safetensors](https://huggingface.co/Comfy-Org/Qwen3.5/resolve/main/text_encoders/qwen3.5_9b_w4a8_gptq.safetensors) (7.34 GB)\n\n**vae**\n\n- [minimax_h3_image_vae_fp16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3-Image/resolve/main/vae/minimax_h3_image_vae_fp16.safetensors) (1.17 GB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│   ├── 📂 diffusion_models/\n│   │   └── minimax_h3_image_pruned_int8_convrot.safetensors\n│   ├── 📂 text_encoders/\n│   │   ├── qwen3vl_32b_minimax_h3_int8_convrot.safetensors\n│   │   └── qwen3.8_27b_w4a8.safetensors\n│   └── 📂 vae/\n│       └── minimax_h3_image_vae_fp16.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
      },
      "color": "#222",
      "bgcolor": "#000"
    },
    {
      "id": 29,
      "type": "UNETLoader",
      "pos": [
        1296.3183948345727,
        312.10239726989903
      ],
      "size": [
        590,
        90
      ],
      "flags": {},
      "order": 3,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "MODEL",
          "type": "MODEL",
          "links": [
            150
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "UNETLoader",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        },
        "models": [
          {
            "name": "minimax_h3_image_pruned_int8_convrot.safetensors",
            "url": "https://huggingface.co/Comfy-Org/MiniMax-H3-Image/resolve/main/diffusion_models/minimax_h3_image_pruned_int8_convrot.safetensors",
            "directory": "diffusion_models"
          }
        ]
      },
      "widgets_values": [
        "minimax_h3_image_pruned_int8_convrot.safetensors",
        "default"
      ],
      "widgets_values_named": {
        "unet_name": "minimax_h3_image_pruned_int8_convrot.safetensors",
        "weight_dtype": "default"
      }
    },
    {
      "id": 30,
      "type": "CLIPLoader",
      "pos": [
        1296.3183948345727,
        482.10239726989903
      ],
      "size": [
        590,
        120
      ],
      "flags": {},
      "order": 4,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "CLIP",
          "type": "CLIP",
          "links": [
            49
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "CLIPLoader",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        },
        "models": [
          {
            "name": "qwen3vl_32b_minimax_h3_int8_convrot.safetensors",
            "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_int8_convrot.safetensors",
            "directory": "text_encoders"
          }
        ]
      },
      "widgets_values": [
        "qwen3vl_32b_minimax_h3_int8_convrot.safetensors",
        "minimax",
        "default"
      ],
      "widgets_values_named": {
        "clip_name": "qwen3vl_32b_minimax_h3_int8_convrot.safetensors",
        "type": "minimax",
        "device": "default"
      }
    },
    {
      "id": 31,
      "type": "VAELoader",
      "pos": [
        1296.3183948345727,
        672.1023972698989
      ],
      "size": [
        590,
        70
      ],
      "flags": {},
      "order": 5,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "VAE",
          "type": "VAE",
          "links": [
            50,
            60
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "VAELoader",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        },
        "models": [
          {
            "name": "minimax_h3_image_vae_fp16.safetensors",
            "url": "https://huggingface.co/Comfy-Org/MiniMax-H3-Image/resolve/main/vae/minimax_h3_image_vae_fp16.safetensors",
            "directory": "vae"
          }
        ]
      },
      "widgets_values": [
        "minimax_h3_image_vae_fp16.safetensors"
      ],
      "widgets_values_named": {
        "vae_name": "minimax_h3_image_vae_fp16.safetensors"
      }
    },
    {
      "id": 32,
      "type": "MiniMaxH3ImageConditioning",
      "pos": [
        2029.961265928322,
        474.45822969125686
      ],
      "size": [
        450,
        336
      ],
      "flags": {},
      "order": 26,
      "mode": 0,
      "inputs": [
        {
          "name": "clip",
          "type": "CLIP",
          "link": 49
        },
        {
          "name": "vae",
          "shape": 7,
          "type": "VAE",
          "link": 50
        },
        {
          "name": "images.image_0",
          "shape": 7,
          "type": "IMAGE",
          "link": 157
        },
        {
          "name": "images.image_1",
          "shape": 7,
          "type": "IMAGE",
          "link": 158
        },
        {
          "name": "images.image_2",
          "shape": 7,
          "type": "IMAGE",
          "link": 159
        },
        {
          "name": "images.image_3",
          "shape": 7,
          "type": "IMAGE",
          "link": 160
        },
        {
          "name": "images.image_4",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "images.image_5",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "images.image_6",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "images.image_7",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "prompt",
          "type": "STRING",
          "widget": {
            "name": "prompt"
          },
          "link": 51
        },
        {
          "name": "width",
          "type": "INT",
          "widget": {
            "name": "width"
          },
          "link": 63
        },
        {
          "name": "height",
          "type": "INT",
          "widget": {
            "name": "height"
          },
          "link": 64
        }
      ],
      "outputs": [
        {
          "name": "positive",
          "type": "CONDITIONING",
          "links": [
            55,
            164
          ]
        },
        {
          "name": "LATENT",
          "type": "LATENT",
          "links": [
            57
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "MiniMaxH3ImageConditioning",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "",
        3104,
        3104
      ],
      "widgets_values_named": {
        "prompt": "",
        "width": 3104,
        "height": 3104
      }
    },
    {
      "id": 34,
      "type": "TextGenerateV2",
      "pos": [
        1936.3183948345727,
        942.102397269899
      ],
      "size": [
        400,
        460
      ],
      "flags": {},
      "order": 22,
      "mode": 0,
      "showAdvanced": false,
      "inputs": [
        {
          "name": "clip",
          "type": "CLIP",
          "link": 67
        },
        {
          "name": "images.image1",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "videos.video1",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "audios.audio1",
          "shape": 7,
          "type": "AUDIO",
          "link": null
        },
        {
          "name": "system_prompt",
          "shape": 7,
          "type": "STRING",
          "link": 68
        },
        {
          "name": "prompt",
          "type": "STRING",
          "widget": {
            "name": "prompt"
          },
          "link": 69
        }
      ],
      "outputs": [
        {
          "name": "generated_text",
          "type": "STRING",
          "links": [
            65
          ]
        },
        {
          "name": "thinking",
          "type": "STRING",
          "links": []
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "TextGenerateV2",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "",
        8192,
        "on",
        1,
        20,
        0.95,
        0,
        1,
        0,
        0,
        true,
        true,
        "auto"
      ],
      "widgets_values_named": {
        "prompt": "",
        "max_length": 8192,
        "sampling_mode": "on",
        "sampling_mode.temperature": 1,
        "sampling_mode.top_k": 20,
        "sampling_mode.top_p": 0.95,
        "sampling_mode.min_p": 0,
        "sampling_mode.repetition_penalty": 1,
        "sampling_mode.presence_penalty": 0,
        "sampling_mode.seed": 0,
        "thinking": true,
        "use_default_template": true,
        "mtp": "auto"
      }
    },
    {
      "id": 35,
      "type": "CLIPLoader",
      "pos": [
        1276.3183948345727,
        942.102397269899
      ],
      "size": [
        560,
        140
      ],
      "flags": {},
      "order": 6,
      "mode": 0,
      "showAdvanced": false,
      "inputs": [],
      "outputs": [
        {
          "name": "CLIP",
          "type": "CLIP",
          "links": [
            67
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "CLIPLoader",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        },
        "models": [
          {
            "name": "qwen3.5_9b_w4a8_gptq.safetensors",
            "url": "https://huggingface.co/Comfy-Org/Qwen3.5/resolve/main/text_encoders/qwen3.5_9b_w4a8_gptq.safetensors",
            "directory": "text_encoders"
          }
        ]
      },
      "widgets_values": [
        "qwen3.5_9b_w4a8_gptq.safetensors",
        "minimax",
        "default"
      ],
      "widgets_values_named": {
        "clip_name": "qwen3.5_9b_w4a8_gptq.safetensors",
        "type": "minimax",
        "device": "default"
      }
    },
    {
      "id": 36,
      "type": "PrimitiveStringMultiline",
      "pos": [
        1276.3183948345727,
        1142.102397269899
      ],
      "size": [
        570,
        170
      ],
      "flags": {},
      "order": 7,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            68
          ]
        }
      ],
      "title": "Text (system_prompt)",
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "PrimitiveStringMultiline",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "Reason in the thinking section first. The visible final content must be exactly one JSON object with exactly two keys: expanded_caption and aspect_ratio. Every ASCII double quotation mark used as caption content inside expanded_caption must be serialized as the JSON escape sequence \\\". Do not output text outside that object."
      ],
      "widgets_values_named": {
        "value": "Reason in the thinking section first. The visible final content must be exactly one JSON object with exactly two keys: expanded_caption and aspect_ratio. Every ASCII double quotation mark used as caption content inside expanded_caption must be serialized as the JSON escape sequence \\\". Do not output text outside that object."
      }
    },
    {
      "id": 37,
      "type": "PreviewAny",
      "pos": [
        2466.3183948345727,
        942.102397269899
      ],
      "size": [
        460,
        620
      ],
      "flags": {},
      "order": 25,
      "mode": 0,
      "inputs": [
        {
          "name": "source",
          "type": "*",
          "link": 53
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            51
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "PreviewAny",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [],
      "widgets_values_named": {}
    },
    {
      "id": 38,
      "type": "KSampler",
      "pos": [
        2596.3183948345727,
        302.10239726989903
      ],
      "size": [
        320,
        480
      ],
      "flags": {},
      "order": 28,
      "mode": 0,
      "inputs": [
        {
          "name": "model",
          "type": "MODEL",
          "link": 151
        },
        {
          "name": "positive",
          "type": "CONDITIONING",
          "link": 55
        },
        {
          "name": "negative",
          "type": "CONDITIONING",
          "link": 165
        },
        {
          "name": "latent_image",
          "type": "LATENT",
          "link": 57
        }
      ],
      "outputs": [
        {
          "name": "LATENT",
          "type": "LATENT",
          "links": [
            59
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "KSampler",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        183,
        "fixed",
        6,
        1,
        "lcm",
        "simple",
        1
      ],
      "widgets_values_named": {
        "seed": 183,
        "control_after_generate": "fixed",
        "steps": 6,
        "cfg": 1,
        "sampler_name": "lcm",
        "scheduler": "simple",
        "denoise": 1
      }
    },
    {
      "id": 39,
      "type": "PrimitiveStringMultiline",
      "pos": [
        1276.3183948345727,
        1382.102397269899
      ],
      "size": [
        580,
        160
      ],
      "flags": {},
      "order": 8,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            58
          ]
        }
      ],
      "title": "Text (task_prompt)",
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "PrimitiveStringMultiline",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "You are a caption-expansion and canvas-selection model for still-image\ntext-to-image generation. Rewrite input_text into a natural English detailed\ncaption and choose one aspect ratio for the requested final image. After private\nreasoning, serialize the complete caption and aspect ratio together as the one\nrequired two-key JSON object; no visible analysis, markdown, or self-talk. The\ncaption may be long when the requested image is a complex information or design artifact.\n\nRole: act like an expert visual designer and technical illustrator, not a word\nexpander. Preserve every hard fact from the input, then complete the image with\nvisible, inspectable content. The goal is not more words; the goal is that a\nviewer can inspect each important part of the image and find meaningful subjects,\nlabels, relationships, materials, data, and hierarchy.\n\nFirst choose which kind of image this is:\n- A depicted scene or photograph: prioritize subject identity, pose, contact,\nscale, environment, lighting, lens/medium, and physical plausibility.\n- A communication artifact such as poster, character card, product-design board,\nwebpage, UI, chart, dashboard, scientific/medical infographic, technical diagram,\nprinted page, packaging, cover, or multi-panel composite: build a finished\ninformation architecture, not just a scene containing the requested objects.\n\nAspect-ratio decision policy:\nChoose exactly one of these allowed ratios: 1:1, 5:4, 4:3, 3:2, 16:9, 21:9,\n4:5, 3:4, 2:3, or 9:16. Decide in the following order; earlier evidence\noverrides later evidence.\n\n1. Explicit final canvas\n- Preserve an explicit final-output ratio. Map explicit output pixel dimensions\n  by width divided by height to the closest allowed ratio.\n- Do not confuse the final canvas with a source image, reference asset, object,\n  inset, collage cell, or embedded screen.\n\n2. Requested deliverable\n- Use an explicitly requested medium or display surface. Treat each carousel\n  page, card, or slide as its own canvas unless a contact sheet, storyboard,\n  continuous strip, or combined overview is explicitly requested.\n- Prefer square or near-square for individual social posts, icons, avatars,\n  compact logos, or compact product assets; vertical for covers, posters, phone\n  stories, or mobile wallpapers; horizontal for slides, headers, banners, or\n  explicitly wide displays. Do not invent a platform or deliverable.\n\n3. Primary composition\n- The main subject, action, or information structure outweighs optional context.\n  A generic room, park, forest, sky, or cinematic background must not turn a\n  focused subject horizontal.\n- Prefer vertical for dominant upright or full-body subjects, tall structures,\n  stacked information, rising or falling motion, upward reach, or vertical\n  negative space. Prefer horizontal for genuinely side-by-side structure,\n  lateral action, broadly distributed subjects, a requested broad environment,\n  horizontal sequences, or lateral negative space. Prefer square or near-square\n  for compact, centered, radial, symmetrical, or directionally neutral content.\n\n4. Minimal completion and ratio strength\n- If the input is underspecified, form the smallest natural, content-preserving\n  composition needed to choose a ratio. Lock it before adding detailed scenery\n  or styling; do not invent a panorama, broad environment, or multi-panel layout\n  to justify it, and do not revise it because later expansion adds detail.\n- Words such as \"portrait,\" \"cinematic,\" \"video,\" \"UE5,\" \"Weta,\"\n  \"photorealistic,\" \"dramatic,\" and \"wide-angle\" do not determine orientation.\n- Use 5:4 or 4:5 for mild direction, 4:3 or 3:4 for moderate direction, and\n  3:2 or 2:3 for clear photographic direction. Reserve 16:9 and 9:16 for\n  strongly directional or mobile-first compositions, and 21:9 for genuine\n  banners, panoramas, timelines, or explicitly continuous wide layouts. When\n  evidence remains weak, prefer 1:1 or a moderate ratio.\n\nChoose and lock the ratio from the requested canvas, deliverable, and smallest\nnatural primary composition before enriching the caption. Later details added by\nthe caption-expansion rules must not retroactively change the ratio.\n\nUniversal hard rules:\n1. Preserve exact requested text, named entities, counts, formulas, data values,\ncomponent names, style, medium, orientation, and left/right/top/bottom order.\n2. Required content must be visible, not implied. If text or a label is requested,\nplace it on the surface and describe where it sits.\n3. For active bodies, solve scene geometry before pose detail. Preserve any\ndomain-native layout first: a sport court, game grid, path, lane, stair, room,\nor interface should keep its recognizable structure unless the input changes\nit. Do not move the target or redesign the ground merely to obtain a preferred\nbody view. Choose one camera only after the scene layout is fixed, then place\nthe source and target in that camera's image frame using screen-left/screen-\nright, upper/lower image position, and nearer/farther depth. Silently trace the\nsource-to-target vector in this fixed view. Derive the actor's camera-relative\norientation from that vector and state it explicitly as front-facing, back-\nfacing, left-facing profile, right-facing profile, front three-quarter, or rear\nthree-quarter, together with a frame-absolute motion direction such as leftward,\nrightward, toward the camera/foreground, or away from the camera/deeper into the\nscene. Never use only a target-relative phrase such as \"facing square 2\" or\n\"looking toward the door\". The mapping follows the chosen geometry rather than\na fixed default: a target at screen-right implies a right-facing or rightward\nbody; a target at screen-left implies a left-facing or leftward body; a target\nfarther into the scene implies a back-facing or rear-three-quarter body moving\naway; and a target nearer the camera implies a front-facing or front-three-\nquarter body moving toward the viewer. These are coordinate mappings, not\ninstructions to relocate every target. Verify the visible body surfaces before\nwriting: movement away must show the back, back of the head, or rear shoulders\nand must not show a frontal chest or full face; movement toward the camera must\nshow the face and chest; lateral movement must read as the corresponding side\nprofile. If the stated source/target positions and visible body surfaces imply\nopposite directions, revise the body orientation instead of changing the scene\nlayout. Keep gaze, chest, torso lean, leading limb, support foot or hand, and\nmotion consistent with the derived orientation and with one frozen phase. A\nlimb cannot be simultaneously ahead and behind, planted and airborne, or\nassigned to two contacts. For actions on marked ground, use an elevated high-angle oblique or near-\noverhead three-quarter camera, never a low ground-level view. Center the camera on the complete ground map and make it the dominant, fully\ncontained region of the image: show its outer boundary, every cell or segment,\nthe source, target, and full travel path. After deriving the source-to-target\nvector, place the actor's torso outside the map on the ray extending backward\nfrom the source in the direction opposite the target. Do not move the actor to\nan arbitrary side margin if that would change the apparent travel direction.\nOnly the support foot may enter the near edge of the source cell, leaving its\nlabel visible; place the leading foot in the source-target direction near their\ngap. Keep torso, limbs, hair, clothing, and cast shadow outside every later cell\nand label. Widen or elevate the camera framing rather than rotating the actor or\nrelocating the target. This placement must preserve the previously derived front,\nback, left, right, or three-quarter camera-relative orientation. Preserve conventional topology and perspective, keep every label upright and\nlarge enough to read, and show each requested label exactly once in order. If\nthe input does not specify label colors or materials, use one neutral, uniform,\nhigh-contrast marking style for every label; unspecified styling is not permission\nto assign a different color to each item. Keep the actor's hands empty unless the\ninput names a held object. Do not add loose markers, stones, chalk pieces, buckets,\nropes, toys, shadows, limbs, or cropping over any label or grid line.\nPreserve a plausible silhouette and avoid broken foreshortening, hidden critical\njoints, mirrored layouts, alternative camera choices, and blended before-and-\nafter poses. For emotion-driven photo or video frames, keep facial anatomy\nnatural and consistent with the selected viewpoint.\n4. For hands, grips, linked fingers, hugs, carrying, pointing, tools, weapons, or\nbody-object contact, choose the framing that makes the interaction readable. Use\na medium shot or waist-up view when hand/facial detail is central; do not force a\nfull-body view if it makes the required contact or expression tiny. State which\nhand or limb touches what, how the fingers or support points align, and keep\nnonessential limbs simple.\n5. Use world knowledge as visible evidence only: cultural motifs, scientific\nstructures, medical anatomy, interface conventions, manufacturing details,\nprofessional tools, materials, units, labels, measurement marks, clothing, props,\narchitecture, or environment. Do not add lore that cannot be seen.\n6. Respect requested subject count. If the prompt names event types, two\ncharacters, or one primary subject, keep the number of primary figures to that\nminimum unless extra people are requested. Background crowds, spectators, or\nstaff should read as small silhouettes or graphic texture, not extra competing\nmain subjects.\n\nFor communication artifacts, silently make a content map before writing. Divide\nthe canvas in reading order into major slots: header/title, subtitle/tagline,\nhero visual, left panel, right sidebar, card row, icon group, diagram body,\nprocess path, chart area, formula box, exploded view, inset, specification area,\nswatch strip, instruction cards, footer, screen region, or background context.\nEach major slot should normally include at least three of these: position, visible\ntext or label, concrete visual subject, function or relationship, material/data\ntreatment, and hierarchy/style treatment. Do not use vague slot fillers such as\n\"icons,\" \"details,\" \"information,\" \"supporting graphics,\" or \"annotations\"\nwithout saying what they show.\n\nMake the artifact feel complete. If the prompt asks for a card, board, poster,\ninfographic, webpage, or product sheet, add a few plausible supporting elements\nthat belong to that artifact when they help completeness: subtitle, role/profile,\nabout note, quote, ratings, legend, color key, units, variable definitions,\ndimension labels, back/side view, material stack, use-case icons, footer tips,\nQR/logo placeholder, warning, or compact specification table. Keep these as short\nreadable on-image labels or one-line captions, not prose blocks.\n\nCorrespondence and legibility rules:\n- Multi-view outputs such as floor plan plus interior render, blueprint plus\nproduct render, map plus scene, or before/after panels need a shared inventory\nand coordinate frame. Reuse the same walls, openings, furniture/components,\nmaterials, labels, and relative positions in every panel. Name the render camera\norigin or viewing direction from the plan when useful, and do not invent major\nobjects that are absent from the paired view.\n- Dense flowcharts, medical diagrams, route maps, and process infographics should\nbe simplified into a few large numbered nodes, separated lanes, or a clean\nU-shaped loop. Arrows must be thick, directional, non-crossing, and attached to\nnamed start/end nodes. Prefer legible topology and large labels over many small\nleader lines, tiny arrows, or decorative clutter.\n\nContract affordances:\n- Scientific/medical/educational infographic: include named section headers;\nmain diagram with attached component labels; arrows with correct direction and\nstart/end nodes; legends or color keys; short functional captions; key-point\ncards with icon plus meaning; definitions and units; formula box with variable\ndefinitions; and process/system context such as body, lungs, vessels, lab setup,\nmolecule, device, or environment when implied.\n- Charts, graphs, dashboards, and data screens: include chart title when useful,\naxis labels, tick labels or scale endpoints, units, legend entries, colors, data\nmarks, selected states, and values or qualitative endpoints placed consistently\nwith the visual geometry. Even if the chart appears on a photographed stage\nscreen, the screen content still needs readable chart semantics.\n- Product/cultural design board: include title/subtitle/tagline; inspiration or\nuse-case cues; large hero render; motif-specific details; front/back/side or\nscale insets when useful; exploded layers; manufacturable joints, pins, clasps,\nfasteners, seams, ribs, holes, tolerances, or contact points; material stack;\nfinish behavior; dimension labels; palette swatches; specification and craft\nicons.\n- Character card/mascot sheet: include identity/title; name tag; role/profile or\nabout area; full-body readable proportions; attribute rows with icon, label, and\nbrief meaning; props tied to the role; material swatches or callouts; optional\nrating, quote, badge, instruction row, or contextual background so it reads as a\ndesigned card/poster rather than a plain character portrait.\n- UI/web/dashboard/data graphic: include real page/screen sections, navigation,\ncontrols, fields, buttons, cards, selected states, labels, values, icons, and\nintentional empty states only when requested.\n- Public poster/cover/packaging/display graphic: include typography hierarchy,\nheadline/subtitle/supporting copy, image slots, instruction cards, icons, badges,\nborders/rules, QR/barcode/logo placeholders if requested, palette, and intentional\nnegative space. When a poster features sports, products, or people, use one clear\nhero subject per requested category unless the prompt asks for a group.\n\nStyle comes after content. Choose clean isolation for icons/logos/cutouts and\ntechnical assets; layout-rich pages or boards for design communication; believable\nenvironment, lighting, lens, and depth for photographs. Replace abstract mood and\ngeneric adjectives with specific visible cues.\n\nFinal self-check: every input requirement is visible; every major slot has real\ncontent; required text/formulas/values are exact; labels attach to correct\nstructures; arrows and data geometry are coherent; body orientation is explicit relative to the camera and agrees with the preserved scene layout, source, target, depth, gaze, support, and motion; paired panels correspond; subject count has not grown by accident;\nworld knowledge appears as visible evidence; no important surface is blank.\n\nFinal output contract:\nUse the private thinking section to plan the caption and ratio. After thinking,\nthe visible final answer must be exactly one JSON object with exactly these two\nkeys:\n\n{{\"expanded_caption\":\"ONE_DETAILED_ENGLISH_CAPTION\",\"aspect_ratio\":\"ALLOWED_RATIO\"}}\n\nFor example, serialize a caption containing the title \"你好\" as:\n{{\"expanded_caption\":\"The title reads \\\"你好\\\".\",\"aspect_ratio\":\"16:9\"}}\n\nReplace ONE_DETAILED_ENGLISH_CAPTION with one fluent English caption paragraph\nthat follows every rule above, and ALLOWED_RATIO with exactly one allowed ratio\nstring. Keep expanded_caption as one valid JSON string. Every ASCII double quotation mark used as caption content inside expanded_caption must be serialized as the JSON escape sequence \\\". Escape all other characters as valid JSON requires. Do not add or omit keys. Do not put thinking or think tags inside\nthe object. Do not output a Markdown fence, alternatives, or any text outside\nthe final JSON object.\n\ninput_text: {input text}\noutput_text:\n"
      ],
      "widgets_values_named": {
        "value": "You are a caption-expansion and canvas-selection model for still-image\ntext-to-image generation. Rewrite input_text into a natural English detailed\ncaption and choose one aspect ratio for the requested final image. After private\nreasoning, serialize the complete caption and aspect ratio together as the one\nrequired two-key JSON object; no visible analysis, markdown, or self-talk. The\ncaption may be long when the requested image is a complex information or design artifact.\n\nRole: act like an expert visual designer and technical illustrator, not a word\nexpander. Preserve every hard fact from the input, then complete the image with\nvisible, inspectable content. The goal is not more words; the goal is that a\nviewer can inspect each important part of the image and find meaningful subjects,\nlabels, relationships, materials, data, and hierarchy.\n\nFirst choose which kind of image this is:\n- A depicted scene or photograph: prioritize subject identity, pose, contact,\nscale, environment, lighting, lens/medium, and physical plausibility.\n- A communication artifact such as poster, character card, product-design board,\nwebpage, UI, chart, dashboard, scientific/medical infographic, technical diagram,\nprinted page, packaging, cover, or multi-panel composite: build a finished\ninformation architecture, not just a scene containing the requested objects.\n\nAspect-ratio decision policy:\nChoose exactly one of these allowed ratios: 1:1, 5:4, 4:3, 3:2, 16:9, 21:9,\n4:5, 3:4, 2:3, or 9:16. Decide in the following order; earlier evidence\noverrides later evidence.\n\n1. Explicit final canvas\n- Preserve an explicit final-output ratio. Map explicit output pixel dimensions\n  by width divided by height to the closest allowed ratio.\n- Do not confuse the final canvas with a source image, reference asset, object,\n  inset, collage cell, or embedded screen.\n\n2. Requested deliverable\n- Use an explicitly requested medium or display surface. Treat each carousel\n  page, card, or slide as its own canvas unless a contact sheet, storyboard,\n  continuous strip, or combined overview is explicitly requested.\n- Prefer square or near-square for individual social posts, icons, avatars,\n  compact logos, or compact product assets; vertical for covers, posters, phone\n  stories, or mobile wallpapers; horizontal for slides, headers, banners, or\n  explicitly wide displays. Do not invent a platform or deliverable.\n\n3. Primary composition\n- The main subject, action, or information structure outweighs optional context.\n  A generic room, park, forest, sky, or cinematic background must not turn a\n  focused subject horizontal.\n- Prefer vertical for dominant upright or full-body subjects, tall structures,\n  stacked information, rising or falling motion, upward reach, or vertical\n  negative space. Prefer horizontal for genuinely side-by-side structure,\n  lateral action, broadly distributed subjects, a requested broad environment,\n  horizontal sequences, or lateral negative space. Prefer square or near-square\n  for compact, centered, radial, symmetrical, or directionally neutral content.\n\n4. Minimal completion and ratio strength\n- If the input is underspecified, form the smallest natural, content-preserving\n  composition needed to choose a ratio. Lock it before adding detailed scenery\n  or styling; do not invent a panorama, broad environment, or multi-panel layout\n  to justify it, and do not revise it because later expansion adds detail.\n- Words such as \"portrait,\" \"cinematic,\" \"video,\" \"UE5,\" \"Weta,\"\n  \"photorealistic,\" \"dramatic,\" and \"wide-angle\" do not determine orientation.\n- Use 5:4 or 4:5 for mild direction, 4:3 or 3:4 for moderate direction, and\n  3:2 or 2:3 for clear photographic direction. Reserve 16:9 and 9:16 for\n  strongly directional or mobile-first compositions, and 21:9 for genuine\n  banners, panoramas, timelines, or explicitly continuous wide layouts. When\n  evidence remains weak, prefer 1:1 or a moderate ratio.\n\nChoose and lock the ratio from the requested canvas, deliverable, and smallest\nnatural primary composition before enriching the caption. Later details added by\nthe caption-expansion rules must not retroactively change the ratio.\n\nUniversal hard rules:\n1. Preserve exact requested text, named entities, counts, formulas, data values,\ncomponent names, style, medium, orientation, and left/right/top/bottom order.\n2. Required content must be visible, not implied. If text or a label is requested,\nplace it on the surface and describe where it sits.\n3. For active bodies, solve scene geometry before pose detail. Preserve any\ndomain-native layout first: a sport court, game grid, path, lane, stair, room,\nor interface should keep its recognizable structure unless the input changes\nit. Do not move the target or redesign the ground merely to obtain a preferred\nbody view. Choose one camera only after the scene layout is fixed, then place\nthe source and target in that camera's image frame using screen-left/screen-\nright, upper/lower image position, and nearer/farther depth. Silently trace the\nsource-to-target vector in this fixed view. Derive the actor's camera-relative\norientation from that vector and state it explicitly as front-facing, back-\nfacing, left-facing profile, right-facing profile, front three-quarter, or rear\nthree-quarter, together with a frame-absolute motion direction such as leftward,\nrightward, toward the camera/foreground, or away from the camera/deeper into the\nscene. Never use only a target-relative phrase such as \"facing square 2\" or\n\"looking toward the door\". The mapping follows the chosen geometry rather than\na fixed default: a target at screen-right implies a right-facing or rightward\nbody; a target at screen-left implies a left-facing or leftward body; a target\nfarther into the scene implies a back-facing or rear-three-quarter body moving\naway; and a target nearer the camera implies a front-facing or front-three-\nquarter body moving toward the viewer. These are coordinate mappings, not\ninstructions to relocate every target. Verify the visible body surfaces before\nwriting: movement away must show the back, back of the head, or rear shoulders\nand must not show a frontal chest or full face; movement toward the camera must\nshow the face and chest; lateral movement must read as the corresponding side\nprofile. If the stated source/target positions and visible body surfaces imply\nopposite directions, revise the body orientation instead of changing the scene\nlayout. Keep gaze, chest, torso lean, leading limb, support foot or hand, and\nmotion consistent with the derived orientation and with one frozen phase. A\nlimb cannot be simultaneously ahead and behind, planted and airborne, or\nassigned to two contacts. For actions on marked ground, use an elevated high-angle oblique or near-\noverhead three-quarter camera, never a low ground-level view. Center the camera on the complete ground map and make it the dominant, fully\ncontained region of the image: show its outer boundary, every cell or segment,\nthe source, target, and full travel path. After deriving the source-to-target\nvector, place the actor's torso outside the map on the ray extending backward\nfrom the source in the direction opposite the target. Do not move the actor to\nan arbitrary side margin if that would change the apparent travel direction.\nOnly the support foot may enter the near edge of the source cell, leaving its\nlabel visible; place the leading foot in the source-target direction near their\ngap. Keep torso, limbs, hair, clothing, and cast shadow outside every later cell\nand label. Widen or elevate the camera framing rather than rotating the actor or\nrelocating the target. This placement must preserve the previously derived front,\nback, left, right, or three-quarter camera-relative orientation. Preserve conventional topology and perspective, keep every label upright and\nlarge enough to read, and show each requested label exactly once in order. If\nthe input does not specify label colors or materials, use one neutral, uniform,\nhigh-contrast marking style for every label; unspecified styling is not permission\nto assign a different color to each item. Keep the actor's hands empty unless the\ninput names a held object. Do not add loose markers, stones, chalk pieces, buckets,\nropes, toys, shadows, limbs, or cropping over any label or grid line.\nPreserve a plausible silhouette and avoid broken foreshortening, hidden critical\njoints, mirrored layouts, alternative camera choices, and blended before-and-\nafter poses. For emotion-driven photo or video frames, keep facial anatomy\nnatural and consistent with the selected viewpoint.\n4. For hands, grips, linked fingers, hugs, carrying, pointing, tools, weapons, or\nbody-object contact, choose the framing that makes the interaction readable. Use\na medium shot or waist-up view when hand/facial detail is central; do not force a\nfull-body view if it makes the required contact or expression tiny. State which\nhand or limb touches what, how the fingers or support points align, and keep\nnonessential limbs simple.\n5. Use world knowledge as visible evidence only: cultural motifs, scientific\nstructures, medical anatomy, interface conventions, manufacturing details,\nprofessional tools, materials, units, labels, measurement marks, clothing, props,\narchitecture, or environment. Do not add lore that cannot be seen.\n6. Respect requested subject count. If the prompt names event types, two\ncharacters, or one primary subject, keep the number of primary figures to that\nminimum unless extra people are requested. Background crowds, spectators, or\nstaff should read as small silhouettes or graphic texture, not extra competing\nmain subjects.\n\nFor communication artifacts, silently make a content map before writing. Divide\nthe canvas in reading order into major slots: header/title, subtitle/tagline,\nhero visual, left panel, right sidebar, card row, icon group, diagram body,\nprocess path, chart area, formula box, exploded view, inset, specification area,\nswatch strip, instruction cards, footer, screen region, or background context.\nEach major slot should normally include at least three of these: position, visible\ntext or label, concrete visual subject, function or relationship, material/data\ntreatment, and hierarchy/style treatment. Do not use vague slot fillers such as\n\"icons,\" \"details,\" \"information,\" \"supporting graphics,\" or \"annotations\"\nwithout saying what they show.\n\nMake the artifact feel complete. If the prompt asks for a card, board, poster,\ninfographic, webpage, or product sheet, add a few plausible supporting elements\nthat belong to that artifact when they help completeness: subtitle, role/profile,\nabout note, quote, ratings, legend, color key, units, variable definitions,\ndimension labels, back/side view, material stack, use-case icons, footer tips,\nQR/logo placeholder, warning, or compact specification table. Keep these as short\nreadable on-image labels or one-line captions, not prose blocks.\n\nCorrespondence and legibility rules:\n- Multi-view outputs such as floor plan plus interior render, blueprint plus\nproduct render, map plus scene, or before/after panels need a shared inventory\nand coordinate frame. Reuse the same walls, openings, furniture/components,\nmaterials, labels, and relative positions in every panel. Name the render camera\norigin or viewing direction from the plan when useful, and do not invent major\nobjects that are absent from the paired view.\n- Dense flowcharts, medical diagrams, route maps, and process infographics should\nbe simplified into a few large numbered nodes, separated lanes, or a clean\nU-shaped loop. Arrows must be thick, directional, non-crossing, and attached to\nnamed start/end nodes. Prefer legible topology and large labels over many small\nleader lines, tiny arrows, or decorative clutter.\n\nContract affordances:\n- Scientific/medical/educational infographic: include named section headers;\nmain diagram with attached component labels; arrows with correct direction and\nstart/end nodes; legends or color keys; short functional captions; key-point\ncards with icon plus meaning; definitions and units; formula box with variable\ndefinitions; and process/system context such as body, lungs, vessels, lab setup,\nmolecule, device, or environment when implied.\n- Charts, graphs, dashboards, and data screens: include chart title when useful,\naxis labels, tick labels or scale endpoints, units, legend entries, colors, data\nmarks, selected states, and values or qualitative endpoints placed consistently\nwith the visual geometry. Even if the chart appears on a photographed stage\nscreen, the screen content still needs readable chart semantics.\n- Product/cultural design board: include title/subtitle/tagline; inspiration or\nuse-case cues; large hero render; motif-specific details; front/back/side or\nscale insets when useful; exploded layers; manufacturable joints, pins, clasps,\nfasteners, seams, ribs, holes, tolerances, or contact points; material stack;\nfinish behavior; dimension labels; palette swatches; specification and craft\nicons.\n- Character card/mascot sheet: include identity/title; name tag; role/profile or\nabout area; full-body readable proportions; attribute rows with icon, label, and\nbrief meaning; props tied to the role; material swatches or callouts; optional\nrating, quote, badge, instruction row, or contextual background so it reads as a\ndesigned card/poster rather than a plain character portrait.\n- UI/web/dashboard/data graphic: include real page/screen sections, navigation,\ncontrols, fields, buttons, cards, selected states, labels, values, icons, and\nintentional empty states only when requested.\n- Public poster/cover/packaging/display graphic: include typography hierarchy,\nheadline/subtitle/supporting copy, image slots, instruction cards, icons, badges,\nborders/rules, QR/barcode/logo placeholders if requested, palette, and intentional\nnegative space. When a poster features sports, products, or people, use one clear\nhero subject per requested category unless the prompt asks for a group.\n\nStyle comes after content. Choose clean isolation for icons/logos/cutouts and\ntechnical assets; layout-rich pages or boards for design communication; believable\nenvironment, lighting, lens, and depth for photographs. Replace abstract mood and\ngeneric adjectives with specific visible cues.\n\nFinal self-check: every input requirement is visible; every major slot has real\ncontent; required text/formulas/values are exact; labels attach to correct\nstructures; arrows and data geometry are coherent; body orientation is explicit relative to the camera and agrees with the preserved scene layout, source, target, depth, gaze, support, and motion; paired panels correspond; subject count has not grown by accident;\nworld knowledge appears as visible evidence; no important surface is blank.\n\nFinal output contract:\nUse the private thinking section to plan the caption and ratio. After thinking,\nthe visible final answer must be exactly one JSON object with exactly these two\nkeys:\n\n{{\"expanded_caption\":\"ONE_DETAILED_ENGLISH_CAPTION\",\"aspect_ratio\":\"ALLOWED_RATIO\"}}\n\nFor example, serialize a caption containing the title \"你好\" as:\n{{\"expanded_caption\":\"The title reads \\\"你好\\\".\",\"aspect_ratio\":\"16:9\"}}\n\nReplace ONE_DETAILED_ENGLISH_CAPTION with one fluent English caption paragraph\nthat follows every rule above, and ALLOWED_RATIO with exactly one allowed ratio\nstring. Keep expanded_caption as one valid JSON string. Every ASCII double quotation mark used as caption content inside expanded_caption must be serialized as the JSON escape sequence \\\". Escape all other characters as valid JSON requires. Do not add or omit keys. Do not put thinking or think tags inside\nthe object. Do not output a Markdown fence, alternatives, or any text outside\nthe final JSON object.\n\ninput_text: {input text}\noutput_text:\n"
      }
    },
    {
      "id": 40,
      "type": "StringReplace",
      "pos": [
        1606.3183948345727,
        1602.102397269899
      ],
      "size": [
        400,
        147
      ],
      "flags": {
        "collapsed": true
      },
      "order": 17,
      "mode": 0,
      "inputs": [
        {
          "name": "string",
          "type": "STRING",
          "widget": {
            "name": "string"
          },
          "link": 58
        },
        {
          "name": "replace",
          "type": "STRING",
          "widget": {
            "name": "replace"
          },
          "link": 70
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            69
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "StringReplace",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "",
        "{input text}",
        ""
      ],
      "widgets_values_named": {
        "string": "",
        "find": "{input text}",
        "replace": ""
      }
    },
    {
      "id": 41,
      "type": "ComfySwitchNode",
      "pos": [
        2056.3183948345727,
        1532.102397269899
      ],
      "size": [
        270,
        80
      ],
      "flags": {},
      "order": 24,
      "mode": 0,
      "inputs": [
        {
          "name": "on_false",
          "shape": 7,
          "type": "STRING",
          "link": 62
        },
        {
          "name": "on_true",
          "shape": 7,
          "type": "STRING",
          "link": 66
        }
      ],
      "outputs": [
        {
          "name": "output",
          "type": "STRING",
          "links": [
            53
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "ComfySwitchNode",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        false
      ],
      "widgets_values_named": {
        "switch": false
      },
      "color": "#322",
      "bgcolor": "#533"
    },
    {
      "id": 42,
      "type": "VAEDecode",
      "pos": [
        2996.3183948345727,
        312.10239726989903
      ],
      "size": [
        210,
        50
      ],
      "flags": {},
      "order": 29,
      "mode": 0,
      "inputs": [
        {
          "name": "samples",
          "type": "LATENT",
          "link": 59
        },
        {
          "name": "vae",
          "type": "VAE",
          "link": 60
        }
      ],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            166
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "VAEDecode",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      }
    },
    {
      "id": 43,
      "type": "PrimitiveStringMultiline",
      "pos": [
        756.3183948345726,
        972.102397269899
      ],
      "size": [
        460,
        580
      ],
      "flags": {},
      "order": 9,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            62,
            70
          ]
        }
      ],
      "title": "Text (user_prompt)",
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "PrimitiveStringMultiline",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "A vertical (9:16) close-up flash portrait of a young woman in her early 20s, head tilted slightly to the side, with a warm, playful closed-lip smile and a soft, knowing look. She has fair, rosy skin with a light dusting of ginger freckles across her nose, cheeks, and forehead, a natural healthy glow, and realistic skin texture. Her striking violet-blue eyes have long, fluttery, defined lashes, softly arched brown brows, and glossy pink-nude lips.\n\nShe wears thin, round wire-frame glasses in a rose-gold or copper-pink metal with clear nose pads, with slight lens reflections. Her long, wavy, layered chestnut-brown hair has warm auburn undertones, a center part, and soft volume, falling around her face and over her shoulders with a few flyaways.\n\nHer jewelry includes chunky, clear glass or acrylic hoop earrings with stacked small cartilage piercings, and a layered necklace stack of a thin black choker cord, a silver chain, a silver charm, and a small faceted coral-orange heart pendant. She wears a dusty plum-mauve fitted knit top, and her hand rests at the lower left edge of the frame with manicured pale-pink almond nails.\n\nThe background is a dark, dimly lit indoor space, softly blurred, with a hint of warm amber bokeh light at the left edge. Direct on-camera flash lights her face evenly against the darker surroundings.\n\nStyle: casual night-out flash photography, early-2000s point-and-shoot or smartphone flash aesthetic, photorealistic, sharp focus on the eyes and face, high detail, warm and intimate mood."
      ],
      "widgets_values_named": {
        "value": "A vertical (9:16) close-up flash portrait of a young woman in her early 20s, head tilted slightly to the side, with a warm, playful closed-lip smile and a soft, knowing look. She has fair, rosy skin with a light dusting of ginger freckles across her nose, cheeks, and forehead, a natural healthy glow, and realistic skin texture. Her striking violet-blue eyes have long, fluttery, defined lashes, softly arched brown brows, and glossy pink-nude lips.\n\nShe wears thin, round wire-frame glasses in a rose-gold or copper-pink metal with clear nose pads, with slight lens reflections. Her long, wavy, layered chestnut-brown hair has warm auburn undertones, a center part, and soft volume, falling around her face and over her shoulders with a few flyaways.\n\nHer jewelry includes chunky, clear glass or acrylic hoop earrings with stacked small cartilage piercings, and a layered necklace stack of a thin black choker cord, a silver chain, a silver charm, and a small faceted coral-orange heart pendant. She wears a dusty plum-mauve fitted knit top, and her hand rests at the lower left edge of the frame with manicured pale-pink almond nails.\n\nThe background is a dark, dimly lit indoor space, softly blurred, with a hint of warm amber bokeh light at the left edge. Direct on-camera flash lights her face evenly against the darker surroundings.\n\nStyle: casual night-out flash photography, early-2000s point-and-shoot or smartphone flash aesthetic, photorealistic, sharp focus on the eyes and face, high detail, warm and intimate mood."
      },
      "color": "#232",
      "bgcolor": "#353"
    },
    {
      "id": 44,
      "type": "JsonExtractString",
      "pos": [
        2086.3183948345727,
        1472.102397269899
      ],
      "size": [
        410,
        71
      ],
      "flags": {
        "collapsed": true
      },
      "order": 23,
      "mode": 0,
      "inputs": [
        {
          "name": "json_string",
          "type": "STRING",
          "widget": {
            "name": "json_string"
          },
          "link": 65
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            66
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "JsonExtractString",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "",
        "expanded_caption"
      ],
      "widgets_values_named": {
        "json_string": "",
        "key": "expanded_caption"
      }
    },
    {
      "id": 65,
      "type": "SaveImage",
      "pos": [
        3294.161996225431,
        312.10239726989903
      ],
      "size": [
        1071.4785307586112,
        1646.7153155648264
      ],
      "flags": {},
      "order": 30,
      "mode": 0,
      "inputs": [
        {
          "name": "images",
          "type": "IMAGE",
          "link": 166
        }
      ],
      "outputs": [
        {
          "name": "images",
          "type": "IMAGE",
          "links": []
        }
      ],
      "title": "euler_ancestral beta57",
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "Node name for S&R": "SaveImage",
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "minimax_h3_image_t2i"
      ],
      "widgets_values_named": {
        "filename_prefix": "minimax_h3_image_t2i"
      }
    },
    {
      "id": 70,
      "type": "Note",
      "pos": [
        2618.57213620344,
        86.03749843084697
      ],
      "size": [
        317.7874352747999,
        119.01640395983839
      ],
      "flags": {},
      "order": 10,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "title": "Best samplers",
      "properties": {
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "1, euler_ancestral simple/beta57/ddim-uniform\n\n2, er_sde simple\n\n3, euler simple\n\n4, LCM SIMPLE"
      ],
      "widgets_values_named": {
        "text": "1, euler_ancestral simple/beta57/ddim-uniform\n\n2, er_sde simple\n\n3, euler simple\n\n4, LCM SIMPLE"
      },
      "color": "#432",
      "bgcolor": "#653"
    },
    {
      "id": 88,
      "type": "MiniMaxH3SigmaShift",
      "pos": [
        1977.6755237408224,
        312.10239726989903
      ],
      "size": [
        277.2857421875,
        82
      ],
      "flags": {},
      "order": 16,
      "mode": 4,
      "inputs": [
        {
          "name": "model",
          "type": "MODEL",
          "link": 150
        }
      ],
      "outputs": [
        {
          "name": "MODEL",
          "type": "MODEL",
          "links": [
            151
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.42.5",
        "Node name for S&R": "MiniMaxH3SigmaShift",
        "ue_properties": {
          "widget_ue_connectable": {
            "shift_video": true,
            "shift_audio": true
          },
          "version": "7.8",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        2,
        1
      ],
      "widgets_values_named": {
        "shift_video": 2,
        "shift_audio": 1
      }
    },
    {
      "id": 94,
      "type": "LoadImage",
      "pos": [
        1266.318394834573,
        1774.9222847571755
      ],
      "size": [
        344.4044179304153,
        450.1053969747959
      ],
      "flags": {},
      "order": 11,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            153
          ]
        },
        {
          "name": "MASK",
          "type": "MASK",
          "links": []
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.44.0",
        "Node name for S&R": "LoadImage",
        "ue_properties": {
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "version": "7.8"
        }
      },
      "widgets_values": [
        "mTFkN6.png",
        "image"
      ],
      "widgets_values_named": {
        "image": "mTFkN6.png",
        "upload": "image"
      }
    },
    {
      "id": 95,
      "type": "ImageScaleToMaxDimension",
      "pos": [
        1637.1971850022906,
        1776.2114942301275
      ],
      "size": [
        303.4400390625,
        82
      ],
      "flags": {},
      "order": 18,
      "mode": 0,
      "inputs": [
        {
          "name": "image",
          "type": "IMAGE",
          "link": 153
        }
      ],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            157
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.44.0",
        "Node name for S&R": "ImageScaleToMaxDimension",
        "ue_properties": {
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "version": "7.8"
        }
      },
      "widgets_values": [
        "lanczos",
        1280
      ],
      "widgets_values_named": {
        "upscale_method": "lanczos",
        "largest_size": 1280
      }
    },
    {
      "id": 96,
      "type": "LoadImage",
      "pos": [
        1272.3627184586148,
        2282.2035637328827
      ],
      "size": [
        316.46703806303174,
        430.76412558157244
      ],
      "flags": {},
      "order": 12,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            154
          ]
        },
        {
          "name": "MASK",
          "type": "MASK",
          "links": []
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.44.0",
        "Node name for S&R": "LoadImage",
        "ue_properties": {
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "version": "7.8"
        }
      },
      "widgets_values": [
        "oniRhi.png",
        "image"
      ],
      "widgets_values_named": {
        "image": "oniRhi.png",
        "upload": "image"
      }
    },
    {
      "id": 97,
      "type": "ImageScaleToMaxDimension",
      "pos": [
        1624.2886894426356,
        2281.936097189
      ],
      "size": [
        303.4400390625,
        82
      ],
      "flags": {},
      "order": 19,
      "mode": 0,
      "inputs": [
        {
          "name": "image",
          "type": "IMAGE",
          "link": 154
        }
      ],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            159
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.44.0",
        "Node name for S&R": "ImageScaleToMaxDimension",
        "ue_properties": {
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "version": "7.8"
        }
      },
      "widgets_values": [
        "lanczos",
        1280
      ],
      "widgets_values_named": {
        "upscale_method": "lanczos",
        "largest_size": 1280
      }
    },
    {
      "id": 98,
      "type": "LoadImage",
      "pos": [
        1980.5335508378437,
        1773.7707413247904
      ],
      "size": [
        344.4044179304153,
        450.1053969747959
      ],
      "flags": {},
      "order": 13,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            155
          ]
        },
        {
          "name": "MASK",
          "type": "MASK",
          "links": []
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.44.0",
        "Node name for S&R": "LoadImage",
        "ue_properties": {
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "version": "7.8"
        }
      },
      "widgets_values": [
        "WGBDV3.png",
        "image"
      ],
      "widgets_values_named": {
        "image": "WGBDV3.png",
        "upload": "image"
      }
    },
    {
      "id": 99,
      "type": "LoadImage",
      "pos": [
        1986.5778744618854,
        2281.052020300498
      ],
      "size": [
        316.46703806303174,
        430.76412558157244
      ],
      "flags": {},
      "order": 14,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            156
          ]
        },
        {
          "name": "MASK",
          "type": "MASK",
          "links": []
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.44.0",
        "Node name for S&R": "LoadImage",
        "ue_properties": {
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "version": "7.8"
        }
      },
      "widgets_values": [
        "DQSY4A.png",
        "image"
      ],
      "widgets_values_named": {
        "image": "DQSY4A.png",
        "upload": "image"
      }
    },
    {
      "id": 100,
      "type": "ImageScaleToMaxDimension",
      "pos": [
        2351.4123410055618,
        1775.0599507977424
      ],
      "size": [
        303.4400390625,
        82
      ],
      "flags": {},
      "order": 20,
      "mode": 0,
      "inputs": [
        {
          "name": "image",
          "type": "IMAGE",
          "link": 155
        }
      ],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            158
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.44.0",
        "Node name for S&R": "ImageScaleToMaxDimension",
        "ue_properties": {
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "version": "7.8"
        }
      },
      "widgets_values": [
        "lanczos",
        1280
      ],
      "widgets_values_named": {
        "upscale_method": "lanczos",
        "largest_size": 1280
      }
    },
    {
      "id": 101,
      "type": "ImageScaleToMaxDimension",
      "pos": [
        2338.5038454459063,
        2280.7845537566154
      ],
      "size": [
        303.4400390625,
        82
      ],
      "flags": {},
      "order": 21,
      "mode": 0,
      "inputs": [
        {
          "name": "image",
          "type": "IMAGE",
          "link": 156
        }
      ],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            160
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.44.0",
        "Node name for S&R": "ImageScaleToMaxDimension",
        "ue_properties": {
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "version": "7.8"
        }
      },
      "widgets_values": [
        "lanczos",
        1280
      ],
      "widgets_values_named": {
        "upscale_method": "lanczos",
        "largest_size": 1280
      }
    },
    {
      "id": 105,
      "type": "ConditioningZeroOut",
      "pos": [
        2291.5367542095723,
        372.10239726989903
      ],
      "size": [
        204.134765625,
        26
      ],
      "flags": {},
      "order": 27,
      "mode": 0,
      "inputs": [
        {
          "name": "conditioning",
          "type": "CONDITIONING",
          "link": 164
        }
      ],
      "outputs": [
        {
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            165
          ]
        }
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "ver": "0.45.0",
        "ue_properties": {
          "version": "8.0.1",
          "widget_ue_connectable": {},
          "input_ue_unconnectable": {},
          "title_regex": null,
          "input_regex": null,
          "group_regex": null,
          "title_regex_invert": false,
          "input_regex_invert": false,
          "group_regex_invert": false,
          "apply_to_unrepeated": 0,
          "send_to_any": 0,
          "string_to_combo": 0,
          "repeated_type_rule": 0,
          "group_restricted": 0,
          "color_restricted": 0
        },
        "Node name for S&R": "ConditioningZeroOut"
      }
    },
    {
      "id": 106,
      "type": "Note",
      "pos": [
        2988.5851534653084,
        632.102397269899
      ],
      "size": [
        253.20343576127698,
        150
      ],
      "flags": {},
      "order": 15,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "title": "use 6mp & up!!!!",
      "properties": {
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "8.0.1",
          "input_ue_unconnectable": {}
        }
      },
      "widgets_values": [
        "4MP and Lower will give you a brushed and lowres images with ugly jpeg artifacts!!!\n\nuse 6mp and up pls!\n\nInstead of complaining experiment more. "
      ],
      "widgets_values_named": {
        "text": "4MP and Lower will give you a brushed and lowres images with ugly jpeg artifacts!!!\n\nuse 6mp and up pls!\n\nInstead of complaining experiment more. "
      },
      "color": "#432",
      "bgcolor": "#653"
    }
  ],
  "links": [
    [
      53,
      41,
      0,
      37,
      0,
      "*"
    ],
    [
      55,
      32,
      0,
      38,
      1,
      "CONDITIONING"
    ],
    [
      57,
      32,
      1,
      38,
      3,
      "LATENT"
    ],
    [
      58,
      39,
      0,
      40,
      0,
      "STRING"
    ],
    [
      59,
      38,
      0,
      42,
      0,
      "LATENT"
    ],
    [
      60,
      31,
      0,
      42,
      1,
      "VAE"
    ],
    [
      62,
      43,
      0,
      41,
      0,
      "STRING"
    ],
    [
      65,
      34,
      0,
      44,
      0,
      "STRING"
    ],
    [
      66,
      44,
      0,
      41,
      1,
      "STRING"
    ],
    [
      70,
      43,
      0,
      40,
      1,
      "STRING"
    ],
    [
      150,
      29,
      0,
      88,
      0,
      "MODEL"
    ],
    [
      151,
      88,
      0,
      38,
      0,
      "MODEL"
    ],
    [
      153,
      94,
      0,
      95,
      0,
      "IMAGE"
    ],
    [
      154,
      96,
      0,
      97,
      0,
      "IMAGE"
    ],
    [
      155,
      98,
      0,
      100,
      0,
      "IMAGE"
    ],
    [
      156,
      99,
      0,
      101,
      0,
      "IMAGE"
    ],
    [
      67,
      35,
      0,
      34,
      0,
      "CLIP"
    ],
    [
      68,
      36,
      0,
      34,
      4,
      "STRING"
    ],
    [
      69,
      40,
      0,
      34,
      5,
      "STRING"
    ],
    [
      49,
      30,
      0,
      32,
      0,
      "CLIP"
    ],
    [
      50,
      31,
      0,
      32,
      1,
      "VAE"
    ],
    [
      157,
      95,
      0,
      32,
      2,
      "IMAGE"
    ],
    [
      158,
      100,
      0,
      32,
      3,
      "IMAGE"
    ],
    [
      159,
      97,
      0,
      32,
      4,
      "IMAGE"
    ],
    [
      160,
      101,
      0,
      32,
      5,
      "IMAGE"
    ],
    [
      51,
      37,
      0,
      32,
      10,
      "STRING"
    ],
    [
      63,
      14,
      0,
      32,
      11,
      "INT"
    ],
    [
      64,
      14,
      1,
      32,
      12,
      "INT"
    ],
    [
      164,
      32,
      0,
      105,
      0,
      "CONDITIONING"
    ],
    [
      165,
      105,
      0,
      38,
      2,
      "CONDITIONING"
    ],
    [
      166,
      42,
      0,
      65,
      0,
      "IMAGE"
    ]
  ],
  "groups": [
    {
      "id": 6,
      "title": "Group",
      "bounding": [
        1266.3183948345727,
        222.10239726989903,
        650,
        620
      ],
      "color": "#3f789e",
      "flags": {}
    },
    {
      "id": 7,
      "title": "Group",
      "bounding": [
        1946.3183948345727,
        222.10239726989903,
        580,
        620
      ],
      "color": "#3f789e",
      "flags": {}
    },
    {
      "id": 8,
      "title": "Sampling",
      "bounding": [
        2556.3183948345727,
        222.10239726989903,
        410,
        620
      ],
      "color": "#3f789e",
      "flags": {}
    },
    {
      "id": 9,
      "title": "Prompt Enhancer",
      "bounding": [
        1266.3183948345727,
        872.102397269899,
        1700,
        790
      ],
      "color": "#444",
      "flags": {}
    },
    {
      "id": 10,
      "title": "User Prompt",
      "bounding": [
        726.3183948345726,
        872.102397269899,
        510,
        790
      ],
      "color": "#3f789e",
      "flags": {}
    },
    {
      "id": 11,
      "title": "if you want clearer/brighter images use ref images along with your main prompt",
      "bounding": [
        1256.318394834573,
        1703.7707413247904,
        1408.533985233489,
        1019.1969479896647
      ],
      "color": "#3f789e",
      "flags": {}
    }
  ],
  "config": {},
  "extra": {
    "ds": {
      "scale": 0.47362440744767303,
      "offset": [
        647.8793272910825,
        287.06388525397966
      ]
    },
    "frontendVersion": "1.58.5",
    "ue_links": [],
    "links_added_by_ue": [],
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "VHS_MetadataImage": true,
    "VHS_KeepIntermediate": true
  },
  "version": 0.4,
  "seed_widgets": {
    "38": 0
  }
}