{
  "id": "7cbcec68-7fa6-47bb-a38a-da689949a001",
  "revision": 0,
  "last_node_id": 190,
  "last_link_id": 296,
  "nodes": [
    {
      "id": 38,
      "type": "DualCLIPLoader",
      "pos": [
        -400,
        210
      ],
      "size": [
        337.76861572265625,
        130
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "label": "CLIP",
          "name": "CLIP",
          "type": "CLIP",
          "links": [
            59
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "DualCLIPLoader",
        "cnr_id": "comfy-core",
        "ver": "0.3.38",
        "models": [
          {
            "name": "clip_l.safetensors",
            "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
            "directory": "text_encoders",
            "directory_invalid": true
          },
          {
            "name": "t5xxl_fp8_e4m3fn_scaled.safetensors",
            "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors",
            "directory": "text_encoders",
            "directory_invalid": true
          }
        ],
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        "clip_l.safetensors",
        "t5xxl_fp8_e4m3fn_scaled.safetensors",
        "flux",
        "default"
      ],
      "color": "#322",
      "bgcolor": "#533"
    },
    {
      "id": 135,
      "type": "ConditioningZeroOut",
      "pos": [
        250,
        200
      ],
      "size": [
        240,
        26
      ],
      "flags": {
        "collapsed": false
      },
      "order": 8,
      "mode": 0,
      "inputs": [
        {
          "label": "条件",
          "name": "conditioning",
          "type": "CONDITIONING",
          "link": 237
        }
      ],
      "outputs": [
        {
          "label": "条件",
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            238
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "ConditioningZeroOut",
        "cnr_id": "comfy-core",
        "ver": "0.3.39",
        "widget_ue_connectable": {}
      },
      "widgets_values": []
    },
    {
      "id": 173,
      "type": "PreviewImage",
      "pos": [
        320,
        860
      ],
      "size": [
        420,
        310
      ],
      "flags": {},
      "order": 11,
      "mode": 0,
      "inputs": [
        {
          "label": "图像",
          "name": "images",
          "type": "IMAGE",
          "link": 289
        }
      ],
      "outputs": [],
      "properties": {
        "Node name for S&R": "PreviewImage",
        "cnr_id": "comfy-core",
        "ver": "0.3.40",
        "widget_ue_connectable": {}
      },
      "widgets_values": []
    },
    {
      "id": 8,
      "type": "VAEDecode",
      "pos": [
        530,
        350
      ],
      "size": [
        190,
        46
      ],
      "flags": {
        "collapsed": false
      },
      "order": 15,
      "mode": 0,
      "inputs": [
        {
          "label": "Latent",
          "name": "samples",
          "type": "LATENT",
          "link": 52
        },
        {
          "label": "VAE",
          "name": "vae",
          "type": "VAE",
          "link": 61
        }
      ],
      "outputs": [
        {
          "label": "图像",
          "name": "IMAGE",
          "type": "IMAGE",
          "slot_index": 0,
          "links": [
            240
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "VAEDecode",
        "cnr_id": "comfy-core",
        "ver": "0.3.38",
        "widget_ue_connectable": {}
      },
      "widgets_values": []
    },
    {
      "id": 124,
      "type": "VAEEncode",
      "pos": [
        -20,
        400
      ],
      "size": [
        240,
        50
      ],
      "flags": {
        "collapsed": false
      },
      "order": 10,
      "mode": 0,
      "inputs": [
        {
          "label": "图像",
          "name": "pixels",
          "type": "IMAGE",
          "link": 222
        },
        {
          "label": "VAE",
          "name": "vae",
          "type": "VAE",
          "link": 223
        }
      ],
      "outputs": [
        {
          "label": "Latent",
          "name": "LATENT",
          "type": "LATENT",
          "links": [
            291,
            293
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "VAEEncode",
        "cnr_id": "comfy-core",
        "ver": "0.3.39",
        "widget_ue_connectable": {}
      },
      "widgets_values": []
    },
    {
      "id": 42,
      "type": "FluxKontextImageScale",
      "pos": [
        -50,
        570
      ],
      "size": [
        270,
        30
      ],
      "flags": {
        "collapsed": false
      },
      "order": 9,
      "mode": 0,
      "inputs": [
        {
          "label": "image",
          "name": "image",
          "type": "IMAGE",
          "link": 251
        }
      ],
      "outputs": [
        {
          "label": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            222,
            289
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "FluxKontextImageScale",
        "cnr_id": "comfy-core",
        "ver": "0.3.38",
        "widget_ue_connectable": {}
      },
      "widgets_values": []
    },
    {
      "id": 146,
      "type": "ImageStitch",
      "pos": [
        -390,
        570
      ],
      "size": [
        270,
        150
      ],
      "flags": {},
      "order": 7,
      "mode": 0,
      "inputs": [
        {
          "label": "image1",
          "name": "image1",
          "type": "IMAGE",
          "link": 295
        },
        {
          "label": "image2",
          "name": "image2",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        }
      ],
      "outputs": [
        {
          "label": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            251
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "ImageStitch",
        "cnr_id": "comfy-core",
        "ver": "0.3.40",
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        "right",
        true,
        0,
        "white"
      ]
    },
    {
      "id": 35,
      "type": "FluxGuidance",
      "pos": [
        250,
        90
      ],
      "size": [
        240,
        58
      ],
      "flags": {
        "collapsed": false
      },
      "order": 13,
      "mode": 0,
      "inputs": [
        {
          "label": "条件",
          "name": "conditioning",
          "type": "CONDITIONING",
          "link": 292
        }
      ],
      "outputs": [
        {
          "label": "条件",
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "slot_index": 0,
          "links": [
            57
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "FluxGuidance",
        "cnr_id": "comfy-core",
        "ver": "0.3.38",
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        2.5
      ]
    },
    {
      "id": 177,
      "type": "ReferenceLatent",
      "pos": [
        10,
        140
      ],
      "size": [
        197.712890625,
        46
      ],
      "flags": {},
      "order": 12,
      "mode": 0,
      "inputs": [
        {
          "label": "conditioning",
          "name": "conditioning",
          "type": "CONDITIONING",
          "link": 294
        },
        {
          "label": "latent",
          "name": "latent",
          "shape": 7,
          "type": "LATENT",
          "link": 293
        }
      ],
      "outputs": [
        {
          "label": "CONDITIONING",
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            292
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "ReferenceLatent",
        "cnr_id": "comfy-core",
        "ver": "0.3.41",
        "widget_ue_connectable": {}
      },
      "widgets_values": []
    },
    {
      "id": 188,
      "type": "EmptySD3LatentImage",
      "pos": [
        530,
        -140
      ],
      "size": [
        310,
        106
      ],
      "flags": {},
      "order": 1,
      "mode": 4,
      "inputs": [],
      "outputs": [
        {
          "label": "Latent",
          "name": "LATENT",
          "type": "LATENT",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "EmptySD3LatentImage",
        "cnr_id": "comfy-core",
        "ver": "0.3.41",
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        1024,
        1024,
        1
      ]
    },
    {
      "id": 31,
      "type": "KSampler",
      "pos": [
        530,
        40
      ],
      "size": [
        320,
        262
      ],
      "flags": {},
      "order": 14,
      "mode": 0,
      "inputs": [
        {
          "label": "模型",
          "name": "model",
          "type": "MODEL",
          "link": 58
        },
        {
          "label": "正面条件",
          "name": "positive",
          "type": "CONDITIONING",
          "link": 57
        },
        {
          "label": "负面条件",
          "name": "negative",
          "type": "CONDITIONING",
          "link": 238
        },
        {
          "label": "Latent",
          "name": "latent_image",
          "type": "LATENT",
          "link": 291
        }
      ],
      "outputs": [
        {
          "label": "Latent",
          "name": "LATENT",
          "type": "LATENT",
          "slot_index": 0,
          "links": [
            52
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "KSampler",
        "cnr_id": "comfy-core",
        "ver": "0.3.38",
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        880751274216292,
        "randomize",
        20,
        1,
        "euler",
        "simple",
        1
      ]
    },
    {
      "id": 37,
      "type": "UNETLoader",
      "pos": [
        -400,
        80
      ],
      "size": [
        337.76861572265625,
        82
      ],
      "flags": {},
      "order": 2,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "label": "模型",
          "name": "MODEL",
          "type": "MODEL",
          "links": [
            58
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "UNETLoader",
        "cnr_id": "comfy-core",
        "ver": "0.3.38",
        "models": [
          {
            "name": "flux1-dev-kontext_fp8_scaled.safetensors",
            "url": "https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors",
            "directory": "diffusion_models",
            "directory_invalid": true
          }
        ],
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        "flux1-dev-kontext_fp8_scaled.safetensors",
        "default"
      ],
      "color": "#322",
      "bgcolor": "#533"
    },
    {
      "id": 39,
      "type": "VAELoader",
      "pos": [
        -400,
        390
      ],
      "size": [
        337.76861572265625,
        58
      ],
      "flags": {},
      "order": 3,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "VAE",
          "type": "VAE",
          "links": [
            61,
            223
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "VAELoader",
        "cnr_id": "comfy-core",
        "ver": "0.3.38",
        "models": [
          {
            "name": "ae.safetensors",
            "url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
            "directory": "vae",
            "directory_invalid": true
          }
        ],
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        "ae.safetensors"
      ],
      "color": "#322",
      "bgcolor": "#533"
    },
    {
      "id": 136,
      "type": "SaveImage",
      "pos": [
        760,
        510
      ],
      "size": [
        650,
        660
      ],
      "flags": {},
      "order": 16,
      "mode": 0,
      "inputs": [
        {
          "label": "图像",
          "name": "images",
          "type": "IMAGE",
          "link": 240
        }
      ],
      "outputs": [],
      "properties": {
        "Node name for S&R": "SaveImage",
        "cnr_id": "comfy-core",
        "ver": "0.3.39",
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        "ComfyUI"
      ]
    },
    {
      "id": 189,
      "type": "LoadImage",
      "pos": [
        -363.50640869140625,
        801.257568359375
      ],
      "size": [
        270,
        314
      ],
      "flags": {},
      "order": 4,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "label": "图像",
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            295
          ]
        },
        {
          "label": "遮罩",
          "name": "MASK",
          "type": "MASK",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "LoadImage",
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        "ComfyUI_00000000_175161393476267_d218e61e-f92f-475f-ba87-1393453e6fd2_.png",
        "image"
      ]
    },
    {
      "id": 187,
      "type": "MarkdownNote",
      "pos": [
        -958.8219604492188,
        45.482025146484375
      ],
      "size": [
        532.7645874023438,
        1091.6131591796875
      ],
      "flags": {},
      "order": 5,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "title": "Flux Kontext 提示词技巧",
      "properties": {
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        "\n## Flux Kontext 提示词技巧\n\n使用英文\n\n### 1. 基础修改\n- 简单直接：`\"Change the car color to red\"`\n- 保持风格：`\"Change to daytime while maintaining the same style of the painting\"`\n\n### 2. 风格转换\n**原则：**\n- 明确命名风格：`\"Transform to Bauhaus art style\"`\n- 描述特征：`\"Transform to oil painting with visible brushstrokes, thick paint texture\"`\n- 保留构图：`\"Change to Bauhaus style while maintaining the original composition\"`\n\n### 3. 角色一致性\n**框架：**\n- 具体描述：`\"The woman with short black hair\"`而非`\"她\"`\n- 保留特征：`\"while maintaining the same facial features, hairstyle, and expression\"`\n- 分步修改：先改背景，再改动作\n\n### 4. 文本编辑\n- 使用引号：`\"Replace 'joy' with 'BFL'\"`\n- 保持格式：`\"Replace text while maintaining the same font style\"`\n\n## 常见问题解决\n\n### 角色变化过大\n❌ 错误：`\"Transform the person into a Viking\"`\n✅ 正确：`\"Change the clothes to be a viking warrior while preserving facial features\"`\n\n### 构图位置改变\n❌ 错误：`\"Put him on a beach\"`\n✅ 正确：`\"Change the background to a beach while keeping the person in the exact same position, scale, and pose\"`\n\n### 风格应用不准确\n❌ 错误：`\"Make it a sketch\"`\n✅ 正确：`\"Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture\"`\n\n## 核心原则\n\n1. **具体明确** - 使用精确描述，避免模糊词汇\n2. **分步编辑** - 复杂修改分为多个简单步骤\n3. **明确保留** - 说明哪些要保持不变\n4. **动词选择** - 用\"更改\"、\"替换\"而非\"转换\"\n\n## 最佳实践模板\n\n**对象修改：**\n`\"Change [object] to [new state], keep [content to preserve] unchanged\"`\n\n**风格转换：**\n`\"Transform to [specific style], while maintaining [composition/character/other] unchanged\"`\n\n**背景替换：**\n`\"Change the background to [new background], keep the subject in the exact same position and pose\"`\n\n**文本编辑：**\n`\"Replace '[original text]' with '[new text]', maintain the same font style\"`\n\n> **记住：** 越具体越好，Kontext 擅长理解详细指令并保持一致性。"
      ],
      "color": "#432",
      "bgcolor": "#653"
    },
    {
      "id": 6,
      "type": "CLIPTextEncode",
      "pos": [
        316.52313232421875,
        560
      ],
      "size": [
        400,
        220
      ],
      "flags": {},
      "order": 6,
      "mode": 0,
      "inputs": [
        {
          "label": "CLIP",
          "name": "clip",
          "type": "CLIP",
          "link": 59
        }
      ],
      "outputs": [
        {
          "label": "条件",
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "slot_index": 0,
          "links": [
            237,
            294
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "CLIPTextEncode",
        "cnr_id": "comfy-core",
        "ver": "0.3.38",
        "widget_ue_connectable": {}
      },
      "widgets_values": [
        "",
        [
          false,
          true
        ]
      ],
      "color": "#232",
      "bgcolor": "#353"
    }
  ],
  "links": [
    [
      52,
      31,
      0,
      8,
      0,
      "LATENT"
    ],
    [
      57,
      35,
      0,
      31,
      1,
      "CONDITIONING"
    ],
    [
      58,
      37,
      0,
      31,
      0,
      "MODEL"
    ],
    [
      59,
      38,
      0,
      6,
      0,
      "CLIP"
    ],
    [
      61,
      39,
      0,
      8,
      1,
      "VAE"
    ],
    [
      222,
      42,
      0,
      124,
      0,
      "IMAGE"
    ],
    [
      223,
      39,
      0,
      124,
      1,
      "VAE"
    ],
    [
      237,
      6,
      0,
      135,
      0,
      "CONDITIONING"
    ],
    [
      238,
      135,
      0,
      31,
      2,
      "CONDITIONING"
    ],
    [
      240,
      8,
      0,
      136,
      0,
      "IMAGE"
    ],
    [
      251,
      146,
      0,
      42,
      0,
      "IMAGE"
    ],
    [
      289,
      42,
      0,
      173,
      0,
      "IMAGE"
    ],
    [
      291,
      124,
      0,
      31,
      3,
      "LATENT"
    ],
    [
      292,
      177,
      0,
      35,
      0,
      "CONDITIONING"
    ],
    [
      293,
      124,
      0,
      177,
      1,
      "LATENT"
    ],
    [
      294,
      6,
      0,
      177,
      0,
      "CONDITIONING"
    ],
    [
      295,
      189,
      0,
      146,
      0,
      "IMAGE"
    ]
  ],
  "groups": [
    {
      "id": 1,
      "title": "Step 1- Load models",
      "bounding": [
        -410,
        10,
        360,
        450
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    },
    {
      "id": 3,
      "title": "Step 2 - Upload images",
      "bounding": [
        -410,
        480,
        700,
        680
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    },
    {
      "id": 5,
      "title": "Step 3 - Prompt",
      "bounding": [
        310,
        480,
        430,
        330
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    },
    {
      "id": 6,
      "title": "Conditioning",
      "bounding": [
        -30,
        10,
        540,
        250
      ],
      "color": "#3f789e",
      "font_size": 24,
      "flags": {}
    }
  ],
  "config": {},
  "extra": {
    "ds": {
      "scale": 0.7972024500000005,
      "offset": [
        1372.6497630011474,
        9.531475966710417
      ]
    },
    "frontendVersion": "1.23.4",
    "groupNodes": {},
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "VHS_MetadataImage": true,
    "VHS_KeepIntermediate": true,
    "ue_links": [],
    "links_added_by_ue": []
  },
  "version": 0.4
}