svjack commited on
Commit
12aeac2
·
verified ·
1 Parent(s): 39f366d

Upload flux_kontext_combine_xiang_peng.json

Browse files
Files changed (1) hide show
  1. flux_kontext_combine_xiang_peng.json +1077 -0
flux_kontext_combine_xiang_peng.json ADDED
@@ -0,0 +1,1077 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "7cbcec68-7fa6-47bb-a38a-da689949a001",
3
+ "revision": 0,
4
+ "last_node_id": 196,
5
+ "last_link_id": 306,
6
+ "nodes": [
7
+ {
8
+ "id": 135,
9
+ "type": "ConditioningZeroOut",
10
+ "pos": [
11
+ 250,
12
+ 200
13
+ ],
14
+ "size": [
15
+ 240,
16
+ 26
17
+ ],
18
+ "flags": {
19
+ "collapsed": false
20
+ },
21
+ "order": 14,
22
+ "mode": 0,
23
+ "inputs": [
24
+ {
25
+ "name": "conditioning",
26
+ "type": "CONDITIONING",
27
+ "link": 237
28
+ }
29
+ ],
30
+ "outputs": [
31
+ {
32
+ "name": "CONDITIONING",
33
+ "type": "CONDITIONING",
34
+ "links": [
35
+ 238
36
+ ]
37
+ }
38
+ ],
39
+ "properties": {
40
+ "cnr_id": "comfy-core",
41
+ "ver": "0.3.39",
42
+ "Node name for S&R": "ConditioningZeroOut"
43
+ },
44
+ "widgets_values": []
45
+ },
46
+ {
47
+ "id": 8,
48
+ "type": "VAEDecode",
49
+ "pos": [
50
+ 530,
51
+ 350
52
+ ],
53
+ "size": [
54
+ 190,
55
+ 46
56
+ ],
57
+ "flags": {
58
+ "collapsed": false
59
+ },
60
+ "order": 21,
61
+ "mode": 0,
62
+ "inputs": [
63
+ {
64
+ "name": "samples",
65
+ "type": "LATENT",
66
+ "link": 52
67
+ },
68
+ {
69
+ "name": "vae",
70
+ "type": "VAE",
71
+ "link": 61
72
+ }
73
+ ],
74
+ "outputs": [
75
+ {
76
+ "name": "IMAGE",
77
+ "type": "IMAGE",
78
+ "slot_index": 0,
79
+ "links": [
80
+ 240
81
+ ]
82
+ }
83
+ ],
84
+ "properties": {
85
+ "cnr_id": "comfy-core",
86
+ "ver": "0.3.38",
87
+ "Node name for S&R": "VAEDecode"
88
+ },
89
+ "widgets_values": []
90
+ },
91
+ {
92
+ "id": 35,
93
+ "type": "FluxGuidance",
94
+ "pos": [
95
+ 250,
96
+ 90
97
+ ],
98
+ "size": [
99
+ 240,
100
+ 58
101
+ ],
102
+ "flags": {
103
+ "collapsed": false
104
+ },
105
+ "order": 19,
106
+ "mode": 0,
107
+ "inputs": [
108
+ {
109
+ "name": "conditioning",
110
+ "type": "CONDITIONING",
111
+ "link": 292
112
+ }
113
+ ],
114
+ "outputs": [
115
+ {
116
+ "name": "CONDITIONING",
117
+ "type": "CONDITIONING",
118
+ "slot_index": 0,
119
+ "links": [
120
+ 57
121
+ ]
122
+ }
123
+ ],
124
+ "properties": {
125
+ "cnr_id": "comfy-core",
126
+ "ver": "0.3.38",
127
+ "Node name for S&R": "FluxGuidance"
128
+ },
129
+ "widgets_values": [
130
+ 2.5
131
+ ]
132
+ },
133
+ {
134
+ "id": 185,
135
+ "type": "MarkdownNote",
136
+ "pos": [
137
+ -960,
138
+ 490
139
+ ],
140
+ "size": [
141
+ 510,
142
+ 170
143
+ ],
144
+ "flags": {},
145
+ "order": 0,
146
+ "mode": 0,
147
+ "inputs": [],
148
+ "outputs": [],
149
+ "title": "About VRAM",
150
+ "properties": {},
151
+ "widgets_values": [
152
+ "For reference:\n- **fp8_scaled**: Requires about 20GB of VRAM.\n- **Original**: Requires about 32GB of VRAM.\n\n---\n\n供参考:\n- **fp8_scaled** : 大概需要 20GB 左右 VRAM \n- **原始权重**: 原始权重,大概需要 32GB 左右 VRAM \n"
153
+ ],
154
+ "color": "#432",
155
+ "bgcolor": "#653"
156
+ },
157
+ {
158
+ "id": 186,
159
+ "type": "MarkdownNote",
160
+ "pos": [
161
+ -960,
162
+ 710
163
+ ],
164
+ "size": [
165
+ 510,
166
+ 170
167
+ ],
168
+ "flags": {},
169
+ "order": 1,
170
+ "mode": 0,
171
+ "inputs": [],
172
+ "outputs": [],
173
+ "title": "Flux Kontext Prompt Techniques",
174
+ "properties": {},
175
+ "widgets_values": [
176
+ "\n## Flux Kontext Prompt Techniques\n\n### 1. Basic Modifications\n- Simple and direct: `\"Change the car color to red\"`\n- Maintain style: `\"Change to daytime while maintaining the same style of the painting\"`\n\n### 2. Style Transfer\n**Principles:**\n- Clearly name style: `\"Transform to Bauhaus art style\"`\n- Describe characteristics: `\"Transform to oil painting with visible brushstrokes, thick paint texture\"`\n- Preserve composition: `\"Change to Bauhaus style while maintaining the original composition\"`\n\n### 3. Character Consistency\n**Framework:**\n- Specific description: `\"The woman with short black hair\"` instead of \"she\"\n- Preserve features: `\"while maintaining the same facial features, hairstyle, and expression\"`\n- Step-by-step modifications: Change background first, then actions\n\n### 4. Text Editing\n- Use quotes: `\"Replace 'joy' with 'BFL'\"`\n- Maintain format: `\"Replace text while maintaining the same font style\"`\n\n## Common Problem Solutions\n\n### Character Changes Too Much\n❌ Wrong: `\"Transform the person into a Viking\"`\n✅ Correct: `\"Change the clothes to be a viking warrior while preserving facial features\"`\n\n### Composition Position Changes\n❌ Wrong: `\"Put him on a beach\"`\n✅ Correct: `\"Change the background to a beach while keeping the person in the exact same position, scale, and pose\"`\n\n### Style Application Inaccuracy\n❌ Wrong: `\"Make it a sketch\"`\n✅ Correct: `\"Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture\"`\n\n## Core Principles\n\n1. **Be Specific and Clear** - Use precise descriptions, avoid vague terms\n2. **Step-by-step Editing** - Break complex modifications into multiple simple steps\n3. **Explicit Preservation** - State what should remain unchanged\n4. **Verb Selection** - Use \"change\", \"replace\" rather than \"transform\"\n\n## Best Practice Templates\n\n**Object Modification:**\n`\"Change [object] to [new state], keep [content to preserve] unchanged\"`\n\n**Style Transfer:**\n`\"Transform to [specific style], while maintaining [composition/character/other] unchanged\"`\n\n**Background Replacement:**\n`\"Change the background to [new background], keep the subject in the exact same position and pose\"`\n\n**Text Editing:**\n`\"Replace '[original text]' with '[new text]', maintain the same font style\"`\n\n> **Remember:** The more specific, the better. Kontext excels at understanding detailed instructions and maintaining consistency. "
177
+ ],
178
+ "color": "#432",
179
+ "bgcolor": "#653"
180
+ },
181
+ {
182
+ "id": 184,
183
+ "type": "MarkdownNote",
184
+ "pos": [
185
+ -960,
186
+ 40
187
+ ],
188
+ "size": [
189
+ 510,
190
+ 400
191
+ ],
192
+ "flags": {},
193
+ "order": 2,
194
+ "mode": 0,
195
+ "inputs": [],
196
+ "outputs": [],
197
+ "title": "Model links",
198
+ "properties": {},
199
+ "widgets_values": [
200
+ "[tutorial](http://docs.comfy.org/tutorials/flux/flux-1-kontext-dev) | [教程](http://docs.comfy.org/zh-CN/tutorials/flux/flux-1-kontext-dev)\n\n**diffusion model**\n\n- [flux1-dev-kontext_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors)\n\n**vae**\n\n- [ae.safetensors](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/vae/ae.safetensors)\n\n**text encoder**\n\n- [clip_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/blob/main/clip_l.safetensors)\n- [t5xxl_fp16.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors) or [t5xxl_fp8_e4m3fn_scaled.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors)\n\nModel Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ └── flux1-dev-kontext_fp8_scaled.safetensors\n│ ├── 📂 vae/\n│ │ └── ae.safetensor\n│ └── 📂 text_encoders/\n│ ├── clip_l.safetensors\n│ └── t5xxl_fp16.safetensors 或者 t5xxl_fp8_e4m3fn_scaled.safetensors\n```\n"
201
+ ],
202
+ "color": "#432",
203
+ "bgcolor": "#653"
204
+ },
205
+ {
206
+ "id": 177,
207
+ "type": "ReferenceLatent",
208
+ "pos": [
209
+ 10,
210
+ 140
211
+ ],
212
+ "size": [
213
+ 197.712890625,
214
+ 46
215
+ ],
216
+ "flags": {},
217
+ "order": 18,
218
+ "mode": 0,
219
+ "inputs": [
220
+ {
221
+ "name": "conditioning",
222
+ "type": "CONDITIONING",
223
+ "link": 294
224
+ },
225
+ {
226
+ "name": "latent",
227
+ "shape": 7,
228
+ "type": "LATENT",
229
+ "link": 293
230
+ }
231
+ ],
232
+ "outputs": [
233
+ {
234
+ "name": "CONDITIONING",
235
+ "type": "CONDITIONING",
236
+ "links": [
237
+ 292
238
+ ]
239
+ }
240
+ ],
241
+ "properties": {
242
+ "cnr_id": "comfy-core",
243
+ "ver": "0.3.41",
244
+ "Node name for S&R": "ReferenceLatent"
245
+ },
246
+ "widgets_values": []
247
+ },
248
+ {
249
+ "id": 178,
250
+ "type": "MarkdownNote",
251
+ "pos": [
252
+ -30,
253
+ -150
254
+ ],
255
+ "size": [
256
+ 540,
257
+ 150
258
+ ],
259
+ "flags": {},
260
+ "order": 3,
261
+ "mode": 0,
262
+ "inputs": [],
263
+ "outputs": [],
264
+ "title": "About multiple images reference",
265
+ "properties": {},
266
+ "widgets_values": [
267
+ "[English] In addition to using **Image Stitch** to combine two images at a time, you can also encode individual images, then concatenate multiple latent conditions using the **ReferenceLatent** node, thus achieving the purpose of referencing multiple images. You can use the **EmptySD3LatentImage** node on the right to connect to **KSamper** and customize the size of the **latent_image**.\n\n[中文] 除了使用 **Image Stitch** 将两个两个图像拼合之外,你同样可以将单独的图像 encode 之后,将多个 latent 条件使用 **ReferenceLatent** 节点串联,从而实现多张图像参考的目的。可以使用右边的 **EmptySD3LatentImage** 节点连接到 **KSamper**来自定义 **latent_image** 的尺寸"
268
+ ],
269
+ "color": "#432",
270
+ "bgcolor": "#653"
271
+ },
272
+ {
273
+ "id": 180,
274
+ "type": "MarkdownNote",
275
+ "pos": [
276
+ -1430,
277
+ 40
278
+ ],
279
+ "size": [
280
+ 450,
281
+ 450
282
+ ],
283
+ "flags": {},
284
+ "order": 4,
285
+ "mode": 0,
286
+ "inputs": [],
287
+ "outputs": [],
288
+ "title": "✨ New ComfyUI feature for Flux.1 Kontext Dev",
289
+ "properties": {},
290
+ "widgets_values": [
291
+ "[English]\nWe have added an **Edit** button to the **Selection Toolbox** of the node for **FLUX.1 Kontext Image Edit** support. When clicked, it quickly adds a **FLUX.1 Kontext Image Edit** group node to the Latent output of your current workflow. This enables an interactive editing experience where you can:\n\n- Create multiple editing iterations, each preserved as a separate node\n- Easily branch off from any previous edit point to explore different creative directions\n- Return to any earlier version and start a new editing branch\n- Modify parameters in earlier nodes and automatically update all downstream edits\n- Execute or re-execute any branch of edits at any time\n- When you want to maintain the effect of the corresponding branch, please set the seed of the corresponding group node to fixed.\n\n\nThis workflow mirrors the iterative nature of LLM conversations, but with the added advantage of visual editing and the ability to maintain multiple parallel editing paths.\n\n---\n\n[中文]\n我们为 **FLUX.1 Kontext Image Edit** 的相关支持在节点的**选择工具箱**上新增了一个**编辑**按钮。点击后,系统会在当前工作流的 Latent 输出上快速添加一个 **FLUX.1 Kontext Image Edit** 的组节点。这种设计带来了灵活的交互式编辑体验:\n\n- 创建多个编辑迭代,每次编辑都会保存为独立节点\n- 可以从任何之前的编辑点分支出新的创作方向\n- 随时返回到早期版本并开始新的编辑分支\n- 修改早期节点的参数,自动更新所有下游编辑\n- 可以随时执行或重新执行任何编辑分支\n- 想要固定对应分支效果时,请将对应的 seed 设置为 fixed\n\n这种工作流程类似于 LLM 对话的迭代特性,但增加了视觉编辑的优势,并能够维护多个并行的编辑路径。"
292
+ ],
293
+ "color": "#322",
294
+ "bgcolor": "#533"
295
+ },
296
+ {
297
+ "id": 187,
298
+ "type": "MarkdownNote",
299
+ "pos": [
300
+ -960,
301
+ 930
302
+ ],
303
+ "size": [
304
+ 510,
305
+ 180
306
+ ],
307
+ "flags": {},
308
+ "order": 5,
309
+ "mode": 0,
310
+ "inputs": [],
311
+ "outputs": [],
312
+ "title": "Flux Kontext 提示词技巧",
313
+ "properties": {},
314
+ "widgets_values": [
315
+ "\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 擅长理解详细指令并保持一致性。"
316
+ ],
317
+ "color": "#432",
318
+ "bgcolor": "#653"
319
+ },
320
+ {
321
+ "id": 42,
322
+ "type": "FluxKontextImageScale",
323
+ "pos": [
324
+ -50,
325
+ 570
326
+ ],
327
+ "size": [
328
+ 270,
329
+ 30
330
+ ],
331
+ "flags": {
332
+ "collapsed": false
333
+ },
334
+ "order": 16,
335
+ "mode": 0,
336
+ "inputs": [
337
+ {
338
+ "name": "image",
339
+ "type": "IMAGE",
340
+ "link": 305
341
+ }
342
+ ],
343
+ "outputs": [
344
+ {
345
+ "name": "IMAGE",
346
+ "type": "IMAGE",
347
+ "links": [
348
+ 222
349
+ ]
350
+ }
351
+ ],
352
+ "properties": {
353
+ "cnr_id": "comfy-core",
354
+ "ver": "0.3.38",
355
+ "Node name for S&R": "FluxKontextImageScale"
356
+ },
357
+ "widgets_values": []
358
+ },
359
+ {
360
+ "id": 37,
361
+ "type": "UNETLoader",
362
+ "pos": [
363
+ -400,
364
+ 80
365
+ ],
366
+ "size": [
367
+ 337.76861572265625,
368
+ 82
369
+ ],
370
+ "flags": {},
371
+ "order": 6,
372
+ "mode": 0,
373
+ "inputs": [],
374
+ "outputs": [
375
+ {
376
+ "name": "MODEL",
377
+ "type": "MODEL",
378
+ "links": [
379
+ 306
380
+ ]
381
+ }
382
+ ],
383
+ "properties": {
384
+ "cnr_id": "comfy-core",
385
+ "ver": "0.3.38",
386
+ "Node name for S&R": "UNETLoader",
387
+ "models": [
388
+ {
389
+ "name": "flux1-dev-kontext_fp8_scaled.safetensors",
390
+ "url": "https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors",
391
+ "directory": "diffusion_models"
392
+ }
393
+ ]
394
+ },
395
+ "widgets_values": [
396
+ "flux1-dev-kontext_fp8_scaled.safetensors",
397
+ "default"
398
+ ],
399
+ "color": "#322",
400
+ "bgcolor": "#533"
401
+ },
402
+ {
403
+ "id": 38,
404
+ "type": "DualCLIPLoader",
405
+ "pos": [
406
+ -400,
407
+ 210
408
+ ],
409
+ "size": [
410
+ 337.76861572265625,
411
+ 130
412
+ ],
413
+ "flags": {},
414
+ "order": 7,
415
+ "mode": 0,
416
+ "inputs": [],
417
+ "outputs": [
418
+ {
419
+ "name": "CLIP",
420
+ "type": "CLIP",
421
+ "links": [
422
+ 59
423
+ ]
424
+ }
425
+ ],
426
+ "properties": {
427
+ "cnr_id": "comfy-core",
428
+ "ver": "0.3.38",
429
+ "Node name for S&R": "DualCLIPLoader",
430
+ "models": [
431
+ {
432
+ "name": "clip_l.safetensors",
433
+ "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
434
+ "directory": "text_encoders"
435
+ },
436
+ {
437
+ "name": "t5xxl_fp8_e4m3fn_scaled.safetensors",
438
+ "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors",
439
+ "directory": "text_encoders"
440
+ }
441
+ ]
442
+ },
443
+ "widgets_values": [
444
+ "clip_l.safetensors",
445
+ "t5xxl_fp8_e4m3fn_scaled.safetensors",
446
+ "flux",
447
+ "default"
448
+ ],
449
+ "color": "#322",
450
+ "bgcolor": "#533"
451
+ },
452
+ {
453
+ "id": 39,
454
+ "type": "VAELoader",
455
+ "pos": [
456
+ -400,
457
+ 390
458
+ ],
459
+ "size": [
460
+ 337.76861572265625,
461
+ 58
462
+ ],
463
+ "flags": {},
464
+ "order": 8,
465
+ "mode": 0,
466
+ "inputs": [],
467
+ "outputs": [
468
+ {
469
+ "name": "VAE",
470
+ "type": "VAE",
471
+ "links": [
472
+ 61,
473
+ 223
474
+ ]
475
+ }
476
+ ],
477
+ "properties": {
478
+ "cnr_id": "comfy-core",
479
+ "ver": "0.3.38",
480
+ "Node name for S&R": "VAELoader",
481
+ "models": [
482
+ {
483
+ "name": "ae.safetensors",
484
+ "url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
485
+ "directory": "vae"
486
+ }
487
+ ]
488
+ },
489
+ "widgets_values": [
490
+ "ae.safetensors"
491
+ ],
492
+ "color": "#322",
493
+ "bgcolor": "#533"
494
+ },
495
+ {
496
+ "id": 124,
497
+ "type": "VAEEncode",
498
+ "pos": [
499
+ 2.9813523292541504,
500
+ 357.48455810546875
501
+ ],
502
+ "size": [
503
+ 240,
504
+ 50
505
+ ],
506
+ "flags": {
507
+ "collapsed": false
508
+ },
509
+ "order": 17,
510
+ "mode": 0,
511
+ "inputs": [
512
+ {
513
+ "name": "pixels",
514
+ "type": "IMAGE",
515
+ "link": 222
516
+ },
517
+ {
518
+ "name": "vae",
519
+ "type": "VAE",
520
+ "link": 223
521
+ }
522
+ ],
523
+ "outputs": [
524
+ {
525
+ "name": "LATENT",
526
+ "type": "LATENT",
527
+ "links": [
528
+ 291,
529
+ 293
530
+ ]
531
+ }
532
+ ],
533
+ "properties": {
534
+ "cnr_id": "comfy-core",
535
+ "ver": "0.3.39",
536
+ "Node name for S&R": "VAEEncode"
537
+ },
538
+ "widgets_values": []
539
+ },
540
+ {
541
+ "id": 196,
542
+ "type": "PreviewImage",
543
+ "pos": [
544
+ -24.226125717163086,
545
+ 900.5963745117188
546
+ ],
547
+ "size": [
548
+ 270,
549
+ 300
550
+ ],
551
+ "flags": {},
552
+ "order": 15,
553
+ "mode": 0,
554
+ "inputs": [
555
+ {
556
+ "name": "images",
557
+ "type": "IMAGE",
558
+ "link": 304
559
+ }
560
+ ],
561
+ "outputs": [],
562
+ "properties": {
563
+ "cnr_id": "comfy-core",
564
+ "ver": "0.3.40",
565
+ "Node name for S&R": "PreviewImage"
566
+ },
567
+ "widgets_values": []
568
+ },
569
+ {
570
+ "id": 6,
571
+ "type": "CLIPTextEncode",
572
+ "pos": [
573
+ 330,
574
+ 560
575
+ ],
576
+ "size": [
577
+ 400,
578
+ 220
579
+ ],
580
+ "flags": {},
581
+ "order": 12,
582
+ "mode": 0,
583
+ "inputs": [
584
+ {
585
+ "name": "clip",
586
+ "type": "CLIP",
587
+ "link": 59
588
+ }
589
+ ],
590
+ "outputs": [
591
+ {
592
+ "name": "CONDITIONING",
593
+ "type": "CONDITIONING",
594
+ "slot_index": 0,
595
+ "links": [
596
+ 237,
597
+ 294
598
+ ]
599
+ }
600
+ ],
601
+ "title": "CLIP Text Encode (Positive Prompt)",
602
+ "properties": {
603
+ "cnr_id": "comfy-core",
604
+ "ver": "0.3.38",
605
+ "Node name for S&R": "CLIPTextEncode"
606
+ },
607
+ "widgets_values": [
608
+ "Place both cute characters together in one scene,\nlet the right man stand behind the left man,\nput its arms around the left man's chest,\nput one hand into the left man's underwear to stroke his penis, and the other hand to stroke the left man's chest"
609
+ ],
610
+ "color": "#232",
611
+ "bgcolor": "#353"
612
+ },
613
+ {
614
+ "id": 189,
615
+ "type": "MarkdownNote",
616
+ "pos": [
617
+ -825.3777465820312,
618
+ 1210.98779296875
619
+ ],
620
+ "size": [
621
+ 340,
622
+ 90
623
+ ],
624
+ "flags": {},
625
+ "order": 9,
626
+ "mode": 0,
627
+ "inputs": [],
628
+ "outputs": [],
629
+ "title": "About multi-round edit",
630
+ "properties": {},
631
+ "widgets_values": [
632
+ "The **Load Image (from Outputs)** node allows you to fetch the last image from the output. Click on the **refresh** button to fetch the latest image or manually select an image from the dropdown list."
633
+ ],
634
+ "color": "#432",
635
+ "bgcolor": "#653"
636
+ },
637
+ {
638
+ "id": 31,
639
+ "type": "KSampler",
640
+ "pos": [
641
+ 530,
642
+ 40
643
+ ],
644
+ "size": [
645
+ 320,
646
+ 262
647
+ ],
648
+ "flags": {},
649
+ "order": 20,
650
+ "mode": 0,
651
+ "inputs": [
652
+ {
653
+ "name": "model",
654
+ "type": "MODEL",
655
+ "link": 306
656
+ },
657
+ {
658
+ "name": "positive",
659
+ "type": "CONDITIONING",
660
+ "link": 57
661
+ },
662
+ {
663
+ "name": "negative",
664
+ "type": "CONDITIONING",
665
+ "link": 238
666
+ },
667
+ {
668
+ "name": "latent_image",
669
+ "type": "LATENT",
670
+ "link": 291
671
+ }
672
+ ],
673
+ "outputs": [
674
+ {
675
+ "name": "LATENT",
676
+ "type": "LATENT",
677
+ "slot_index": 0,
678
+ "links": [
679
+ 52
680
+ ]
681
+ }
682
+ ],
683
+ "properties": {
684
+ "cnr_id": "comfy-core",
685
+ "ver": "0.3.38",
686
+ "Node name for S&R": "KSampler"
687
+ },
688
+ "widgets_values": [
689
+ 433500811229478,
690
+ "randomize",
691
+ 25,
692
+ 1,
693
+ "euler",
694
+ "simple",
695
+ 1
696
+ ]
697
+ },
698
+ {
699
+ "id": 195,
700
+ "type": "ImageStitch",
701
+ "pos": [
702
+ -32.269615173339844,
703
+ 671.8697509765625
704
+ ],
705
+ "size": [
706
+ 270,
707
+ 150
708
+ ],
709
+ "flags": {},
710
+ "order": 13,
711
+ "mode": 0,
712
+ "inputs": [
713
+ {
714
+ "name": "image1",
715
+ "type": "IMAGE",
716
+ "link": 302
717
+ },
718
+ {
719
+ "name": "image2",
720
+ "shape": 7,
721
+ "type": "IMAGE",
722
+ "link": 303
723
+ }
724
+ ],
725
+ "outputs": [
726
+ {
727
+ "name": "IMAGE",
728
+ "type": "IMAGE",
729
+ "links": [
730
+ 304,
731
+ 305
732
+ ]
733
+ }
734
+ ],
735
+ "properties": {
736
+ "cnr_id": "comfy-core",
737
+ "ver": "0.3.41",
738
+ "Node name for S&R": "ImageStitch"
739
+ },
740
+ "widgets_values": [
741
+ "right",
742
+ true,
743
+ 0,
744
+ "white"
745
+ ]
746
+ },
747
+ {
748
+ "id": 136,
749
+ "type": "SaveImage",
750
+ "pos": [
751
+ 775.6278076171875,
752
+ 450.677734375
753
+ ],
754
+ "size": [
755
+ 650,
756
+ 660
757
+ ],
758
+ "flags": {},
759
+ "order": 22,
760
+ "mode": 0,
761
+ "inputs": [
762
+ {
763
+ "name": "images",
764
+ "type": "IMAGE",
765
+ "link": 240
766
+ }
767
+ ],
768
+ "outputs": [],
769
+ "properties": {
770
+ "cnr_id": "comfy-core",
771
+ "ver": "0.3.39"
772
+ },
773
+ "widgets_values": [
774
+ "ComfyUI"
775
+ ]
776
+ },
777
+ {
778
+ "id": 194,
779
+ "type": "LoadImage",
780
+ "pos": [
781
+ -425.2510070800781,
782
+ 950.6273193359375
783
+ ],
784
+ "size": [
785
+ 350,
786
+ 400
787
+ ],
788
+ "flags": {},
789
+ "order": 10,
790
+ "mode": 0,
791
+ "inputs": [],
792
+ "outputs": [
793
+ {
794
+ "name": "IMAGE",
795
+ "type": "IMAGE",
796
+ "links": [
797
+ 303
798
+ ]
799
+ },
800
+ {
801
+ "name": "MASK",
802
+ "type": "MASK",
803
+ "links": null
804
+ }
805
+ ],
806
+ "properties": {
807
+ "cnr_id": "comfy-core",
808
+ "ver": "0.3.39",
809
+ "Node name for S&R": "LoadImage"
810
+ },
811
+ "widgets_values": [
812
+ "Screenshot 2025-07-28 214902.png",
813
+ "image"
814
+ ],
815
+ "color": "#322",
816
+ "bgcolor": "#533"
817
+ },
818
+ {
819
+ "id": 193,
820
+ "type": "LoadImage",
821
+ "pos": [
822
+ -416.0583801269531,
823
+ 539.1367797851562
824
+ ],
825
+ "size": [
826
+ 340,
827
+ 350
828
+ ],
829
+ "flags": {},
830
+ "order": 11,
831
+ "mode": 0,
832
+ "inputs": [],
833
+ "outputs": [
834
+ {
835
+ "name": "IMAGE",
836
+ "type": "IMAGE",
837
+ "links": [
838
+ 302
839
+ ]
840
+ },
841
+ {
842
+ "name": "MASK",
843
+ "type": "MASK",
844
+ "links": null
845
+ }
846
+ ],
847
+ "properties": {
848
+ "cnr_id": "comfy-core",
849
+ "ver": "0.3.39",
850
+ "Node name for S&R": "LoadImage"
851
+ },
852
+ "widgets_values": [
853
+ "GwyYDNEasAAIFM8.jpg",
854
+ "image"
855
+ ],
856
+ "color": "#322",
857
+ "bgcolor": "#533"
858
+ }
859
+ ],
860
+ "links": [
861
+ [
862
+ 52,
863
+ 31,
864
+ 0,
865
+ 8,
866
+ 0,
867
+ "LATENT"
868
+ ],
869
+ [
870
+ 57,
871
+ 35,
872
+ 0,
873
+ 31,
874
+ 1,
875
+ "CONDITIONING"
876
+ ],
877
+ [
878
+ 59,
879
+ 38,
880
+ 0,
881
+ 6,
882
+ 0,
883
+ "CLIP"
884
+ ],
885
+ [
886
+ 61,
887
+ 39,
888
+ 0,
889
+ 8,
890
+ 1,
891
+ "VAE"
892
+ ],
893
+ [
894
+ 222,
895
+ 42,
896
+ 0,
897
+ 124,
898
+ 0,
899
+ "IMAGE"
900
+ ],
901
+ [
902
+ 223,
903
+ 39,
904
+ 0,
905
+ 124,
906
+ 1,
907
+ "VAE"
908
+ ],
909
+ [
910
+ 237,
911
+ 6,
912
+ 0,
913
+ 135,
914
+ 0,
915
+ "CONDITIONING"
916
+ ],
917
+ [
918
+ 238,
919
+ 135,
920
+ 0,
921
+ 31,
922
+ 2,
923
+ "CONDITIONING"
924
+ ],
925
+ [
926
+ 240,
927
+ 8,
928
+ 0,
929
+ 136,
930
+ 0,
931
+ "IMAGE"
932
+ ],
933
+ [
934
+ 291,
935
+ 124,
936
+ 0,
937
+ 31,
938
+ 3,
939
+ "LATENT"
940
+ ],
941
+ [
942
+ 292,
943
+ 177,
944
+ 0,
945
+ 35,
946
+ 0,
947
+ "CONDITIONING"
948
+ ],
949
+ [
950
+ 293,
951
+ 124,
952
+ 0,
953
+ 177,
954
+ 1,
955
+ "LATENT"
956
+ ],
957
+ [
958
+ 294,
959
+ 6,
960
+ 0,
961
+ 177,
962
+ 0,
963
+ "CONDITIONING"
964
+ ],
965
+ [
966
+ 302,
967
+ 193,
968
+ 0,
969
+ 195,
970
+ 0,
971
+ "IMAGE"
972
+ ],
973
+ [
974
+ 303,
975
+ 194,
976
+ 0,
977
+ 195,
978
+ 1,
979
+ "IMAGE"
980
+ ],
981
+ [
982
+ 304,
983
+ 195,
984
+ 0,
985
+ 196,
986
+ 0,
987
+ "IMAGE"
988
+ ],
989
+ [
990
+ 305,
991
+ 195,
992
+ 0,
993
+ 42,
994
+ 0,
995
+ "IMAGE"
996
+ ],
997
+ [
998
+ 306,
999
+ 37,
1000
+ 0,
1001
+ 31,
1002
+ 0,
1003
+ "MODEL"
1004
+ ]
1005
+ ],
1006
+ "groups": [
1007
+ {
1008
+ "id": 1,
1009
+ "title": "Step 1- Load models",
1010
+ "bounding": [
1011
+ -410,
1012
+ 10,
1013
+ 360,
1014
+ 450
1015
+ ],
1016
+ "color": "#3f789e",
1017
+ "font_size": 24,
1018
+ "flags": {}
1019
+ },
1020
+ {
1021
+ "id": 3,
1022
+ "title": "Step 2 - Upload images",
1023
+ "bounding": [
1024
+ -410,
1025
+ 480,
1026
+ 700,
1027
+ 680
1028
+ ],
1029
+ "color": "#3f789e",
1030
+ "font_size": 24,
1031
+ "flags": {}
1032
+ },
1033
+ {
1034
+ "id": 5,
1035
+ "title": "Step 3 - Prompt",
1036
+ "bounding": [
1037
+ 310,
1038
+ 480,
1039
+ 430,
1040
+ 330
1041
+ ],
1042
+ "color": "#3f789e",
1043
+ "font_size": 24,
1044
+ "flags": {}
1045
+ },
1046
+ {
1047
+ "id": 6,
1048
+ "title": "Conditioning",
1049
+ "bounding": [
1050
+ -30,
1051
+ 10,
1052
+ 540,
1053
+ 250
1054
+ ],
1055
+ "color": "#3f789e",
1056
+ "font_size": 24,
1057
+ "flags": {}
1058
+ }
1059
+ ],
1060
+ "config": {},
1061
+ "extra": {
1062
+ "ds": {
1063
+ "scale": 0.8140274938684529,
1064
+ "offset": [
1065
+ 1537.3656192985836,
1066
+ 171.02963384643775
1067
+ ]
1068
+ },
1069
+ "frontendVersion": "1.23.4",
1070
+ "groupNodes": {},
1071
+ "VHS_latentpreview": false,
1072
+ "VHS_latentpreviewrate": 0,
1073
+ "VHS_MetadataImage": true,
1074
+ "VHS_KeepIntermediate": true
1075
+ },
1076
+ "version": 0.4
1077
+ }