{
  "config": {},
  "definitions": {
    "subgraphs": [
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "LG"
        },
        "groups": [],
        "id": "319c5e46-36eb-4854-a39e-1291507505e2",
        "inputNode": {
          "bounding": [
            1590,
            -144,
            157.978515625,
            80
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "928a183d-8b1d-4f04-b373-dce1c4517d68",
            "linkIds": [
              25,
              76
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              1727.978515625,
              -124
            ],
            "type": "IMAGE"
          },
          {
            "id": "b50555aa-fdc1-45ad-b40b-0d7325d99a88",
            "label": "expand_img_percent",
            "linkIds": [
              68
            ],
            "name": "a",
            "pos": [
              1727.978515625,
              -104
            ],
            "type": "INT,FLOAT"
          }
        ],
        "links": [
          {
            "id": 28,
            "origin_id": 27,
            "origin_slot": 0,
            "target_id": 28,
            "target_slot": 0,
            "type": "INT"
          },
          {
            "id": 66,
            "origin_id": 47,
            "origin_slot": 0,
            "target_id": 28,
            "target_slot": 1,
            "type": "INT"
          },
          {
            "id": 35,
            "origin_id": 27,
            "origin_slot": 1,
            "target_id": 32,
            "target_slot": 0,
            "type": "INT"
          },
          {
            "id": 65,
            "origin_id": 47,
            "origin_slot": 0,
            "target_id": 32,
            "target_slot": 1,
            "type": "INT"
          },
          {
            "id": 31,
            "origin_id": 28,
            "origin_slot": 0,
            "target_id": 24,
            "target_slot": 1,
            "type": "INT"
          },
          {
            "id": 36,
            "origin_id": 32,
            "origin_slot": 0,
            "target_id": 24,
            "target_slot": 2,
            "type": "INT"
          },
          {
            "id": 32,
            "origin_id": 28,
            "origin_slot": 0,
            "target_id": 24,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 37,
            "origin_id": 32,
            "origin_slot": 0,
            "target_id": 24,
            "target_slot": 4,
            "type": "INT"
          },
          {
            "id": 60,
            "origin_id": 24,
            "origin_slot": 0,
            "target_id": 45,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 25,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 24,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 38,
            "origin_id": 24,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 68,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 47,
            "target_slot": 0,
            "type": "INT,FLOAT"
          },
          {
            "id": 76,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 58,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 77,
            "origin_id": 58,
            "origin_slot": 0,
            "target_id": 27,
            "target_slot": 0,
            "type": "IMAGE"
          }
        ],
        "name": "Image to Outpaint",
        "nodes": [
          {
            "flags": {},
            "id": 28,
            "inputs": [
              {
                "link": 28,
                "localized_name": "a",
                "name": "a",
                "shape": 7,
                "type": "INT,FLOAT"
              },
              {
                "link": 66,
                "localized_name": "b",
                "name": "b",
                "shape": 7,
                "type": "INT,FLOAT"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  31,
                  32
                ],
                "localized_name": "INT",
                "name": "INT",
                "type": "INT"
              },
              {
                "links": null,
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT"
              }
            ],
            "pos": [
              2420,
              -290
            ],
            "properties": {
              "Node name for S&R": "SimpleMath+",
              "cnr_id": "comfyui_essentials",
              "ver": "1.1.0"
            },
            "size": [
              300,
              80
            ],
            "title": "Calculate left/right pixel expand",
            "type": "SimpleMath+",
            "widgets_values": [
              "(a * b) / 2"
            ]
          },
          {
            "flags": {},
            "id": 32,
            "inputs": [
              {
                "link": 35,
                "localized_name": "a",
                "name": "a",
                "shape": 7,
                "type": "INT,FLOAT"
              },
              {
                "link": 65,
                "localized_name": "b",
                "name": "b",
                "shape": 7,
                "type": "INT,FLOAT"
              }
            ],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  36,
                  37
                ],
                "localized_name": "INT",
                "name": "INT",
                "type": "INT"
              },
              {
                "links": null,
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT"
              }
            ],
            "pos": [
              2420,
              -130
            ],
            "properties": {
              "Node name for S&R": "SimpleMath+",
              "cnr_id": "comfyui_essentials",
              "ver": "1.1.0"
            },
            "size": [
              300,
              78
            ],
            "title": "Calculate top/bottom pixel expand",
            "type": "SimpleMath+",
            "widgets_values": [
              "(a * b) / 2"
            ]
          },
          {
            "flags": {},
            "id": 47,
            "inputs": [
              {
                "link": 68,
                "localized_name": "a",
                "name": "a",
                "shape": 7,
                "type": "INT,FLOAT"
              },
              {
                "link": null,
                "localized_name": "b",
                "name": "b",
                "shape": 7,
                "type": "INT,FLOAT"
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  65,
                  66
                ],
                "localized_name": "INT",
                "name": "INT",
                "type": "INT"
              },
              {
                "links": null,
                "localized_name": "FLOAT",
                "name": "FLOAT",
                "type": "FLOAT"
              }
            ],
            "pos": [
              2420,
              30
            ],
            "properties": {
              "Node name for S&R": "SimpleMath+",
              "cnr_id": "comfyui_essentials",
              "ver": "1.1.0"
            },
            "size": [
              300,
              78
            ],
            "title": "Calculate % to decimal value",
            "type": "SimpleMath+",
            "widgets_values": [
              "a / 100"
            ]
          },
          {
            "flags": {},
            "id": 27,
            "inputs": [
              {
                "link": 77,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  28
                ],
                "localized_name": "width",
                "name": "width",
                "type": "INT"
              },
              {
                "links": [
                  35
                ],
                "localized_name": "height",
                "name": "height",
                "type": "INT"
              },
              {
                "links": null,
                "localized_name": "batch_size",
                "name": "batch_size",
                "type": "INT"
              }
            ],
            "pos": [
              2150,
              -240
            ],
            "properties": {
              "Node name for S&R": "GetImageSize",
              "cnr_id": "comfy-core",
              "ver": "0.5.1"
            },
            "size": [
              140,
              66
            ],
            "type": "GetImageSize",
            "widgets_values": []
          },
          {
            "flags": {},
            "id": 58,
            "inputs": [
              {
                "link": 76,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 6,
            "outputs": [
              {
                "links": [
                  77
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              1850,
              -240
            ],
            "properties": {
              "Node name for S&R": "ImageScaleToTotalPixels",
              "cnr_id": "comfy-core",
              "ver": "0.5.1"
            },
            "size": [
              210,
              106
            ],
            "type": "ImageScaleToTotalPixels",
            "widgets_values": [
              "lanczos",
              1,
              1
            ]
          },
          {
            "flags": {},
            "id": 45,
            "inputs": [
              {
                "link": 60,
                "localized_name": "images",
                "name": "images",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [],
            "pos": [
              3250,
              -280
            ],
            "properties": {
              "Node name for S&R": "PreviewImage",
              "cnr_id": "comfy-core",
              "ver": "0.5.1"
            },
            "size": [
              460,
              290
            ],
            "type": "PreviewImage",
            "widgets_values": []
          },
          {
            "flags": {},
            "id": 24,
            "inputs": [
              {
                "link": 25,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              },
              {
                "link": 31,
                "localized_name": "left",
                "name": "left",
                "type": "INT",
                "widget": {
                  "name": "left"
                }
              },
              {
                "link": 36,
                "localized_name": "top",
                "name": "top",
                "type": "INT",
                "widget": {
                  "name": "top"
                }
              },
              {
                "link": 32,
                "localized_name": "right",
                "name": "right",
                "type": "INT",
                "widget": {
                  "name": "right"
                }
              },
              {
                "link": 37,
                "localized_name": "bottom",
                "name": "bottom",
                "type": "INT",
                "widget": {
                  "name": "bottom"
                }
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [
              {
                "links": [
                  38,
                  60
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              },
              {
                "links": [],
                "localized_name": "MASK",
                "name": "MASK",
                "type": "MASK"
              }
            ],
            "pos": [
              2860,
              -280
            ],
            "properties": {
              "Node name for S&R": "ImagePadForOutpaint",
              "cnr_id": "comfy-core",
              "ver": "0.5.1"
            },
            "size": [
              272.780859375,
              174
            ],
            "type": "ImagePadForOutpaint",
            "widgets_values": [
              0,
              0,
              0,
              0,
              40
            ]
          }
        ],
        "outputNode": {
          "bounding": [
            3815.7569739090827,
            -157.0962556425554,
            120,
            60
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "f473101e-20bc-4305-bd6c-99cddacffd9d",
            "linkIds": [
              38
            ],
            "localized_name": "IMAGE",
            "name": "IMAGE",
            "pos": [
              3835.7569739090827,
              -137.0962556425554
            ],
            "type": "IMAGE"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 77,
          "lastNodeId": 58,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      },
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "LG"
        },
        "groups": [],
        "id": "afac6e36-94b5-4d13-ae22-66f87405e994",
        "inputNode": {
          "bounding": [
            460,
            460,
            120,
            80
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "a0729ab6-ea03-4b76-bbfc-531bcf3369bb",
            "linkIds": [
              17,
              77
            ],
            "localized_name": "image1",
            "name": "image1",
            "pos": [
              560,
              480
            ],
            "type": "IMAGE"
          },
          {
            "id": "41e74794-4a42-4041-89d1-7601e37c6cea",
            "linkIds": [
              14
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              560,
              500
            ],
            "type": "IMAGE"
          }
        ],
        "links": [
          {
            "id": 15,
            "origin_id": 16,
            "origin_slot": 0,
            "target_id": 15,
            "target_slot": 1,
            "type": "INT"
          },
          {
            "id": 16,
            "origin_id": 16,
            "origin_slot": 1,
            "target_id": 15,
            "target_slot": 2,
            "type": "INT"
          },
          {
            "id": 17,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 16,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 14,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 15,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 77,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 59,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 78,
            "origin_id": 59,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 79,
            "origin_id": 15,
            "origin_slot": 0,
            "target_id": 59,
            "target_slot": 1,
            "type": "IMAGE"
          }
        ],
        "name": "Batch Images",
        "nodes": [
          {
            "flags": {},
            "id": 16,
            "inputs": [
              {
                "link": 17,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  15
                ],
                "localized_name": "width",
                "name": "width",
                "type": "INT"
              },
              {
                "links": [
                  16
                ],
                "localized_name": "height",
                "name": "height",
                "type": "INT"
              },
              {
                "links": null,
                "localized_name": "batch_size",
                "name": "batch_size",
                "type": "INT"
              }
            ],
            "pos": [
              650,
              350
            ],
            "properties": {
              "Node name for S&R": "GetImageSize",
              "cnr_id": "comfy-core",
              "ver": "0.5.1"
            },
            "size": [
              180,
              66
            ],
            "type": "GetImageSize",
            "widgets_values": []
          },
          {
            "flags": {},
            "id": 15,
            "inputs": [
              {
                "link": 14,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              },
              {
                "link": 15,
                "localized_name": "target_width",
                "name": "target_width",
                "type": "INT",
                "widget": {
                  "name": "target_width"
                }
              },
              {
                "link": 16,
                "localized_name": "target_height",
                "name": "target_height",
                "type": "INT",
                "widget": {
                  "name": "target_height"
                }
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [
              {
                "links": [
                  79
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              640,
              550
            ],
            "properties": {
              "Node name for S&R": "ResizeAndPadImage",
              "cnr_id": "comfy-core",
              "ver": "0.5.1"
            },
            "size": [
              210,
              130
            ],
            "type": "ResizeAndPadImage",
            "widgets_values": [
              512,
              512,
              "black",
              "area"
            ]
          },
          {
            "flags": {},
            "id": 59,
            "inputs": [
              {
                "label": "image0",
                "link": 77,
                "localized_name": "images.image0",
                "name": "images.image0",
                "type": "IMAGE"
              },
              {
                "label": "image1",
                "link": 79,
                "localized_name": "images.image1",
                "name": "images.image1",
                "type": "IMAGE"
              },
              {
                "label": "image2",
                "link": null,
                "localized_name": "images.image2",
                "name": "images.image2",
                "shape": 7,
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  78
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              940,
              470
            ],
            "properties": {
              "Node name for S&R": "BatchImagesNode",
              "cnr_id": "comfy-core",
              "ver": "0.9.2"
            },
            "size": [
              169.23046875,
              66
            ],
            "type": "BatchImagesNode"
          }
        ],
        "outputNode": {
          "bounding": [
            1170,
            470,
            120,
            60
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "81cd91b6-fd00-49c7-a8ca-a6f31dd9ac19",
            "linkIds": [
              78
            ],
            "localized_name": "IMAGE",
            "name": "IMAGE",
            "pos": [
              1190,
              490
            ],
            "type": "IMAGE"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 79,
          "lastNodeId": 59,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      }
    ]
  },
  "extra": {
    "VHS_KeepIntermediate": true,
    "VHS_MetadataImage": true,
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "ds": {
      "offset": [
        -934.5015891343473,
        63.48896124928763
      ],
      "scale": 0.598221654806138
    },
    "frontendVersion": "1.36.14",
    "workflowRendererVersion": "LG"
  },
  "groups": [],
  "id": "f00629e2-972d-43fc-91d7-b1144ad3652d",
  "last_link_id": 110,
  "last_node_id": 76,
  "links": [
    [
      20,
      11,
      0,
      19,
      0,
      "IMAGE"
    ],
    [
      24,
      20,
      0,
      23,
      0,
      "VIDEO"
    ],
    [
      59,
      33,
      0,
      21,
      0,
      "IMAGE"
    ],
    [
      68,
      11,
      0,
      49,
      0,
      "IMAGE"
    ],
    [
      69,
      49,
      0,
      33,
      0,
      "IMAGE"
    ],
    [
      76,
      58,
      0,
      49,
      1,
      "INT"
    ],
    [
      77,
      10,
      0,
      59,
      0,
      "IMAGE"
    ],
    [
      78,
      12,
      0,
      59,
      1,
      "IMAGE"
    ],
    [
      79,
      59,
      0,
      11,
      0,
      "IMAGE"
    ],
    [
      97,
      33,
      0,
      20,
      0,
      "IMAGE"
    ],
    [
      100,
      11,
      0,
      20,
      1,
      "IMAGE"
    ],
    [
      102,
      73,
      0,
      72,
      0,
      "STRING"
    ],
    [
      104,
      71,
      0,
      72,
      1,
      "STRING"
    ],
    [
      106,
      72,
      0,
      33,
      2,
      "STRING"
    ]
  ],
  "nodes": [
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {
        "collapsed": false
      },
      "id": 10,
      "inputs": [],
      "mode": 0,
      "order": 0,
      "outputs": [
        {
          "links": [
            77
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        289.9999994554245,
        330.00012315095057
      ],
      "properties": {
        "Node name for S&R": "LoadImage",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        610,
        450
      ],
      "title": "Load Billboard Image",
      "type": "LoadImage",
      "widgets_values": [
        "billboard.png",
        "image"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 12,
      "inputs": [],
      "mode": 0,
      "order": 1,
      "outputs": [
        {
          "links": [
            78
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        289.9999994554245,
        969.9999406476643
      ],
      "properties": {
        "Node name for S&R": "LoadImage",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        610,
        450
      ],
      "title": "Load Text Overlay Image",
      "type": "LoadImage",
      "widgets_values": [
        "comfyorg_logo.png",
        "image"
      ]
    },
    {
      "flags": {
        "collapsed": false
      },
      "id": 19,
      "inputs": [
        {
          "link": 20,
          "name": "images",
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 8,
      "outputs": [],
      "pos": [
        1748.3331553544178,
        331.6666109396672
      ],
      "properties": {
        "Node name for S&R": "SaveImage",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        880,
        570
      ],
      "type": "SaveImage",
      "widgets_values": [
        "ComfyUI-last_frame"
      ]
    },
    {
      "flags": {},
      "id": 23,
      "inputs": [
        {
          "link": 24,
          "name": "video",
          "type": "VIDEO"
        }
      ],
      "mode": 0,
      "order": 13,
      "outputs": [],
      "pos": [
        5006.665317776263,
        331.6666909707764
      ],
      "properties": {
        "Node name for S&R": "SaveVideo",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        991.6666666666667,
        671.5494791666667
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/ComfyUI-video",
        "auto",
        "auto"
      ]
    },
    {
      "flags": {
        "collapsed": false
      },
      "id": 21,
      "inputs": [
        {
          "link": 59,
          "name": "images",
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 11,
      "outputs": [],
      "pos": [
        3610.000173155156,
        330.00012315095057
      ],
      "properties": {
        "Node name for S&R": "SaveImage",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        880,
        570
      ],
      "type": "SaveImage",
      "widgets_values": [
        "ComfyUI-first_frame"
      ]
    },
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 11,
      "inputs": [
        {
          "link": 79,
          "name": "images",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "link": null,
          "name": "files",
          "shape": 7,
          "type": "GEMINI_INPUT_FILES"
        }
      ],
      "mode": 0,
      "order": 7,
      "outputs": [
        {
          "links": [
            20,
            68,
            100
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "STRING",
          "type": "STRING"
        }
      ],
      "pos": [
        1206.6666014672987,
        331.6666109396672
      ],
      "properties": {
        "Node name for S&R": "GeminiImage2Node",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        480,
        570
      ],
      "type": "GeminiImage2Node",
      "widgets_values": [
        "Task: Realistic composite of text content onto an LED billboard mockup, preserving original composition.\n\nInput Image(s):\n- Input 1 (Scene): Billboard mockup structure and environment. The screen area is the target destination.\n- Input 2 (Content): Source image containing text/logotype (NOT THE BACKGROUND COLOR)\n\nProcess:\n1. Identify the screen surface area in Input 1.\n2. Treat only the text of Input 2 (NOT the background color) as the content to be overlayed onto the screen.\n3. Apply a perspective transformation to the entire Input 2 content canvas so it perfectly matches the angle, orientation, and boundaries of the billboard screen in Input 1.\n4. Render the transformed content with an illuminated LED matrix aesthetic.\n\nTechnical Requirements:\n- **Composition & Scale Consistency (Crucial):** The relative scale and positioning of the text as seen within the boundaries of Input 2 MUST be maintained. Do NOT scale up the text object to fill the billboard screen. If the text is small in Input 2, it must remain small relative to the screen size in the final output, surrounded by the appropriate amount of black padding.\n- **Color & Light:** The active text pixels must be the exact hexadecimal color of image 2 text. They should emit a bright, illuminated glow (halation) typical of LED signage.\n- **Screen Texture:** The entire screen surface (both lit text and unlit background padding) must show a visible, realistic grid texture of individual LED pixel diodes.\n- **Integration:** The physical structure of the billboard framing and the surrounding environment from Input 1 must be preserved exactly.\n\nOutput: The final image showing the scene from Input 1, with the screen displaying the exact composition of Input 2 (without the solid background color) as a glowing, pixelated LED array.",
        "gemini-3-pro-image-preview",
        11111,
        "fixed",
        "auto",
        "2K",
        "IMAGE+TEXT",
        "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
      ]
    },
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 20,
      "inputs": [
        {
          "link": 97,
          "name": "start_frame",
          "type": "IMAGE"
        },
        {
          "link": 100,
          "name": "end_frame",
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 12,
      "outputs": [
        {
          "links": [
            24
          ],
          "name": "VIDEO",
          "type": "VIDEO"
        },
        {
          "links": null,
          "name": "video_id",
          "type": "STRING"
        },
        {
          "links": null,
          "name": "duration",
          "type": "STRING"
        }
      ],
      "pos": [
        4548.332596995868,
        331.6666109396672
      ],
      "properties": {
        "Node name for S&R": "KlingStartEndFrameNode",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        400,
        566.6666666666667
      ],
      "type": "KlingStartEndFrameNode",
      "widgets_values": [
        "LED billboard text morphs, pixel glyphs flicker and cascade like a digital waterfall, individual LED cells pulse and brighten as new letters materialize, slight camera zoom in revealing more billboard detail and closer framing on screen, maintaining the textured LED grid with radiant glow against black panel. ",
        "",
        0.5,
        "16:9",
        "pro mode / 5s duration / kling-v2-5-turbo"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 58,
      "inputs": [],
      "mode": 0,
      "order": 2,
      "outputs": [
        {
          "links": [
            76
          ],
          "name": "INT",
          "type": "INT"
        }
      ],
      "pos": [
        2689.9993550836552,
        331.6666109396672
      ],
      "properties": {
        "Node name for S&R": "PrimitiveInt",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        310,
        82
      ],
      "title": "Expand Image Borders by %",
      "type": "PrimitiveInt",
      "widgets_values": [
        300,
        "fixed"
      ]
    },
    {
      "flags": {
        "collapsed": false
      },
      "id": 73,
      "inputs": [],
      "mode": 0,
      "order": 3,
      "outputs": [
        {
          "links": [
            102
          ],
          "name": "STRING",
          "type": "STRING"
        }
      ],
      "pos": [
        2690.000022316296,
        740.0000502532337
      ],
      "properties": {
        "Node name for S&R": "PrimitiveStringMultiline",
        "cnr_id": "comfy-core",
        "ver": "0.9.2"
      },
      "size": [
        308.33333333333337,
        158.33333333333334
      ],
      "title": "Prompt Template",
      "type": "PrimitiveStringMultiline",
      "widgets_values": [
        "Task: Canvas Expansion and Content Cleanup\n\nInput Image: Contains main header text, subtext, and central visual content.\n\nProcess & Requirements:\n\n1.  **Text Cleanup (Removal):**\n    * Identify and completely remove the \"subtext\" element.\n    * Reconstruct the area beneath the removed subtext to match the immediate surrounding background texture and lighting flawlessly.\n\n2.  **Header Preservation (Constraint):**\n    * Isolate the \"main header text.\"\n    * Ensure this header remains in its exact original position. It must not shift during the canvas expansion process.\n\n3.  **Outpainting (Generation):**\n    * Expand the canvas borders to fill the transparent blank area. The original pixel information MUST remain, only generate within the transparent blank area.\n    * **Content Generation:** The newly generated areas must seamlessly extend outside the existing background context and MUST include the following elements if specified: <description>\n    * **Technical Consistency:** Ensure perfect continuity of lighting, shadows, color palette, texture, and perspective from the original image edges into the new expanded areas. The transition between original and new content must be invisible.\n\nOutput: A larger canvas image with the subtext removed, the main header locked in place, and the surrounding environment naturally expanded."
      ]
    },
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 33,
      "inputs": [
        {
          "link": 69,
          "name": "images",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "link": null,
          "name": "files",
          "shape": 7,
          "type": "GEMINI_INPUT_FILES"
        },
        {
          "link": 106,
          "name": "prompt",
          "type": "STRING",
          "widget": {
            "name": "prompt"
          }
        }
      ],
      "mode": 0,
      "order": 10,
      "outputs": [
        {
          "links": [
            59,
            97
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "STRING",
          "type": "STRING"
        }
      ],
      "pos": [
        3056.6663640315073,
        331.6666909707764
      ],
      "properties": {
        "Node name for S&R": "GeminiImage2Node",
        "cnr_id": "comfy-core",
        "ver": "0.5.1"
      },
      "size": [
        491.6666666666667,
        566.6666666666667
      ],
      "type": "GeminiImage2Node",
      "widgets_values": [
        "",
        "gemini-3-pro-image-preview",
        12345,
        "fixed",
        "auto",
        "2K",
        "IMAGE+TEXT",
        "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
      ]
    },
    {
      "flags": {
        "collapsed": false
      },
      "id": 59,
      "inputs": [
        {
          "link": 77,
          "name": "image1",
          "type": "IMAGE"
        },
        {
          "link": 78,
          "name": "image",
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 5,
      "outputs": [
        {
          "links": [
            79
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        }
      ],
      "pos": [
        959.9997583778531,
        330.00012315095057
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [],
        "ver": "0.5.1"
      },
      "size": [
        200,
        46
      ],
      "type": "afac6e36-94b5-4d13-ae22-66f87405e994",
      "widgets_values": []
    },
    {
      "flags": {
        "collapsed": false
      },
      "id": 49,
      "inputs": [
        {
          "link": 68,
          "name": "image",
          "type": "IMAGE"
        },
        {
          "label": "expand_img_percent",
          "link": 76,
          "name": "a",
          "type": "INT,FLOAT"
        }
      ],
      "mode": 0,
      "order": 9,
      "outputs": [
        {
          "links": [
            69
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        }
      ],
      "pos": [
        2689.9996752080924,
        448.3333210339853
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [],
        "ver": "0.5.1"
      },
      "size": [
        201.076171875,
        46
      ],
      "type": "319c5e46-36eb-4854-a39e-1291507505e2",
      "widgets_values": []
    },
    {
      "flags": {
        "collapsed": true
      },
      "id": 72,
      "inputs": [
        {
          "link": 102,
          "name": "string",
          "type": "STRING",
          "widget": {
            "name": "string"
          }
        },
        {
          "link": 104,
          "name": "replace",
          "type": "STRING",
          "widget": {
            "name": "replace"
          }
        }
      ],
      "mode": 0,
      "order": 6,
      "outputs": [
        {
          "links": [
            106
          ],
          "name": "STRING",
          "type": "STRING"
        }
      ],
      "pos": [
        2689.9996752080924,
        539.9999932398391
      ],
      "properties": {
        "Node name for S&R": "RegexReplace",
        "cnr_id": "comfy-core",
        "ver": "0.9.2"
      },
      "size": [
        210,
        272
      ],
      "type": "RegexReplace",
      "widgets_values": [
        "",
        "<description>",
        "",
        true,
        false,
        false,
        0
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 71,
      "inputs": [],
      "mode": 0,
      "order": 4,
      "outputs": [
        {
          "links": [
            104
          ],
          "name": "STRING",
          "type": "STRING"
        }
      ],
      "pos": [
        2689.9993550836552,
        598.3333082714436
      ],
      "properties": {
        "Node name for S&R": "PrimitiveStringMultiline",
        "cnr_id": "comfy-core",
        "ver": "0.9.2"
      },
      "size": [
        308.33333333333337,
        88
      ],
      "title": "Describe the Outpainted Region",
      "type": "PrimitiveStringMultiline",
      "widgets_values": [
        ""
      ]
    }
  ],
  "revision": 0,
  "version": 0.4
}