ComfyPilotComfyPilot
工作流 / 图像 / Flux.1 Kontext 多图像输入
Flux.1 Kontext 多图像输入

Flux.1 Kontext 多图像输入

Flux.1 Kontext Multiple Image Input

输入多个图像并使用Flux.1 Kontext进行编辑。

图像 10 个节点 3 个输入 17 次使用 ComfyUI ≥ 0.3.40 ComfyUI 12 KB

下载工作流 JSON 查看官方来源

下载后把文件拖进 ComfyUI 窗口即可打开。

节点构成

LoadImage × 3
ImageStitch × 2
MarkdownNote × 2
SaveImage × 1
FluxKontextProImageNode × 1
PreviewImage × 1

官方标注的模型

FLUX.1 KontextFLUX

工作流 JSON

和上面「下载工作流 JSON」是同一份文件。

1{
2 "id": "81ccfe3e-3540-49e3-88ae-4fde173b8c87",
3 "revision": 0,
4 "last_node_id": 98,
5 "last_link_id": 193,
6 "nodes": [
7 {
8 "id": 84,
9 "type": "LoadImage",
10 "pos": [
11 72.24028778076172,
12 935.2307739257812
13 ],
14 "size": [
15 274.080078125,
16 314
17 ],
18 "flags": [],
19 "order": 0,
20 "mode": 0,
21 "inputs": [],
22 "outputs": [
23 {
24 "name": "IMAGE",
25 "type": "IMAGE",
26 "links": [
27 188
28 ]
29 },
30 {
31 "name": "MASK",
32 "type": "MASK",
33 "links": null
34 }
35 ],
36 "properties": {
37 "cnr_id": "comfy-core",
38 "ver": "0.3.38",
39 "Node name for S&R": "LoadImage",
40 "ue_properties": {
41 "widget_ue_connectable": [],
42 "version": "7.1",
43 "input_ue_unconnectable": []
44 }
45 },
46 "widgets_values": [
47 "api_bfl_flux_1_kontext_multiple_images_input_girl.jpg",
48 "image"
49 ]
50 },
51 {
52 "id": 96,
53 "type": "LoadImage",
54 "pos": [
55 74.27182006835938,
56 1308.6739501953125
57 ],
58 "size": [
59 274.080078125,
60 314
61 ],
62 "flags": [],
63 "order": 1,
64 "mode": 0,
65 "inputs": [],
66 "outputs": [
67 {
68 "name": "IMAGE",
69 "type": "IMAGE",
70 "links": [
71 189
72 ]
73 },
74 {
75 "name": "MASK",
76 "type": "MASK",
77 "links": null
78 }
79 ],
80 "properties": {
81 "cnr_id": "comfy-core",
82 "ver": "0.3.38",
83 "Node name for S&R": "LoadImage",
84 "ue_properties": {
85 "widget_ue_connectable": [],
86 "version": "7.1",
87 "input_ue_unconnectable": []
88 }
89 },
90 "widgets_values": [
91 "api_bfl_flux_1_kontext_multiple_images_input_dog.jpg",
92 "image"
93 ]
94 },
95 {
96 "id": 85,
97 "type": "SaveImage",
98 "pos": [
99 1560,
100 940
101 ],
102 "size": [
103 484.319580078125,
104 464.4701232910156
105 ],
106 "flags": {
107 "collapsed": false
108 },
109 "order": 9,
110 "mode": 0,
111 "inputs": [
112 {
113 "name": "images",
114 "type": "IMAGE",
115 "link": 169
116 }
117 ],
118 "outputs": [],
119 "properties": {
120 "cnr_id": "comfy-core",
121 "ver": "0.3.38",
122 "ue_properties": {
123 "widget_ue_connectable": [],
124 "version": "7.1",
125 "input_ue_unconnectable": []
126 }
127 },
128 "widgets_values": [
129 "ComfyUI"
130 ]
131 },
132 {
133 "id": 91,
134 "type": "LoadImage",
135 "pos": [
136 395.8225402832031,
137 1311.527587890625
138 ],
139 "size": [
140 274.080078125,
141 314
142 ],
143 "flags": [],
144 "order": 2,
145 "mode": 0,
146 "inputs": [],
147 "outputs": [
148 {
149 "name": "IMAGE",
150 "type": "IMAGE",
151 "links": [
152 191
153 ]
154 },
155 {
156 "name": "MASK",
157 "type": "MASK",
158 "links": null
159 }
160 ],
161 "properties": {
162 "cnr_id": "comfy-core",
163 "ver": "0.3.38",
164 "Node name for S&R": "LoadImage",
165 "ue_properties": {
166 "widget_ue_connectable": [],
167 "version": "7.1",
168 "input_ue_unconnectable": []
169 }
170 },
171 "widgets_values": [
172 "api_bfl_flux_1_kontext_multiple_images_input_sofa.jpg",
173 "image"
174 ]
175 },
176 {
177 "id": 83,
178 "type": "FluxKontextProImageNode",
179 "pos": [
180 1057.7161865234375,
181 944.173583984375
182 ],
183 "size": [
184 395.2944030761719,
185 323.6419372558594
186 ],
187 "flags": {
188 "collapsed": false
189 },
190 "order": 8,
191 "mode": 0,
192 "inputs": [
193 {
194 "name": "input_image",
195 "shape": 7,
196 "type": "IMAGE",
197 "link": 193
198 }
199 ],
200 "outputs": [
201 {
202 "name": "IMAGE",
203 "type": "IMAGE",
204 "links": [
205 169
206 ]
207 }
208 ],
209 "properties": {
210 "cnr_id": "comfy-core",
211 "ver": "0.3.65",
212 "Node name for S&R": "FluxKontextProImageNode",
213 "ue_properties": {
214 "widget_ue_connectable": [],
215 "version": "7.1",
216 "input_ue_unconnectable": []
217 }
218 },
219 "widgets_values": [
220 "The character is sitting cross-legged on the sofa, and the Dalmatian is lying on the blanket sleeping.",
221 "1:1",
222 3,
223 50,
224 323708991831609,
225 "randomize",
226 false
227 ],
228 "color": "#432",
229 "bgcolor": "#653"
230 },
231 {
232 "id": 97,
233 "type": "ImageStitch",
234 "pos": [
235 395.0640869140625,
236 938.37646484375
237 ],
238 "size": [
239 270,
240 150
241 ],
242 "flags": [],
243 "order": 5,
244 "mode": 0,
245 "inputs": [
246 {
247 "name": "image1",
248 "type": "IMAGE",
249 "link": 188
250 },
251 {
252 "name": "image2",
253 "shape": 7,
254 "type": "IMAGE",
255 "link": 189
256 }
257 ],
258 "outputs": [
259 {
260 "name": "IMAGE",
261 "type": "IMAGE",
262 "links": [
263 190
264 ]
265 }
266 ],
267 "properties": {
268 "cnr_id": "comfy-core",
269 "ver": "0.3.65",
270 "Node name for S&R": "ImageStitch",
271 "ue_properties": {
272 "widget_ue_connectable": [],
273 "version": "7.1",
274 "input_ue_unconnectable": []
275 }
276 },
277 "widgets_values": [
278 "up",
279 true,
280 8,
281 "white"
282 ]
283 },
284 {
285 "id": 98,
286 "type": "ImageStitch",
287 "pos": [
288 708.7109375,
289 1114.95166015625
290 ],
291 "size": [
292 270,
293 150
294 ],
295 "flags": [],
296 "order": 6,
297 "mode": 0,
298 "inputs": [
299 {
300 "name": "image1",
301 "type": "IMAGE",
302 "link": 190
303 },
304 {
305 "name": "image2",
306 "shape": 7,
307 "type": "IMAGE",
308 "link": 191
309 }
310 ],
311 "outputs": [
312 {
313 "name": "IMAGE",
314 "type": "IMAGE",
315 "links": [
316 192,
317 193
318 ]
319 }
320 ],
321 "properties": {
322 "cnr_id": "comfy-core",
323 "ver": "0.3.65",
324 "Node name for S&R": "ImageStitch",
325 "ue_properties": {
326 "widget_ue_connectable": [],
327 "version": "7.1",
328 "input_ue_unconnectable": []
329 }
330 },
331 "widgets_values": [
332 "right",
333 true,
334 20,
335 "white"
336 ]
337 },
338 {
339 "id": 90,
340 "type": "PreviewImage",
341 "pos": [
342 1058.0968017578125,
343 1328.1317138671875
344 ],
345 "size": [
346 307.50909423828125,
347 272.1806335449219
348 ],
349 "flags": [],
350 "order": 7,
351 "mode": 0,
352 "inputs": [
353 {
354 "name": "images",
355 "type": "IMAGE",
356 "link": 192
357 }
358 ],
359 "outputs": [],
360 "properties": {
361 "cnr_id": "comfy-core",
362 "ver": "0.3.38",
363 "Node name for S&R": "PreviewImage",
364 "ue_properties": {
365 "widget_ue_connectable": [],
366 "version": "7.1",
367 "input_ue_unconnectable": []
368 }
369 },
370 "widgets_values": []
371 },
372 {
373 "id": 86,
374 "type": "MarkdownNote",
375 "pos": [
376 -351.2065124511719,
377 932.5810546875
378 ],
379 "size": [
380 380.9487609863281,
381 309.4496765136719
382 ],
383 "flags": [],
384 "order": 3,
385 "mode": 0,
386 "inputs": [],
387 "outputs": [],
388 "title": "About API Node",
389 "properties": {
390 "ue_properties": {
391 "widget_ue_connectable": [],
392 "version": "7.1",
393 "input_ue_unconnectable": []
394 }
395 },
396 "widgets_values": [
397 "[About API Node](https://docs.comfy.org/tutorials/partner-nodes/overview) \n\nTo use the API, you must be in a secure network environment:\n\n- Allows access from `127.0.0.1` or `localhost`.\n\n- Use our API Node in website services starting with `https`\n\n- Make sure you can normally connect to our API services (some regions may need a proxy).\n\n- Make sure you are logged in in the settings and that your account still has enough credits to cover the consumption of API calls.\n\n- On non-whitelisted sites or local area networks (LANs), please try to [log in using an API Key](https://docs.comfy.org/interface/user#logging-in-with-an-api-key).\n"
398 ],
399 "color": "#222",
400 "bgcolor": "#000"
401 },
402 {
403 "id": 88,
404 "type": "MarkdownNote",
405 "pos": [
406 -353.1586608886719,
407 1293.6602783203125
408 ],
409 "size": [
410 380,
411 440
412 ],
413 "flags": [],
414 "order": 4,
415 "mode": 0,
416 "inputs": [],
417 "outputs": [],
418 "title": "Flux Kontext Prompt Techniques",
419 "properties": {
420 "ue_properties": {
421 "widget_ue_connectable": [],
422 "version": "7.1",
423 "input_ue_unconnectable": []
424 }
425 },
426 "widgets_values": [
427 "### 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. "
428 ],
429 "color": "#222",
430 "bgcolor": "#000"
431 }
432 ],
433 "links": [
434 [
435 169,
436 83,
437 0,
438 85,
439 0,
440 "IMAGE"
441 ],
442 [
443 188,
444 84,
445 0,
446 97,
447 0,
448 "IMAGE"
449 ],
450 [
451 189,
452 96,
453 0,
454 97,
455 1,
456 "IMAGE"
457 ],
458 [
459 190,
460 97,
461 0,
462 98,
463 0,
464 "IMAGE"
465 ],
466 [
467 191,
468 91,
469 0,
470 98,
471 1,
472 "IMAGE"
473 ],
474 [
475 192,
476 98,
477 0,
478 90,
479 0,
480 "IMAGE"
481 ],
482 [
483 193,
484 98,
485 0,
486 83,
487 0,
488 "IMAGE"
489 ]
490 ],
491 "groups": [],
492 "config": [],
493 "extra": {
494 "ds": {
495 "scale": 0.7269451157432169,
496 "offset": [
497 565.8661233728922,
498 -387.3317786325294
499 ]
500 },
501 "frontendVersion": "1.27.10",
502 "ue_links": [],
503 "VHS_latentpreview": false,
504 "VHS_latentpreviewrate": 0,
505 "VHS_MetadataImage": true,
506 "VHS_KeepIntermediate": true
507 },
508 "version": 0.4
509}