comfyui-workflow-templates 0.1.28__py3-none-any.whl → 0.1.30__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- comfyui_workflow_templates/templates/api_recraft_image_gen_with_color_control.json +184 -175
- comfyui_workflow_templates/templates/flux_kontext_dev_basic-1.webp +0 -0
- comfyui_workflow_templates/templates/flux_kontext_dev_basic-2.webp +0 -0
- comfyui_workflow_templates/templates/flux_kontext_dev_basic.json +1114 -0
- comfyui_workflow_templates/templates/flux_kontext_dev_grouped-1.webp +0 -0
- comfyui_workflow_templates/templates/flux_kontext_dev_grouped-2.webp +0 -0
- comfyui_workflow_templates/templates/flux_kontext_dev_grouped.json +2296 -0
- comfyui_workflow_templates/templates/image_cosmos_predict2_2B_t2i-1.webp +0 -0
- comfyui_workflow_templates/templates/image_cosmos_predict2_2B_t2i.json +544 -0
- comfyui_workflow_templates/templates/index.json +111 -79
- comfyui_workflow_templates/templates/video_cosmos_predict2_2B_video2world_480p_16fps-1.webp +0 -0
- comfyui_workflow_templates/templates/video_cosmos_predict2_2B_video2world_480p_16fps.json +724 -0
- {comfyui_workflow_templates-0.1.28.dist-info → comfyui_workflow_templates-0.1.30.dist-info}/METADATA +1 -1
- {comfyui_workflow_templates-0.1.28.dist-info → comfyui_workflow_templates-0.1.30.dist-info}/RECORD +17 -7
- {comfyui_workflow_templates-0.1.28.dist-info → comfyui_workflow_templates-0.1.30.dist-info}/WHEEL +0 -0
- {comfyui_workflow_templates-0.1.28.dist-info → comfyui_workflow_templates-0.1.30.dist-info}/licenses/LICENSE +0 -0
- {comfyui_workflow_templates-0.1.28.dist-info → comfyui_workflow_templates-0.1.30.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1114 @@
|
|
1
|
+
{
|
2
|
+
"id": "7cbcec68-7fa6-47bb-a38a-da689949a001",
|
3
|
+
"revision": 0,
|
4
|
+
"last_node_id": 188,
|
5
|
+
"last_link_id": 294,
|
6
|
+
"nodes": [
|
7
|
+
{
|
8
|
+
"id": 39,
|
9
|
+
"type": "VAELoader",
|
10
|
+
"pos": [
|
11
|
+
-400,
|
12
|
+
390
|
13
|
+
],
|
14
|
+
"size": [
|
15
|
+
337.76861572265625,
|
16
|
+
58
|
17
|
+
],
|
18
|
+
"flags": {},
|
19
|
+
"order": 0,
|
20
|
+
"mode": 0,
|
21
|
+
"inputs": [],
|
22
|
+
"outputs": [
|
23
|
+
{
|
24
|
+
"name": "VAE",
|
25
|
+
"type": "VAE",
|
26
|
+
"links": [
|
27
|
+
61,
|
28
|
+
223
|
29
|
+
]
|
30
|
+
}
|
31
|
+
],
|
32
|
+
"properties": {
|
33
|
+
"Node name for S&R": "VAELoader",
|
34
|
+
"cnr_id": "comfy-core",
|
35
|
+
"ver": "0.3.38",
|
36
|
+
"models": [
|
37
|
+
{
|
38
|
+
"name": "ae.safetensors",
|
39
|
+
"url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
|
40
|
+
"directory": "vae"
|
41
|
+
}
|
42
|
+
]
|
43
|
+
},
|
44
|
+
"widgets_values": [
|
45
|
+
"ae.safetensors"
|
46
|
+
],
|
47
|
+
"color": "#322",
|
48
|
+
"bgcolor": "#533"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"id": 38,
|
52
|
+
"type": "DualCLIPLoader",
|
53
|
+
"pos": [
|
54
|
+
-400,
|
55
|
+
210
|
56
|
+
],
|
57
|
+
"size": [
|
58
|
+
337.76861572265625,
|
59
|
+
130
|
60
|
+
],
|
61
|
+
"flags": {},
|
62
|
+
"order": 1,
|
63
|
+
"mode": 0,
|
64
|
+
"inputs": [],
|
65
|
+
"outputs": [
|
66
|
+
{
|
67
|
+
"name": "CLIP",
|
68
|
+
"type": "CLIP",
|
69
|
+
"links": [
|
70
|
+
59
|
71
|
+
]
|
72
|
+
}
|
73
|
+
],
|
74
|
+
"properties": {
|
75
|
+
"Node name for S&R": "DualCLIPLoader",
|
76
|
+
"cnr_id": "comfy-core",
|
77
|
+
"ver": "0.3.38",
|
78
|
+
"models": [
|
79
|
+
{
|
80
|
+
"name": "clip_l.safetensors",
|
81
|
+
"url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
|
82
|
+
"directory": "text_encoders"
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"name": "t5xxl_fp8_e4m3fn_scaled.safetensors",
|
86
|
+
"url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors",
|
87
|
+
"directory": "text_encoders"
|
88
|
+
}
|
89
|
+
]
|
90
|
+
},
|
91
|
+
"widgets_values": [
|
92
|
+
"clip_l.safetensors",
|
93
|
+
"t5xxl_fp8_e4m3fn_scaled.safetensors",
|
94
|
+
"flux",
|
95
|
+
"default"
|
96
|
+
],
|
97
|
+
"color": "#322",
|
98
|
+
"bgcolor": "#533"
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"id": 135,
|
102
|
+
"type": "ConditioningZeroOut",
|
103
|
+
"pos": [
|
104
|
+
250,
|
105
|
+
200
|
106
|
+
],
|
107
|
+
"size": [
|
108
|
+
240,
|
109
|
+
26
|
110
|
+
],
|
111
|
+
"flags": {
|
112
|
+
"collapsed": false
|
113
|
+
},
|
114
|
+
"order": 15,
|
115
|
+
"mode": 0,
|
116
|
+
"inputs": [
|
117
|
+
{
|
118
|
+
"name": "conditioning",
|
119
|
+
"type": "CONDITIONING",
|
120
|
+
"link": 237
|
121
|
+
}
|
122
|
+
],
|
123
|
+
"outputs": [
|
124
|
+
{
|
125
|
+
"name": "CONDITIONING",
|
126
|
+
"type": "CONDITIONING",
|
127
|
+
"links": [
|
128
|
+
238
|
129
|
+
]
|
130
|
+
}
|
131
|
+
],
|
132
|
+
"properties": {
|
133
|
+
"Node name for S&R": "ConditioningZeroOut",
|
134
|
+
"cnr_id": "comfy-core",
|
135
|
+
"ver": "0.3.39"
|
136
|
+
},
|
137
|
+
"widgets_values": []
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"id": 173,
|
141
|
+
"type": "PreviewImage",
|
142
|
+
"pos": [
|
143
|
+
320,
|
144
|
+
860
|
145
|
+
],
|
146
|
+
"size": [
|
147
|
+
420,
|
148
|
+
310
|
149
|
+
],
|
150
|
+
"flags": {},
|
151
|
+
"order": 18,
|
152
|
+
"mode": 0,
|
153
|
+
"inputs": [
|
154
|
+
{
|
155
|
+
"name": "images",
|
156
|
+
"type": "IMAGE",
|
157
|
+
"link": 289
|
158
|
+
}
|
159
|
+
],
|
160
|
+
"outputs": [],
|
161
|
+
"properties": {
|
162
|
+
"Node name for S&R": "PreviewImage",
|
163
|
+
"cnr_id": "comfy-core",
|
164
|
+
"ver": "0.3.40"
|
165
|
+
},
|
166
|
+
"widgets_values": []
|
167
|
+
},
|
168
|
+
{
|
169
|
+
"id": 136,
|
170
|
+
"type": "SaveImage",
|
171
|
+
"pos": [
|
172
|
+
760,
|
173
|
+
510
|
174
|
+
],
|
175
|
+
"size": [
|
176
|
+
650,
|
177
|
+
660
|
178
|
+
],
|
179
|
+
"flags": {},
|
180
|
+
"order": 23,
|
181
|
+
"mode": 0,
|
182
|
+
"inputs": [
|
183
|
+
{
|
184
|
+
"name": "images",
|
185
|
+
"type": "IMAGE",
|
186
|
+
"link": 240
|
187
|
+
}
|
188
|
+
],
|
189
|
+
"outputs": [],
|
190
|
+
"properties": {
|
191
|
+
"cnr_id": "comfy-core",
|
192
|
+
"ver": "0.3.39"
|
193
|
+
},
|
194
|
+
"widgets_values": [
|
195
|
+
"ComfyUI"
|
196
|
+
]
|
197
|
+
},
|
198
|
+
{
|
199
|
+
"id": 147,
|
200
|
+
"type": "LoadImageOutput",
|
201
|
+
"pos": [
|
202
|
+
-50,
|
203
|
+
770
|
204
|
+
],
|
205
|
+
"size": [
|
206
|
+
320,
|
207
|
+
374
|
208
|
+
],
|
209
|
+
"flags": {},
|
210
|
+
"order": 2,
|
211
|
+
"mode": 4,
|
212
|
+
"inputs": [],
|
213
|
+
"outputs": [
|
214
|
+
{
|
215
|
+
"name": "IMAGE",
|
216
|
+
"type": "IMAGE",
|
217
|
+
"links": [
|
218
|
+
250
|
219
|
+
]
|
220
|
+
},
|
221
|
+
{
|
222
|
+
"name": "MASK",
|
223
|
+
"type": "MASK",
|
224
|
+
"links": null
|
225
|
+
}
|
226
|
+
],
|
227
|
+
"properties": {
|
228
|
+
"Node name for S&R": "LoadImageOutput",
|
229
|
+
"cnr_id": "comfy-core",
|
230
|
+
"ver": "0.3.40"
|
231
|
+
},
|
232
|
+
"widgets_values": [
|
233
|
+
"ComfyUI_00018_.png [output]",
|
234
|
+
false,
|
235
|
+
"refresh",
|
236
|
+
"image"
|
237
|
+
],
|
238
|
+
"color": "#322",
|
239
|
+
"bgcolor": "#533"
|
240
|
+
},
|
241
|
+
{
|
242
|
+
"id": 8,
|
243
|
+
"type": "VAEDecode",
|
244
|
+
"pos": [
|
245
|
+
530,
|
246
|
+
350
|
247
|
+
],
|
248
|
+
"size": [
|
249
|
+
190,
|
250
|
+
46
|
251
|
+
],
|
252
|
+
"flags": {
|
253
|
+
"collapsed": false
|
254
|
+
},
|
255
|
+
"order": 22,
|
256
|
+
"mode": 0,
|
257
|
+
"inputs": [
|
258
|
+
{
|
259
|
+
"name": "samples",
|
260
|
+
"type": "LATENT",
|
261
|
+
"link": 52
|
262
|
+
},
|
263
|
+
{
|
264
|
+
"name": "vae",
|
265
|
+
"type": "VAE",
|
266
|
+
"link": 61
|
267
|
+
}
|
268
|
+
],
|
269
|
+
"outputs": [
|
270
|
+
{
|
271
|
+
"name": "IMAGE",
|
272
|
+
"type": "IMAGE",
|
273
|
+
"slot_index": 0,
|
274
|
+
"links": [
|
275
|
+
240
|
276
|
+
]
|
277
|
+
}
|
278
|
+
],
|
279
|
+
"properties": {
|
280
|
+
"Node name for S&R": "VAEDecode",
|
281
|
+
"cnr_id": "comfy-core",
|
282
|
+
"ver": "0.3.38"
|
283
|
+
},
|
284
|
+
"widgets_values": []
|
285
|
+
},
|
286
|
+
{
|
287
|
+
"id": 142,
|
288
|
+
"type": "LoadImageOutput",
|
289
|
+
"pos": [
|
290
|
+
-390,
|
291
|
+
770
|
292
|
+
],
|
293
|
+
"size": [
|
294
|
+
320,
|
295
|
+
374
|
296
|
+
],
|
297
|
+
"flags": {},
|
298
|
+
"order": 3,
|
299
|
+
"mode": 0,
|
300
|
+
"inputs": [],
|
301
|
+
"outputs": [
|
302
|
+
{
|
303
|
+
"name": "IMAGE",
|
304
|
+
"type": "IMAGE",
|
305
|
+
"links": [
|
306
|
+
249
|
307
|
+
]
|
308
|
+
},
|
309
|
+
{
|
310
|
+
"name": "MASK",
|
311
|
+
"type": "MASK",
|
312
|
+
"links": null
|
313
|
+
}
|
314
|
+
],
|
315
|
+
"properties": {
|
316
|
+
"Node name for S&R": "LoadImageOutput",
|
317
|
+
"cnr_id": "comfy-core",
|
318
|
+
"ver": "0.3.40"
|
319
|
+
},
|
320
|
+
"widgets_values": [
|
321
|
+
"ComfyUI_00018_.png [output]",
|
322
|
+
true,
|
323
|
+
"refresh",
|
324
|
+
"image"
|
325
|
+
],
|
326
|
+
"color": "#322",
|
327
|
+
"bgcolor": "#533"
|
328
|
+
},
|
329
|
+
{
|
330
|
+
"id": 124,
|
331
|
+
"type": "VAEEncode",
|
332
|
+
"pos": [
|
333
|
+
-20,
|
334
|
+
400
|
335
|
+
],
|
336
|
+
"size": [
|
337
|
+
240,
|
338
|
+
50
|
339
|
+
],
|
340
|
+
"flags": {
|
341
|
+
"collapsed": false
|
342
|
+
},
|
343
|
+
"order": 17,
|
344
|
+
"mode": 0,
|
345
|
+
"inputs": [
|
346
|
+
{
|
347
|
+
"name": "pixels",
|
348
|
+
"type": "IMAGE",
|
349
|
+
"link": 222
|
350
|
+
},
|
351
|
+
{
|
352
|
+
"name": "vae",
|
353
|
+
"type": "VAE",
|
354
|
+
"link": 223
|
355
|
+
}
|
356
|
+
],
|
357
|
+
"outputs": [
|
358
|
+
{
|
359
|
+
"name": "LATENT",
|
360
|
+
"type": "LATENT",
|
361
|
+
"links": [
|
362
|
+
291,
|
363
|
+
293
|
364
|
+
]
|
365
|
+
}
|
366
|
+
],
|
367
|
+
"properties": {
|
368
|
+
"Node name for S&R": "VAEEncode",
|
369
|
+
"cnr_id": "comfy-core",
|
370
|
+
"ver": "0.3.39"
|
371
|
+
},
|
372
|
+
"widgets_values": []
|
373
|
+
},
|
374
|
+
{
|
375
|
+
"id": 42,
|
376
|
+
"type": "FluxKontextImageScale",
|
377
|
+
"pos": [
|
378
|
+
-50,
|
379
|
+
570
|
380
|
+
],
|
381
|
+
"size": [
|
382
|
+
270,
|
383
|
+
30
|
384
|
+
],
|
385
|
+
"flags": {
|
386
|
+
"collapsed": false
|
387
|
+
},
|
388
|
+
"order": 16,
|
389
|
+
"mode": 0,
|
390
|
+
"inputs": [
|
391
|
+
{
|
392
|
+
"name": "image",
|
393
|
+
"type": "IMAGE",
|
394
|
+
"link": 251
|
395
|
+
}
|
396
|
+
],
|
397
|
+
"outputs": [
|
398
|
+
{
|
399
|
+
"name": "IMAGE",
|
400
|
+
"type": "IMAGE",
|
401
|
+
"links": [
|
402
|
+
222,
|
403
|
+
289
|
404
|
+
]
|
405
|
+
}
|
406
|
+
],
|
407
|
+
"properties": {
|
408
|
+
"Node name for S&R": "FluxKontextImageScale",
|
409
|
+
"cnr_id": "comfy-core",
|
410
|
+
"ver": "0.3.38"
|
411
|
+
},
|
412
|
+
"widgets_values": []
|
413
|
+
},
|
414
|
+
{
|
415
|
+
"id": 175,
|
416
|
+
"type": "MarkdownNote",
|
417
|
+
"pos": [
|
418
|
+
-50,
|
419
|
+
640
|
420
|
+
],
|
421
|
+
"size": [
|
422
|
+
320,
|
423
|
+
88
|
424
|
+
],
|
425
|
+
"flags": {},
|
426
|
+
"order": 4,
|
427
|
+
"mode": 0,
|
428
|
+
"inputs": [],
|
429
|
+
"outputs": [],
|
430
|
+
"title": "About Flux Kontext Edit",
|
431
|
+
"properties": {},
|
432
|
+
"widgets_values": [
|
433
|
+
"[English] Use Ctrl + B to enable multipule image input.\n\n[中文] 使用 **Ctrl + B** 来启用多张图片输入"
|
434
|
+
],
|
435
|
+
"color": "#432",
|
436
|
+
"bgcolor": "#653"
|
437
|
+
},
|
438
|
+
{
|
439
|
+
"id": 146,
|
440
|
+
"type": "ImageStitch",
|
441
|
+
"pos": [
|
442
|
+
-390,
|
443
|
+
570
|
444
|
+
],
|
445
|
+
"size": [
|
446
|
+
270,
|
447
|
+
150
|
448
|
+
],
|
449
|
+
"flags": {},
|
450
|
+
"order": 14,
|
451
|
+
"mode": 0,
|
452
|
+
"inputs": [
|
453
|
+
{
|
454
|
+
"name": "image1",
|
455
|
+
"type": "IMAGE",
|
456
|
+
"link": 249
|
457
|
+
},
|
458
|
+
{
|
459
|
+
"name": "image2",
|
460
|
+
"shape": 7,
|
461
|
+
"type": "IMAGE",
|
462
|
+
"link": 250
|
463
|
+
}
|
464
|
+
],
|
465
|
+
"outputs": [
|
466
|
+
{
|
467
|
+
"name": "IMAGE",
|
468
|
+
"type": "IMAGE",
|
469
|
+
"links": [
|
470
|
+
251
|
471
|
+
]
|
472
|
+
}
|
473
|
+
],
|
474
|
+
"properties": {
|
475
|
+
"Node name for S&R": "ImageStitch",
|
476
|
+
"cnr_id": "comfy-core",
|
477
|
+
"ver": "0.3.40"
|
478
|
+
},
|
479
|
+
"widgets_values": [
|
480
|
+
"right",
|
481
|
+
true,
|
482
|
+
0,
|
483
|
+
"white"
|
484
|
+
]
|
485
|
+
},
|
486
|
+
{
|
487
|
+
"id": 35,
|
488
|
+
"type": "FluxGuidance",
|
489
|
+
"pos": [
|
490
|
+
250,
|
491
|
+
90
|
492
|
+
],
|
493
|
+
"size": [
|
494
|
+
240,
|
495
|
+
58
|
496
|
+
],
|
497
|
+
"flags": {
|
498
|
+
"collapsed": false
|
499
|
+
},
|
500
|
+
"order": 20,
|
501
|
+
"mode": 0,
|
502
|
+
"inputs": [
|
503
|
+
{
|
504
|
+
"name": "conditioning",
|
505
|
+
"type": "CONDITIONING",
|
506
|
+
"link": 292
|
507
|
+
}
|
508
|
+
],
|
509
|
+
"outputs": [
|
510
|
+
{
|
511
|
+
"name": "CONDITIONING",
|
512
|
+
"type": "CONDITIONING",
|
513
|
+
"slot_index": 0,
|
514
|
+
"links": [
|
515
|
+
57
|
516
|
+
]
|
517
|
+
}
|
518
|
+
],
|
519
|
+
"properties": {
|
520
|
+
"Node name for S&R": "FluxGuidance",
|
521
|
+
"cnr_id": "comfy-core",
|
522
|
+
"ver": "0.3.38"
|
523
|
+
},
|
524
|
+
"widgets_values": [
|
525
|
+
2.5
|
526
|
+
]
|
527
|
+
},
|
528
|
+
{
|
529
|
+
"id": 185,
|
530
|
+
"type": "MarkdownNote",
|
531
|
+
"pos": [
|
532
|
+
-960,
|
533
|
+
490
|
534
|
+
],
|
535
|
+
"size": [
|
536
|
+
510,
|
537
|
+
170
|
538
|
+
],
|
539
|
+
"flags": {},
|
540
|
+
"order": 5,
|
541
|
+
"mode": 0,
|
542
|
+
"inputs": [],
|
543
|
+
"outputs": [],
|
544
|
+
"title": "About VRAM",
|
545
|
+
"properties": {},
|
546
|
+
"widgets_values": [
|
547
|
+
"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"
|
548
|
+
],
|
549
|
+
"color": "#432",
|
550
|
+
"bgcolor": "#653"
|
551
|
+
},
|
552
|
+
{
|
553
|
+
"id": 186,
|
554
|
+
"type": "MarkdownNote",
|
555
|
+
"pos": [
|
556
|
+
-960,
|
557
|
+
710
|
558
|
+
],
|
559
|
+
"size": [
|
560
|
+
510,
|
561
|
+
170
|
562
|
+
],
|
563
|
+
"flags": {},
|
564
|
+
"order": 6,
|
565
|
+
"mode": 0,
|
566
|
+
"inputs": [],
|
567
|
+
"outputs": [],
|
568
|
+
"title": "Flux Kontext Prompt Techniques",
|
569
|
+
"properties": {},
|
570
|
+
"widgets_values": [
|
571
|
+
"\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. "
|
572
|
+
],
|
573
|
+
"color": "#432",
|
574
|
+
"bgcolor": "#653"
|
575
|
+
},
|
576
|
+
{
|
577
|
+
"id": 187,
|
578
|
+
"type": "MarkdownNote",
|
579
|
+
"pos": [
|
580
|
+
-960,
|
581
|
+
930
|
582
|
+
],
|
583
|
+
"size": [
|
584
|
+
510,
|
585
|
+
180
|
586
|
+
],
|
587
|
+
"flags": {},
|
588
|
+
"order": 7,
|
589
|
+
"mode": 0,
|
590
|
+
"inputs": [],
|
591
|
+
"outputs": [],
|
592
|
+
"title": "Flux Kontext 提示词技巧",
|
593
|
+
"properties": {},
|
594
|
+
"widgets_values": [
|
595
|
+
"\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 擅长理解详细指令并保持一致性。"
|
596
|
+
],
|
597
|
+
"color": "#432",
|
598
|
+
"bgcolor": "#653"
|
599
|
+
},
|
600
|
+
{
|
601
|
+
"id": 184,
|
602
|
+
"type": "MarkdownNote",
|
603
|
+
"pos": [
|
604
|
+
-960,
|
605
|
+
40
|
606
|
+
],
|
607
|
+
"size": [
|
608
|
+
510,
|
609
|
+
400
|
610
|
+
],
|
611
|
+
"flags": {},
|
612
|
+
"order": 8,
|
613
|
+
"mode": 0,
|
614
|
+
"inputs": [],
|
615
|
+
"outputs": [],
|
616
|
+
"title": "Model links",
|
617
|
+
"properties": {},
|
618
|
+
"widgets_values": [
|
619
|
+
"[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"
|
620
|
+
],
|
621
|
+
"color": "#432",
|
622
|
+
"bgcolor": "#653"
|
623
|
+
},
|
624
|
+
{
|
625
|
+
"id": 37,
|
626
|
+
"type": "UNETLoader",
|
627
|
+
"pos": [
|
628
|
+
-400,
|
629
|
+
80
|
630
|
+
],
|
631
|
+
"size": [
|
632
|
+
337.76861572265625,
|
633
|
+
82
|
634
|
+
],
|
635
|
+
"flags": {},
|
636
|
+
"order": 9,
|
637
|
+
"mode": 0,
|
638
|
+
"inputs": [],
|
639
|
+
"outputs": [
|
640
|
+
{
|
641
|
+
"name": "MODEL",
|
642
|
+
"type": "MODEL",
|
643
|
+
"links": [
|
644
|
+
58
|
645
|
+
]
|
646
|
+
}
|
647
|
+
],
|
648
|
+
"properties": {
|
649
|
+
"Node name for S&R": "UNETLoader",
|
650
|
+
"cnr_id": "comfy-core",
|
651
|
+
"ver": "0.3.38",
|
652
|
+
"models": [
|
653
|
+
{
|
654
|
+
"name": "flux1-dev-kontext_fp8_scaled.safetensors",
|
655
|
+
"url": "https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors",
|
656
|
+
"directory": "diffusion_models"
|
657
|
+
}
|
658
|
+
]
|
659
|
+
},
|
660
|
+
"widgets_values": [
|
661
|
+
"flux1-dev-kontext_fp8_scaled.safetensors",
|
662
|
+
"default"
|
663
|
+
],
|
664
|
+
"color": "#322",
|
665
|
+
"bgcolor": "#533"
|
666
|
+
},
|
667
|
+
{
|
668
|
+
"id": 177,
|
669
|
+
"type": "ReferenceLatent",
|
670
|
+
"pos": [
|
671
|
+
10,
|
672
|
+
140
|
673
|
+
],
|
674
|
+
"size": [
|
675
|
+
197.712890625,
|
676
|
+
46
|
677
|
+
],
|
678
|
+
"flags": {},
|
679
|
+
"order": 19,
|
680
|
+
"mode": 0,
|
681
|
+
"inputs": [
|
682
|
+
{
|
683
|
+
"name": "conditioning",
|
684
|
+
"type": "CONDITIONING",
|
685
|
+
"link": 294
|
686
|
+
},
|
687
|
+
{
|
688
|
+
"name": "latent",
|
689
|
+
"shape": 7,
|
690
|
+
"type": "LATENT",
|
691
|
+
"link": 293
|
692
|
+
}
|
693
|
+
],
|
694
|
+
"outputs": [
|
695
|
+
{
|
696
|
+
"name": "CONDITIONING",
|
697
|
+
"type": "CONDITIONING",
|
698
|
+
"links": [
|
699
|
+
292
|
700
|
+
]
|
701
|
+
}
|
702
|
+
],
|
703
|
+
"properties": {
|
704
|
+
"Node name for S&R": "ReferenceLatent",
|
705
|
+
"cnr_id": "comfy-core",
|
706
|
+
"ver": "0.3.41"
|
707
|
+
},
|
708
|
+
"widgets_values": []
|
709
|
+
},
|
710
|
+
{
|
711
|
+
"id": 178,
|
712
|
+
"type": "MarkdownNote",
|
713
|
+
"pos": [
|
714
|
+
-30,
|
715
|
+
-150
|
716
|
+
],
|
717
|
+
"size": [
|
718
|
+
540,
|
719
|
+
150
|
720
|
+
],
|
721
|
+
"flags": {},
|
722
|
+
"order": 10,
|
723
|
+
"mode": 0,
|
724
|
+
"inputs": [],
|
725
|
+
"outputs": [],
|
726
|
+
"title": "About multiple images reference",
|
727
|
+
"properties": {},
|
728
|
+
"widgets_values": [
|
729
|
+
"[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** 的尺寸"
|
730
|
+
],
|
731
|
+
"color": "#432",
|
732
|
+
"bgcolor": "#653"
|
733
|
+
},
|
734
|
+
{
|
735
|
+
"id": 188,
|
736
|
+
"type": "EmptySD3LatentImage",
|
737
|
+
"pos": [
|
738
|
+
530,
|
739
|
+
-140
|
740
|
+
],
|
741
|
+
"size": [
|
742
|
+
310,
|
743
|
+
106
|
744
|
+
],
|
745
|
+
"flags": {},
|
746
|
+
"order": 11,
|
747
|
+
"mode": 4,
|
748
|
+
"inputs": [],
|
749
|
+
"outputs": [
|
750
|
+
{
|
751
|
+
"name": "LATENT",
|
752
|
+
"type": "LATENT",
|
753
|
+
"links": null
|
754
|
+
}
|
755
|
+
],
|
756
|
+
"properties": {
|
757
|
+
"Node name for S&R": "EmptySD3LatentImage",
|
758
|
+
"cnr_id": "comfy-core",
|
759
|
+
"ver": "0.3.41"
|
760
|
+
},
|
761
|
+
"widgets_values": [
|
762
|
+
1024,
|
763
|
+
1024,
|
764
|
+
1
|
765
|
+
]
|
766
|
+
},
|
767
|
+
{
|
768
|
+
"id": 6,
|
769
|
+
"type": "CLIPTextEncode",
|
770
|
+
"pos": [
|
771
|
+
330,
|
772
|
+
560
|
773
|
+
],
|
774
|
+
"size": [
|
775
|
+
400,
|
776
|
+
220
|
777
|
+
],
|
778
|
+
"flags": {},
|
779
|
+
"order": 13,
|
780
|
+
"mode": 0,
|
781
|
+
"inputs": [
|
782
|
+
{
|
783
|
+
"name": "clip",
|
784
|
+
"type": "CLIP",
|
785
|
+
"link": 59
|
786
|
+
}
|
787
|
+
],
|
788
|
+
"outputs": [
|
789
|
+
{
|
790
|
+
"name": "CONDITIONING",
|
791
|
+
"type": "CONDITIONING",
|
792
|
+
"slot_index": 0,
|
793
|
+
"links": [
|
794
|
+
237,
|
795
|
+
294
|
796
|
+
]
|
797
|
+
}
|
798
|
+
],
|
799
|
+
"title": "CLIP Text Encode (Positive Prompt)",
|
800
|
+
"properties": {
|
801
|
+
"Node name for S&R": "CLIPTextEncode",
|
802
|
+
"cnr_id": "comfy-core",
|
803
|
+
"ver": "0.3.38"
|
804
|
+
},
|
805
|
+
"widgets_values": [
|
806
|
+
"Using this elegant style, create a portrait of a swan wearing a pearl tiara and lace collar, maintaining the same refined quality and soft color tones."
|
807
|
+
],
|
808
|
+
"color": "#232",
|
809
|
+
"bgcolor": "#353"
|
810
|
+
},
|
811
|
+
{
|
812
|
+
"id": 31,
|
813
|
+
"type": "KSampler",
|
814
|
+
"pos": [
|
815
|
+
530,
|
816
|
+
40
|
817
|
+
],
|
818
|
+
"size": [
|
819
|
+
320,
|
820
|
+
262
|
821
|
+
],
|
822
|
+
"flags": {},
|
823
|
+
"order": 21,
|
824
|
+
"mode": 0,
|
825
|
+
"inputs": [
|
826
|
+
{
|
827
|
+
"name": "model",
|
828
|
+
"type": "MODEL",
|
829
|
+
"link": 58
|
830
|
+
},
|
831
|
+
{
|
832
|
+
"name": "positive",
|
833
|
+
"type": "CONDITIONING",
|
834
|
+
"link": 57
|
835
|
+
},
|
836
|
+
{
|
837
|
+
"name": "negative",
|
838
|
+
"type": "CONDITIONING",
|
839
|
+
"link": 238
|
840
|
+
},
|
841
|
+
{
|
842
|
+
"name": "latent_image",
|
843
|
+
"type": "LATENT",
|
844
|
+
"link": 291
|
845
|
+
}
|
846
|
+
],
|
847
|
+
"outputs": [
|
848
|
+
{
|
849
|
+
"name": "LATENT",
|
850
|
+
"type": "LATENT",
|
851
|
+
"slot_index": 0,
|
852
|
+
"links": [
|
853
|
+
52
|
854
|
+
]
|
855
|
+
}
|
856
|
+
],
|
857
|
+
"properties": {
|
858
|
+
"Node name for S&R": "KSampler",
|
859
|
+
"cnr_id": "comfy-core",
|
860
|
+
"ver": "0.3.38"
|
861
|
+
},
|
862
|
+
"widgets_values": [
|
863
|
+
784381637916598,
|
864
|
+
"randomize",
|
865
|
+
20,
|
866
|
+
1,
|
867
|
+
"euler",
|
868
|
+
"simple",
|
869
|
+
1
|
870
|
+
]
|
871
|
+
},
|
872
|
+
{
|
873
|
+
"id": 180,
|
874
|
+
"type": "MarkdownNote",
|
875
|
+
"pos": [
|
876
|
+
-1430,
|
877
|
+
40
|
878
|
+
],
|
879
|
+
"size": [
|
880
|
+
450,
|
881
|
+
450
|
882
|
+
],
|
883
|
+
"flags": {},
|
884
|
+
"order": 12,
|
885
|
+
"mode": 0,
|
886
|
+
"inputs": [],
|
887
|
+
"outputs": [],
|
888
|
+
"title": "✨ New ComfyUI feature for Flux.1 Kontext Dev",
|
889
|
+
"properties": {},
|
890
|
+
"widgets_values": [
|
891
|
+
"[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 对话的迭代特性,但增加了视觉编辑的优势,并能够维护多个并行的编辑路径。"
|
892
|
+
],
|
893
|
+
"color": "#322",
|
894
|
+
"bgcolor": "#533"
|
895
|
+
}
|
896
|
+
],
|
897
|
+
"links": [
|
898
|
+
[
|
899
|
+
52,
|
900
|
+
31,
|
901
|
+
0,
|
902
|
+
8,
|
903
|
+
0,
|
904
|
+
"LATENT"
|
905
|
+
],
|
906
|
+
[
|
907
|
+
57,
|
908
|
+
35,
|
909
|
+
0,
|
910
|
+
31,
|
911
|
+
1,
|
912
|
+
"CONDITIONING"
|
913
|
+
],
|
914
|
+
[
|
915
|
+
58,
|
916
|
+
37,
|
917
|
+
0,
|
918
|
+
31,
|
919
|
+
0,
|
920
|
+
"MODEL"
|
921
|
+
],
|
922
|
+
[
|
923
|
+
59,
|
924
|
+
38,
|
925
|
+
0,
|
926
|
+
6,
|
927
|
+
0,
|
928
|
+
"CLIP"
|
929
|
+
],
|
930
|
+
[
|
931
|
+
61,
|
932
|
+
39,
|
933
|
+
0,
|
934
|
+
8,
|
935
|
+
1,
|
936
|
+
"VAE"
|
937
|
+
],
|
938
|
+
[
|
939
|
+
222,
|
940
|
+
42,
|
941
|
+
0,
|
942
|
+
124,
|
943
|
+
0,
|
944
|
+
"IMAGE"
|
945
|
+
],
|
946
|
+
[
|
947
|
+
223,
|
948
|
+
39,
|
949
|
+
0,
|
950
|
+
124,
|
951
|
+
1,
|
952
|
+
"VAE"
|
953
|
+
],
|
954
|
+
[
|
955
|
+
237,
|
956
|
+
6,
|
957
|
+
0,
|
958
|
+
135,
|
959
|
+
0,
|
960
|
+
"CONDITIONING"
|
961
|
+
],
|
962
|
+
[
|
963
|
+
238,
|
964
|
+
135,
|
965
|
+
0,
|
966
|
+
31,
|
967
|
+
2,
|
968
|
+
"CONDITIONING"
|
969
|
+
],
|
970
|
+
[
|
971
|
+
240,
|
972
|
+
8,
|
973
|
+
0,
|
974
|
+
136,
|
975
|
+
0,
|
976
|
+
"IMAGE"
|
977
|
+
],
|
978
|
+
[
|
979
|
+
249,
|
980
|
+
142,
|
981
|
+
0,
|
982
|
+
146,
|
983
|
+
0,
|
984
|
+
"IMAGE"
|
985
|
+
],
|
986
|
+
[
|
987
|
+
250,
|
988
|
+
147,
|
989
|
+
0,
|
990
|
+
146,
|
991
|
+
1,
|
992
|
+
"IMAGE"
|
993
|
+
],
|
994
|
+
[
|
995
|
+
251,
|
996
|
+
146,
|
997
|
+
0,
|
998
|
+
42,
|
999
|
+
0,
|
1000
|
+
"IMAGE"
|
1001
|
+
],
|
1002
|
+
[
|
1003
|
+
289,
|
1004
|
+
42,
|
1005
|
+
0,
|
1006
|
+
173,
|
1007
|
+
0,
|
1008
|
+
"IMAGE"
|
1009
|
+
],
|
1010
|
+
[
|
1011
|
+
291,
|
1012
|
+
124,
|
1013
|
+
0,
|
1014
|
+
31,
|
1015
|
+
3,
|
1016
|
+
"LATENT"
|
1017
|
+
],
|
1018
|
+
[
|
1019
|
+
292,
|
1020
|
+
177,
|
1021
|
+
0,
|
1022
|
+
35,
|
1023
|
+
0,
|
1024
|
+
"CONDITIONING"
|
1025
|
+
],
|
1026
|
+
[
|
1027
|
+
293,
|
1028
|
+
124,
|
1029
|
+
0,
|
1030
|
+
177,
|
1031
|
+
1,
|
1032
|
+
"LATENT"
|
1033
|
+
],
|
1034
|
+
[
|
1035
|
+
294,
|
1036
|
+
6,
|
1037
|
+
0,
|
1038
|
+
177,
|
1039
|
+
0,
|
1040
|
+
"CONDITIONING"
|
1041
|
+
]
|
1042
|
+
],
|
1043
|
+
"groups": [
|
1044
|
+
{
|
1045
|
+
"id": 1,
|
1046
|
+
"title": "Step 1- Load models",
|
1047
|
+
"bounding": [
|
1048
|
+
-410,
|
1049
|
+
10,
|
1050
|
+
360,
|
1051
|
+
450
|
1052
|
+
],
|
1053
|
+
"color": "#3f789e",
|
1054
|
+
"font_size": 24,
|
1055
|
+
"flags": {}
|
1056
|
+
},
|
1057
|
+
{
|
1058
|
+
"id": 3,
|
1059
|
+
"title": "Step 2 - Upload images",
|
1060
|
+
"bounding": [
|
1061
|
+
-410,
|
1062
|
+
480,
|
1063
|
+
700,
|
1064
|
+
680
|
1065
|
+
],
|
1066
|
+
"color": "#3f789e",
|
1067
|
+
"font_size": 24,
|
1068
|
+
"flags": {}
|
1069
|
+
},
|
1070
|
+
{
|
1071
|
+
"id": 5,
|
1072
|
+
"title": "Step 3 - Prompt",
|
1073
|
+
"bounding": [
|
1074
|
+
310,
|
1075
|
+
480,
|
1076
|
+
430,
|
1077
|
+
330
|
1078
|
+
],
|
1079
|
+
"color": "#3f789e",
|
1080
|
+
"font_size": 24,
|
1081
|
+
"flags": {}
|
1082
|
+
},
|
1083
|
+
{
|
1084
|
+
"id": 6,
|
1085
|
+
"title": "Conditioning",
|
1086
|
+
"bounding": [
|
1087
|
+
-30,
|
1088
|
+
10,
|
1089
|
+
540,
|
1090
|
+
250
|
1091
|
+
],
|
1092
|
+
"color": "#3f789e",
|
1093
|
+
"font_size": 24,
|
1094
|
+
"flags": {}
|
1095
|
+
}
|
1096
|
+
],
|
1097
|
+
"config": {},
|
1098
|
+
"extra": {
|
1099
|
+
"ds": {
|
1100
|
+
"scale": 0.8954302432552947,
|
1101
|
+
"offset": [
|
1102
|
+
1915.671190370581,
|
1103
|
+
172.00343446985568
|
1104
|
+
]
|
1105
|
+
},
|
1106
|
+
"frontendVersion": "1.23.2",
|
1107
|
+
"groupNodes": {},
|
1108
|
+
"VHS_latentpreview": false,
|
1109
|
+
"VHS_latentpreviewrate": 0,
|
1110
|
+
"VHS_MetadataImage": true,
|
1111
|
+
"VHS_KeepIntermediate": true
|
1112
|
+
},
|
1113
|
+
"version": 0.4
|
1114
|
+
}
|