{
  "config": {},
  "definitions": {
    "subgraphs": [
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "Vue-corrected"
        },
        "groups": [],
        "id": "172f1008-9337-4d2f-9212-ee081cb4faf5",
        "inputNode": {
          "bounding": [
            4690,
            7430,
            120,
            60
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "7cbedb18-b324-4f1b-96d7-4517996bc432",
            "linkIds": [
              206,
              212
            ],
            "localized_name": "images",
            "name": "images",
            "pos": [
              4790,
              7450
            ],
            "shape": 7,
            "type": "IMAGE"
          }
        ],
        "links": [
          {
            "id": 207,
            "origin_id": 2,
            "origin_slot": 0,
            "target_id": 128,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 228,
            "origin_id": 142,
            "origin_slot": 0,
            "target_id": 128,
            "target_slot": 3,
            "type": "COMBO"
          },
          {
            "id": 211,
            "origin_id": 2,
            "origin_slot": 0,
            "target_id": 130,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 229,
            "origin_id": 142,
            "origin_slot": 0,
            "target_id": 130,
            "target_slot": 3,
            "type": "COMBO"
          },
          {
            "id": 232,
            "origin_id": 130,
            "origin_slot": 0,
            "target_id": 134,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 231,
            "origin_id": 128,
            "origin_slot": 0,
            "target_id": 134,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 222,
            "origin_id": 136,
            "origin_slot": 0,
            "target_id": 134,
            "target_slot": 2,
            "type": "BOOLEAN"
          },
          {
            "id": 217,
            "origin_id": 135,
            "origin_slot": 0,
            "target_id": 136,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 206,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 128,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 212,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 130,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 230,
            "origin_id": 134,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 242,
            "origin_id": 156,
            "origin_slot": 0,
            "target_id": 128,
            "target_slot": 4,
            "type": "COMBO"
          },
          {
            "id": 243,
            "origin_id": 156,
            "origin_slot": 0,
            "target_id": 130,
            "target_slot": 4,
            "type": "COMBO"
          }
        ],
        "name": "Recompose Image",
        "nodes": [
          {
            "flags": {
              "collapsed": false
            },
            "id": 2,
            "inputs": [],
            "mode": 0,
            "order": 0,
            "outputs": [
              {
                "links": [
                  207,
                  211
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              5190,
              7570
            ],
            "properties": {
              "Node name for S&R": "PrimitiveStringMultiline"
            },
            "size": [
              560,
              580
            ],
            "title": "Prompt",
            "type": "PrimitiveStringMultiline",
            "widgets_values": [
              "Role: Act as an expert art director and compositing specialist. Your objective is to adapt the provided image to a new aspect ratio by expanding the background and rearranging its core elements. Never stretch, squish, or letterbox the image.\n\n1. Canvas Expansion & Outpainting\n\nSeamless Extension: Expand the canvas to the target dimensions using generative outpainting. Seamlessly continue the existing environment (sky, textures, walls, floors) while perfectly matching the original lighting, grain, and perspective.\n\nStrict Limitations: Do not shrink the original image onto a blurred or colored background. Do not introduce new focal objects, characters, or decorative borders. Only continue existing environmental elements.\n\n2. Element Redistribution\n\nTreat as Layers: Separate the main components (typography, logos, hero imagery, credits) into distinct, movable elements.\n\nSmart Rearrangement: Reposition these elements to suit the new aspect ratio using professional layout principles (e.g., shifting a vertical stack into a horizontal, side-by-side composition). Use the newly generated space intentionally to avoid awkward negative space.\n\nPreserve Proportions: Maintain the exact original aspect ratio of every individual element. Keep all font styles, weights, and text styling identical. Scale elements uniformly only if required for layout balance.\n\n3. Visual Integrity & Polish\n\nMaintain Hierarchy: Preserve the original visual dominance of the headline, hero image, and logo placement.\n\nNative Feel: The final composition must look cohesive, breathable, and deliberately designed from scratch for this specific format."
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 128,
            "inputs": [
              {
                "link": 206,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              },
              {
                "link": 207,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 228,
                "localized_name": "aspect_ratio",
                "name": "aspect_ratio",
                "type": "COMBO",
                "widget": {
                  "name": "aspect_ratio"
                }
              },
              {
                "link": 242,
                "localized_name": "resolution",
                "name": "resolution",
                "type": "COMBO",
                "widget": {
                  "name": "resolution"
                }
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  231
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              },
              {
                "links": null,
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              },
              {
                "links": null,
                "localized_name": "thought_image",
                "name": "thought_image",
                "type": "IMAGE"
              }
            ],
            "pos": [
              6020,
              7610
            ],
            "properties": {
              "Node name for S&R": "GeminiNanoBanana2"
            },
            "size": [
              490,
              400
            ],
            "type": "GeminiNanoBanana2",
            "widgets_values": [
              "",
              "Nano Banana 2 (Gemini 3.1 Flash Image)",
              443144447094291,
              "randomize",
              "16:9",
              "2K",
              "IMAGE",
              "HIGH",
              "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": 130,
            "inputs": [
              {
                "link": 212,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              },
              {
                "link": 211,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 229,
                "localized_name": "aspect_ratio",
                "name": "aspect_ratio",
                "type": "COMBO",
                "widget": {
                  "name": "aspect_ratio"
                }
              },
              {
                "link": 243,
                "localized_name": "resolution",
                "name": "resolution",
                "type": "COMBO",
                "widget": {
                  "name": "resolution"
                }
              }
            ],
            "mode": 0,
            "order": 6,
            "outputs": [
              {
                "links": [
                  232
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              },
              {
                "links": null,
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              6020,
              6910
            ],
            "properties": {
              "Node name for S&R": "GeminiImage2Node"
            },
            "size": [
              470,
              350
            ],
            "type": "GeminiImage2Node",
            "widgets_values": [
              "",
              "gemini-3-pro-image-preview",
              314507571392615,
              "randomize",
              "16:9",
              "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": {},
            "id": 134,
            "inputs": [
              {
                "link": 232,
                "localized_name": "on_false",
                "name": "on_false",
                "type": "IMAGE"
              },
              {
                "link": 231,
                "localized_name": "on_true",
                "name": "on_true",
                "type": "IMAGE"
              },
              {
                "link": 222,
                "localized_name": "switch",
                "name": "switch",
                "type": "BOOLEAN",
                "widget": {
                  "name": "switch"
                }
              }
            ],
            "mode": 0,
            "order": 7,
            "outputs": [
              {
                "links": [
                  230
                ],
                "localized_name": "output",
                "name": "output",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7280,
              7470
            ],
            "properties": {
              "Node name for S&R": "ComfySwitchNode"
            },
            "size": [
              280,
              130
            ],
            "type": "ComfySwitchNode",
            "widgets_values": [
              true
            ]
          },
          {
            "flags": {},
            "id": 135,
            "inputs": [
              {
                "label": "model",
                "link": null,
                "localized_name": "choice",
                "name": "choice",
                "type": "COMBO",
                "widget": {
                  "name": "choice"
                }
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  217
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              },
              {
                "links": null,
                "localized_name": "INDEX",
                "name": "INDEX",
                "type": "INT"
              }
            ],
            "pos": [
              5860,
              8270
            ],
            "properties": {
              "Node name for S&R": "CustomCombo"
            },
            "size": [
              280,
              250
            ],
            "type": "CustomCombo",
            "widgets_values": [
              "Nano Banana 2",
              0,
              "Nano Banana 2",
              "Nano Banana Pro",
              ""
            ]
          },
          {
            "flags": {},
            "id": 136,
            "inputs": [
              {
                "link": 217,
                "localized_name": "string_a",
                "name": "string_a",
                "type": "STRING",
                "widget": {
                  "name": "string_a"
                }
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [
              {
                "links": [
                  222
                ],
                "localized_name": "BOOLEAN",
                "name": "BOOLEAN",
                "type": "BOOLEAN"
              }
            ],
            "pos": [
              6230,
              8270
            ],
            "properties": {
              "Node name for S&R": "StringCompare"
            },
            "showAdvanced": true,
            "size": [
              300,
              280
            ],
            "type": "StringCompare",
            "widgets_values": [
              "Nano Banana 2",
              "nano banana 2",
              "Starts With",
              false
            ]
          },
          {
            "flags": {},
            "id": 142,
            "inputs": [],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  228,
                  229
                ],
                "name": "COMBO",
                "type": "COMBO",
                "widget": {
                  "name": "aspect_ratio"
                }
              }
            ],
            "pos": [
              5300,
              7330
            ],
            "properties": {
              "Run widget replace on values": false
            },
            "size": [
              450,
              150
            ],
            "title": "aspect_ratio",
            "type": "PrimitiveNode",
            "widgets_values": [
              "16:9",
              "fixed",
              ""
            ]
          },
          {
            "flags": {},
            "id": 156,
            "inputs": [],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  242,
                  243
                ],
                "name": "COMBO",
                "type": "COMBO",
                "widget": {
                  "name": "resolution"
                }
              }
            ],
            "pos": [
              5290,
              7120
            ],
            "properties": {
              "Run widget replace on values": false
            },
            "size": [
              450,
              150
            ],
            "title": "resolution",
            "type": "PrimitiveNode",
            "widgets_values": [
              "2K",
              "fixed",
              ""
            ]
          }
        ],
        "outputNode": {
          "bounding": [
            7680,
            7470,
            120,
            60
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "cde817df-cc4a-4726-9aca-fb1e9200a1e6",
            "linkIds": [
              230
            ],
            "localized_name": "output",
            "name": "output",
            "pos": [
              7700,
              7490
            ],
            "type": "IMAGE"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 15,
          "lastLinkId": 243,
          "lastNodeId": 156,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      }
    ]
  },
  "extra": {
    "VHS_KeepIntermediate": true,
    "VHS_MetadataImage": true,
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "ds": {
      "offset": [
        -2610.996384180785,
        -4616.506888039961
      ],
      "scale": 0.9165265471724953
    },
    "frontendVersion": "1.41.13",
    "linearData": {
      "inputs": [
        [
          "125",
          "image"
        ],
        [
          "135",
          "choice"
        ],
        [
          "156",
          "value"
        ],
        [
          "142",
          "value"
        ]
      ],
      "outputs": [
        "131"
      ]
    },
    "linearMode": false,
    "workflowRendererVersion": "Vue-corrected"
  },
  "groups": [],
  "id": "73b6b198-be12-4114-9363-c1dcd74bf81c",
  "last_link_id": 243,
  "last_node_id": 156,
  "links": [
    [
      233,
      125,
      0,
      143,
      0,
      "IMAGE"
    ],
    [
      234,
      143,
      0,
      131,
      0,
      "IMAGE"
    ]
  ],
  "nodes": [
    {
      "flags": {},
      "id": 125,
      "inputs": [],
      "mode": 0,
      "order": 0,
      "outputs": [
        {
          "links": [
            233
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        2859.999822676711,
        4920.000398155194
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        380,
        480
      ],
      "type": "LoadImage",
      "widgets_values": [
        "latent_space_clud.png",
        "image"
      ]
    },
    {
      "flags": {},
      "id": 131,
      "inputs": [
        {
          "link": 234,
          "name": "images",
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 2,
      "outputs": [],
      "pos": [
        3669.9997914715636,
        4920.000398155194
      ],
      "properties": {},
      "size": [
        580,
        480
      ],
      "type": "SaveImage",
      "widgets_values": [
        "graphic_design_recompose"
      ]
    },
    {
      "flags": {},
      "id": 143,
      "inputs": [
        {
          "link": 233,
          "name": "images",
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 1,
      "outputs": [
        {
          "links": [
            234
          ],
          "name": "output",
          "type": "IMAGE"
        }
      ],
      "pos": [
        3279.9998360935915,
        4920.000398155194
      ],
      "properties": {
        "proxyWidgets": [
          [
            "135",
            "choice"
          ],
          [
            "156",
            "value"
          ],
          [
            "142",
            "value"
          ]
        ]
      },
      "size": [
        340,
        180
      ],
      "type": "172f1008-9337-4d2f-9212-ee081cb4faf5",
      "widgets_values": []
    }
  ],
  "revision": 0,
  "version": 0.4
}