aleph65 commited on
Commit
7cd8b95
·
verified ·
1 Parent(s): 61c37a8

Add flux-redux workflow drafts (v1): style+composition (Union-Pro-2.0), fal dev replica, prompt, Replicate schnell replica, BFL depth-lora variant + research notes; frozen starting points in wip/flux-redux/

Browse files
wip/flux-redux/flux-redux-fal-dev.json ADDED
@@ -0,0 +1,980 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 20,
5
+ "last_link_id": 19,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1300,
12
+ -80
13
+ ],
14
+ "size": [
15
+ 540,
16
+ 460
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux \u2014 fal `flux/dev/redux` replica (v1 draft)\n\nOfficial ComfyUI Redux example graph with fal's exact defaults. One image in \u2192 variations out.\nNo safety checker (unlike fal). Doubles as the plain single-image Redux workflow.\n\n**Models** (HF `aleph65/ComfyUI`): `diffusion_models/flux1-dev.safetensors` (bf16, dtype\n`default`) \u00b7 `text_encoders/t5xxl_fp16.safetensors` + `clip_l.safetensors` \u00b7 `vae/ae.safetensors`\n\u00b7 `style_models/flux1-redux-dev.safetensors` \u00b7 `clip_vision/sigclip_vision_patch14_384.safetensors`\n\n**fal parity settings** \u2014 prompt empty (fal dev endpoint passes none), FluxGuidance 3.5\n(= guidance_scale), euler / simple / 28 steps / denoise 1.0, 768x1024 (= portrait_4_3),\nApply Style Model strength 1.0 / multiply. Seeds do NOT transfer from fal.\n\n**Extras fal doesn't expose**: type a prompt; lower strength (or switch to `attn_bias`) to let\nthe prompt steer; chain a second Apply Style Model to blend two references.\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 8
53
+ ],
54
+ "slot_index": 0
55
+ }
56
+ ],
57
+ "properties": {
58
+ "Node name for S&R": "UNETLoader",
59
+ "cnr_id": "comfy-core",
60
+ "ver": "0.27.0"
61
+ },
62
+ "widgets_values": [
63
+ "flux1-dev.safetensors",
64
+ "default"
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "DualCLIPLoader",
70
+ "pos": [
71
+ -720,
72
+ 60
73
+ ],
74
+ "size": [
75
+ 340,
76
+ 130
77
+ ],
78
+ "flags": {},
79
+ "order": 2,
80
+ "mode": 0,
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "CLIP",
85
+ "type": "CLIP",
86
+ "links": [
87
+ 3
88
+ ],
89
+ "slot_index": 0
90
+ }
91
+ ],
92
+ "properties": {
93
+ "Node name for S&R": "DualCLIPLoader",
94
+ "cnr_id": "comfy-core",
95
+ "ver": "0.27.0"
96
+ },
97
+ "widgets_values": [
98
+ "t5xxl_fp16.safetensors",
99
+ "clip_l.safetensors",
100
+ "flux",
101
+ "default"
102
+ ]
103
+ },
104
+ {
105
+ "id": 4,
106
+ "type": "VAELoader",
107
+ "pos": [
108
+ -720,
109
+ 250
110
+ ],
111
+ "size": [
112
+ 340,
113
+ 58
114
+ ],
115
+ "flags": {},
116
+ "order": 3,
117
+ "mode": 0,
118
+ "inputs": [],
119
+ "outputs": [
120
+ {
121
+ "name": "VAE",
122
+ "type": "VAE",
123
+ "links": [
124
+ 18
125
+ ],
126
+ "slot_index": 0
127
+ }
128
+ ],
129
+ "properties": {
130
+ "Node name for S&R": "VAELoader",
131
+ "cnr_id": "comfy-core",
132
+ "ver": "0.27.0"
133
+ },
134
+ "widgets_values": [
135
+ "ae.safetensors"
136
+ ]
137
+ },
138
+ {
139
+ "id": 5,
140
+ "type": "LoadImage",
141
+ "pos": [
142
+ -720,
143
+ 420
144
+ ],
145
+ "size": [
146
+ 274,
147
+ 314
148
+ ],
149
+ "flags": {},
150
+ "order": 4,
151
+ "mode": 0,
152
+ "inputs": [],
153
+ "outputs": [
154
+ {
155
+ "name": "IMAGE",
156
+ "type": "IMAGE",
157
+ "links": [
158
+ 2
159
+ ],
160
+ "slot_index": 0
161
+ },
162
+ {
163
+ "name": "MASK",
164
+ "type": "MASK",
165
+ "links": [],
166
+ "slot_index": 1
167
+ }
168
+ ],
169
+ "properties": {
170
+ "Node name for S&R": "LoadImage",
171
+ "cnr_id": "comfy-core",
172
+ "ver": "0.27.0"
173
+ },
174
+ "title": "Style reference (Image A)",
175
+ "widgets_values": [
176
+ "style_ref.png",
177
+ "image"
178
+ ]
179
+ },
180
+ {
181
+ "id": 6,
182
+ "type": "CLIPVisionLoader",
183
+ "pos": [
184
+ -720,
185
+ 780
186
+ ],
187
+ "size": [
188
+ 340,
189
+ 58
190
+ ],
191
+ "flags": {},
192
+ "order": 5,
193
+ "mode": 0,
194
+ "inputs": [],
195
+ "outputs": [
196
+ {
197
+ "name": "CLIP_VISION",
198
+ "type": "CLIP_VISION",
199
+ "links": [
200
+ 1
201
+ ],
202
+ "slot_index": 0
203
+ }
204
+ ],
205
+ "properties": {
206
+ "Node name for S&R": "CLIPVisionLoader",
207
+ "cnr_id": "comfy-core",
208
+ "ver": "0.27.0"
209
+ },
210
+ "widgets_values": [
211
+ "sigclip_vision_patch14_384.safetensors"
212
+ ]
213
+ },
214
+ {
215
+ "id": 7,
216
+ "type": "CLIPVisionEncode",
217
+ "pos": [
218
+ -340,
219
+ 480
220
+ ],
221
+ "size": [
222
+ 290,
223
+ 78
224
+ ],
225
+ "flags": {},
226
+ "order": 6,
227
+ "mode": 0,
228
+ "inputs": [
229
+ {
230
+ "name": "clip_vision",
231
+ "type": "CLIP_VISION",
232
+ "link": 1
233
+ },
234
+ {
235
+ "name": "image",
236
+ "type": "IMAGE",
237
+ "link": 2
238
+ }
239
+ ],
240
+ "outputs": [
241
+ {
242
+ "name": "CLIP_VISION_OUTPUT",
243
+ "type": "CLIP_VISION_OUTPUT",
244
+ "links": [
245
+ 7
246
+ ],
247
+ "slot_index": 0
248
+ }
249
+ ],
250
+ "properties": {
251
+ "Node name for S&R": "CLIPVisionEncode",
252
+ "cnr_id": "comfy-core",
253
+ "ver": "0.27.0"
254
+ },
255
+ "widgets_values": [
256
+ "center"
257
+ ]
258
+ },
259
+ {
260
+ "id": 8,
261
+ "type": "StyleModelLoader",
262
+ "pos": [
263
+ -720,
264
+ 870
265
+ ],
266
+ "size": [
267
+ 340,
268
+ 58
269
+ ],
270
+ "flags": {},
271
+ "order": 7,
272
+ "mode": 0,
273
+ "inputs": [],
274
+ "outputs": [
275
+ {
276
+ "name": "STYLE_MODEL",
277
+ "type": "STYLE_MODEL",
278
+ "links": [
279
+ 6
280
+ ],
281
+ "slot_index": 0
282
+ }
283
+ ],
284
+ "properties": {
285
+ "Node name for S&R": "StyleModelLoader",
286
+ "cnr_id": "comfy-core",
287
+ "ver": "0.27.0"
288
+ },
289
+ "widgets_values": [
290
+ "flux1-redux-dev.safetensors"
291
+ ]
292
+ },
293
+ {
294
+ "id": 9,
295
+ "type": "CLIPTextEncode",
296
+ "pos": [
297
+ -300,
298
+ 60
299
+ ],
300
+ "size": [
301
+ 400,
302
+ 160
303
+ ],
304
+ "flags": {},
305
+ "order": 8,
306
+ "mode": 0,
307
+ "inputs": [
308
+ {
309
+ "name": "clip",
310
+ "type": "CLIP",
311
+ "link": 3
312
+ }
313
+ ],
314
+ "outputs": [
315
+ {
316
+ "name": "CONDITIONING",
317
+ "type": "CONDITIONING",
318
+ "links": [
319
+ 4
320
+ ],
321
+ "slot_index": 0
322
+ }
323
+ ],
324
+ "properties": {
325
+ "Node name for S&R": "CLIPTextEncode",
326
+ "cnr_id": "comfy-core",
327
+ "ver": "0.27.0"
328
+ },
329
+ "title": "Prompt (empty = fal parity)",
330
+ "widgets_values": [
331
+ ""
332
+ ]
333
+ },
334
+ {
335
+ "id": 10,
336
+ "type": "FluxGuidance",
337
+ "pos": [
338
+ 140,
339
+ 60
340
+ ],
341
+ "size": [
342
+ 290,
343
+ 58
344
+ ],
345
+ "flags": {},
346
+ "order": 9,
347
+ "mode": 0,
348
+ "inputs": [
349
+ {
350
+ "name": "conditioning",
351
+ "type": "CONDITIONING",
352
+ "link": 4
353
+ }
354
+ ],
355
+ "outputs": [
356
+ {
357
+ "name": "CONDITIONING",
358
+ "type": "CONDITIONING",
359
+ "links": [
360
+ 5
361
+ ],
362
+ "slot_index": 0
363
+ }
364
+ ],
365
+ "properties": {
366
+ "Node name for S&R": "FluxGuidance",
367
+ "cnr_id": "comfy-core",
368
+ "ver": "0.27.0"
369
+ },
370
+ "widgets_values": [
371
+ 3.5
372
+ ]
373
+ },
374
+ {
375
+ "id": 11,
376
+ "type": "StyleModelApply",
377
+ "pos": [
378
+ 140,
379
+ 200
380
+ ],
381
+ "size": [
382
+ 320,
383
+ 102
384
+ ],
385
+ "flags": {},
386
+ "order": 10,
387
+ "mode": 0,
388
+ "inputs": [
389
+ {
390
+ "name": "conditioning",
391
+ "type": "CONDITIONING",
392
+ "link": 5
393
+ },
394
+ {
395
+ "name": "style_model",
396
+ "type": "STYLE_MODEL",
397
+ "link": 6
398
+ },
399
+ {
400
+ "name": "clip_vision_output",
401
+ "type": "CLIP_VISION_OUTPUT",
402
+ "link": 7
403
+ }
404
+ ],
405
+ "outputs": [
406
+ {
407
+ "name": "CONDITIONING",
408
+ "type": "CONDITIONING",
409
+ "links": [
410
+ 10
411
+ ],
412
+ "slot_index": 0
413
+ }
414
+ ],
415
+ "properties": {
416
+ "Node name for S&R": "StyleModelApply",
417
+ "cnr_id": "comfy-core",
418
+ "ver": "0.27.0"
419
+ },
420
+ "widgets_values": [
421
+ 1.0,
422
+ "multiply"
423
+ ]
424
+ },
425
+ {
426
+ "id": 12,
427
+ "type": "ModelSamplingFlux",
428
+ "pos": [
429
+ 140,
430
+ -160
431
+ ],
432
+ "size": [
433
+ 300,
434
+ 130
435
+ ],
436
+ "flags": {},
437
+ "order": 11,
438
+ "mode": 0,
439
+ "inputs": [
440
+ {
441
+ "name": "model",
442
+ "type": "MODEL",
443
+ "link": 8
444
+ }
445
+ ],
446
+ "outputs": [
447
+ {
448
+ "name": "MODEL",
449
+ "type": "MODEL",
450
+ "links": [
451
+ 9,
452
+ 11
453
+ ],
454
+ "slot_index": 0
455
+ }
456
+ ],
457
+ "properties": {
458
+ "Node name for S&R": "ModelSamplingFlux",
459
+ "cnr_id": "comfy-core",
460
+ "ver": "0.27.0"
461
+ },
462
+ "widgets_values": [
463
+ 1.15,
464
+ 0.5,
465
+ 768,
466
+ 1024
467
+ ]
468
+ },
469
+ {
470
+ "id": 13,
471
+ "type": "RandomNoise",
472
+ "pos": [
473
+ 560,
474
+ -160
475
+ ],
476
+ "size": [
477
+ 290,
478
+ 82
479
+ ],
480
+ "flags": {},
481
+ "order": 12,
482
+ "mode": 0,
483
+ "inputs": [],
484
+ "outputs": [
485
+ {
486
+ "name": "NOISE",
487
+ "type": "NOISE",
488
+ "links": [
489
+ 12
490
+ ],
491
+ "slot_index": 0
492
+ }
493
+ ],
494
+ "properties": {
495
+ "Node name for S&R": "RandomNoise",
496
+ "cnr_id": "comfy-core",
497
+ "ver": "0.27.0"
498
+ },
499
+ "widgets_values": [
500
+ 0,
501
+ "randomize"
502
+ ]
503
+ },
504
+ {
505
+ "id": 14,
506
+ "type": "BasicGuider",
507
+ "pos": [
508
+ 560,
509
+ 20
510
+ ],
511
+ "size": [
512
+ 240,
513
+ 66
514
+ ],
515
+ "flags": {},
516
+ "order": 13,
517
+ "mode": 0,
518
+ "inputs": [
519
+ {
520
+ "name": "model",
521
+ "type": "MODEL",
522
+ "link": 9
523
+ },
524
+ {
525
+ "name": "conditioning",
526
+ "type": "CONDITIONING",
527
+ "link": 10
528
+ }
529
+ ],
530
+ "outputs": [
531
+ {
532
+ "name": "GUIDER",
533
+ "type": "GUIDER",
534
+ "links": [
535
+ 13
536
+ ],
537
+ "slot_index": 0
538
+ }
539
+ ],
540
+ "properties": {
541
+ "Node name for S&R": "BasicGuider",
542
+ "cnr_id": "comfy-core",
543
+ "ver": "0.27.0"
544
+ }
545
+ },
546
+ {
547
+ "id": 15,
548
+ "type": "KSamplerSelect",
549
+ "pos": [
550
+ 560,
551
+ 140
552
+ ],
553
+ "size": [
554
+ 290,
555
+ 58
556
+ ],
557
+ "flags": {},
558
+ "order": 14,
559
+ "mode": 0,
560
+ "inputs": [],
561
+ "outputs": [
562
+ {
563
+ "name": "SAMPLER",
564
+ "type": "SAMPLER",
565
+ "links": [
566
+ 14
567
+ ],
568
+ "slot_index": 0
569
+ }
570
+ ],
571
+ "properties": {
572
+ "Node name for S&R": "KSamplerSelect",
573
+ "cnr_id": "comfy-core",
574
+ "ver": "0.27.0"
575
+ },
576
+ "widgets_values": [
577
+ "euler"
578
+ ]
579
+ },
580
+ {
581
+ "id": 16,
582
+ "type": "BasicScheduler",
583
+ "pos": [
584
+ 560,
585
+ 250
586
+ ],
587
+ "size": [
588
+ 290,
589
+ 106
590
+ ],
591
+ "flags": {},
592
+ "order": 15,
593
+ "mode": 0,
594
+ "inputs": [
595
+ {
596
+ "name": "model",
597
+ "type": "MODEL",
598
+ "link": 11
599
+ }
600
+ ],
601
+ "outputs": [
602
+ {
603
+ "name": "SIGMAS",
604
+ "type": "SIGMAS",
605
+ "links": [
606
+ 15
607
+ ],
608
+ "slot_index": 0
609
+ }
610
+ ],
611
+ "properties": {
612
+ "Node name for S&R": "BasicScheduler",
613
+ "cnr_id": "comfy-core",
614
+ "ver": "0.27.0"
615
+ },
616
+ "widgets_values": [
617
+ "simple",
618
+ 28,
619
+ 1.0
620
+ ]
621
+ },
622
+ {
623
+ "id": 17,
624
+ "type": "EmptySD3LatentImage",
625
+ "pos": [
626
+ 560,
627
+ 420
628
+ ],
629
+ "size": [
630
+ 290,
631
+ 106
632
+ ],
633
+ "flags": {},
634
+ "order": 16,
635
+ "mode": 0,
636
+ "inputs": [],
637
+ "outputs": [
638
+ {
639
+ "name": "LATENT",
640
+ "type": "LATENT",
641
+ "links": [
642
+ 16
643
+ ],
644
+ "slot_index": 0
645
+ }
646
+ ],
647
+ "properties": {
648
+ "Node name for S&R": "EmptySD3LatentImage",
649
+ "cnr_id": "comfy-core",
650
+ "ver": "0.27.0"
651
+ },
652
+ "widgets_values": [
653
+ 768,
654
+ 1024,
655
+ 1
656
+ ]
657
+ },
658
+ {
659
+ "id": 18,
660
+ "type": "SamplerCustomAdvanced",
661
+ "pos": [
662
+ 980,
663
+ 60
664
+ ],
665
+ "size": [
666
+ 270,
667
+ 126
668
+ ],
669
+ "flags": {},
670
+ "order": 17,
671
+ "mode": 0,
672
+ "inputs": [
673
+ {
674
+ "name": "noise",
675
+ "type": "NOISE",
676
+ "link": 12
677
+ },
678
+ {
679
+ "name": "guider",
680
+ "type": "GUIDER",
681
+ "link": 13
682
+ },
683
+ {
684
+ "name": "sampler",
685
+ "type": "SAMPLER",
686
+ "link": 14
687
+ },
688
+ {
689
+ "name": "sigmas",
690
+ "type": "SIGMAS",
691
+ "link": 15
692
+ },
693
+ {
694
+ "name": "latent_image",
695
+ "type": "LATENT",
696
+ "link": 16
697
+ }
698
+ ],
699
+ "outputs": [
700
+ {
701
+ "name": "output",
702
+ "type": "LATENT",
703
+ "links": [
704
+ 17
705
+ ],
706
+ "slot_index": 0
707
+ },
708
+ {
709
+ "name": "denoised_output",
710
+ "type": "LATENT",
711
+ "links": [],
712
+ "slot_index": 1
713
+ }
714
+ ],
715
+ "properties": {
716
+ "Node name for S&R": "SamplerCustomAdvanced",
717
+ "cnr_id": "comfy-core",
718
+ "ver": "0.27.0"
719
+ }
720
+ },
721
+ {
722
+ "id": 19,
723
+ "type": "VAEDecode",
724
+ "pos": [
725
+ 1240,
726
+ 60
727
+ ],
728
+ "size": [
729
+ 210,
730
+ 66
731
+ ],
732
+ "flags": {},
733
+ "order": 18,
734
+ "mode": 0,
735
+ "inputs": [
736
+ {
737
+ "name": "samples",
738
+ "type": "LATENT",
739
+ "link": 17
740
+ },
741
+ {
742
+ "name": "vae",
743
+ "type": "VAE",
744
+ "link": 18
745
+ }
746
+ ],
747
+ "outputs": [
748
+ {
749
+ "name": "IMAGE",
750
+ "type": "IMAGE",
751
+ "links": [
752
+ 19
753
+ ],
754
+ "slot_index": 0
755
+ }
756
+ ],
757
+ "properties": {
758
+ "Node name for S&R": "VAEDecode",
759
+ "cnr_id": "comfy-core",
760
+ "ver": "0.27.0"
761
+ }
762
+ },
763
+ {
764
+ "id": 20,
765
+ "type": "SaveImage",
766
+ "pos": [
767
+ 1240,
768
+ 180
769
+ ],
770
+ "size": [
771
+ 400,
772
+ 400
773
+ ],
774
+ "flags": {},
775
+ "order": 19,
776
+ "mode": 0,
777
+ "inputs": [
778
+ {
779
+ "name": "images",
780
+ "type": "IMAGE",
781
+ "link": 19
782
+ }
783
+ ],
784
+ "outputs": [],
785
+ "properties": {
786
+ "Node name for S&R": "SaveImage",
787
+ "cnr_id": "comfy-core",
788
+ "ver": "0.27.0"
789
+ },
790
+ "widgets_values": [
791
+ "flux-redux/fal-dev"
792
+ ]
793
+ }
794
+ ],
795
+ "links": [
796
+ [
797
+ 1,
798
+ 6,
799
+ 0,
800
+ 7,
801
+ 0,
802
+ "CLIP_VISION"
803
+ ],
804
+ [
805
+ 2,
806
+ 5,
807
+ 0,
808
+ 7,
809
+ 1,
810
+ "IMAGE"
811
+ ],
812
+ [
813
+ 3,
814
+ 3,
815
+ 0,
816
+ 9,
817
+ 0,
818
+ "CLIP"
819
+ ],
820
+ [
821
+ 4,
822
+ 9,
823
+ 0,
824
+ 10,
825
+ 0,
826
+ "CONDITIONING"
827
+ ],
828
+ [
829
+ 5,
830
+ 10,
831
+ 0,
832
+ 11,
833
+ 0,
834
+ "CONDITIONING"
835
+ ],
836
+ [
837
+ 6,
838
+ 8,
839
+ 0,
840
+ 11,
841
+ 1,
842
+ "STYLE_MODEL"
843
+ ],
844
+ [
845
+ 7,
846
+ 7,
847
+ 0,
848
+ 11,
849
+ 2,
850
+ "CLIP_VISION_OUTPUT"
851
+ ],
852
+ [
853
+ 8,
854
+ 2,
855
+ 0,
856
+ 12,
857
+ 0,
858
+ "MODEL"
859
+ ],
860
+ [
861
+ 9,
862
+ 12,
863
+ 0,
864
+ 14,
865
+ 0,
866
+ "MODEL"
867
+ ],
868
+ [
869
+ 10,
870
+ 11,
871
+ 0,
872
+ 14,
873
+ 1,
874
+ "CONDITIONING"
875
+ ],
876
+ [
877
+ 11,
878
+ 12,
879
+ 0,
880
+ 16,
881
+ 0,
882
+ "MODEL"
883
+ ],
884
+ [
885
+ 12,
886
+ 13,
887
+ 0,
888
+ 18,
889
+ 0,
890
+ "NOISE"
891
+ ],
892
+ [
893
+ 13,
894
+ 14,
895
+ 0,
896
+ 18,
897
+ 1,
898
+ "GUIDER"
899
+ ],
900
+ [
901
+ 14,
902
+ 15,
903
+ 0,
904
+ 18,
905
+ 2,
906
+ "SAMPLER"
907
+ ],
908
+ [
909
+ 15,
910
+ 16,
911
+ 0,
912
+ 18,
913
+ 3,
914
+ "SIGMAS"
915
+ ],
916
+ [
917
+ 16,
918
+ 17,
919
+ 0,
920
+ 18,
921
+ 4,
922
+ "LATENT"
923
+ ],
924
+ [
925
+ 17,
926
+ 18,
927
+ 0,
928
+ 19,
929
+ 0,
930
+ "LATENT"
931
+ ],
932
+ [
933
+ 18,
934
+ 4,
935
+ 0,
936
+ 19,
937
+ 1,
938
+ "VAE"
939
+ ],
940
+ [
941
+ 19,
942
+ 19,
943
+ 0,
944
+ 20,
945
+ 0,
946
+ "IMAGE"
947
+ ]
948
+ ],
949
+ "groups": [
950
+ {
951
+ "id": 1,
952
+ "title": "STYLE REFERENCE \u2014 Redux",
953
+ "bounding": [
954
+ -740,
955
+ 340,
956
+ 940,
957
+ 700
958
+ ],
959
+ "color": "#3f789e",
960
+ "font_size": 24,
961
+ "flags": {}
962
+ },
963
+ {
964
+ "id": 2,
965
+ "title": "SAMPLING (fal defaults)",
966
+ "bounding": [
967
+ 540,
968
+ -220,
969
+ 1100,
970
+ 760
971
+ ],
972
+ "color": "#444",
973
+ "font_size": 24,
974
+ "flags": {}
975
+ }
976
+ ],
977
+ "config": {},
978
+ "extra": {},
979
+ "version": 0.4
980
+ }
wip/flux-redux/flux-redux-prompt.json ADDED
@@ -0,0 +1,1030 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 21,
5
+ "last_link_id": 20,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1300,
12
+ -80
13
+ ],
14
+ "size": [
15
+ 540,
16
+ 420
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux + text prompt (v1 draft)\n\nOne style image + a text prompt that keeps authority. Same graph as the fal replica, but Redux\nis restrained with **attn_bias 0.5** so the prompt actually steers content \u2014 at 1.0/multiply\nRedux drowns the prompt (that's the known Redux failure mode).\n\n**Models**: same as `flux-redux-fal-dev.json`. Optional fast preview: enable the bypassed\nturbo LoRA group (`loras/flux1-turbo-alpha.safetensors`) and set steps 28 \u2192 8.\n\n**Knobs**: strength 0.3\u20130.7 attn_bias (higher = more style, more subject leakage from the\nreference); FluxGuidance 3.5; euler / simple / 28 steps; 1024x1024 (any flux-legal size).\nIf the reference's composition/subjects still leak: lower strength, or install\n`ComfyUI_AdvancedRefluxControl` and swap in ReduxAdvanced (downsampling 3) \u2014 see the\nstyle-composition workflow for the wiring.\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 8
53
+ ],
54
+ "slot_index": 0
55
+ }
56
+ ],
57
+ "properties": {
58
+ "Node name for S&R": "UNETLoader",
59
+ "cnr_id": "comfy-core",
60
+ "ver": "0.27.0"
61
+ },
62
+ "widgets_values": [
63
+ "flux1-dev.safetensors",
64
+ "default"
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "DualCLIPLoader",
70
+ "pos": [
71
+ -720,
72
+ 60
73
+ ],
74
+ "size": [
75
+ 340,
76
+ 130
77
+ ],
78
+ "flags": {},
79
+ "order": 2,
80
+ "mode": 0,
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "CLIP",
85
+ "type": "CLIP",
86
+ "links": [
87
+ 3
88
+ ],
89
+ "slot_index": 0
90
+ }
91
+ ],
92
+ "properties": {
93
+ "Node name for S&R": "DualCLIPLoader",
94
+ "cnr_id": "comfy-core",
95
+ "ver": "0.27.0"
96
+ },
97
+ "widgets_values": [
98
+ "t5xxl_fp16.safetensors",
99
+ "clip_l.safetensors",
100
+ "flux",
101
+ "default"
102
+ ]
103
+ },
104
+ {
105
+ "id": 4,
106
+ "type": "VAELoader",
107
+ "pos": [
108
+ -720,
109
+ 250
110
+ ],
111
+ "size": [
112
+ 340,
113
+ 58
114
+ ],
115
+ "flags": {},
116
+ "order": 3,
117
+ "mode": 0,
118
+ "inputs": [],
119
+ "outputs": [
120
+ {
121
+ "name": "VAE",
122
+ "type": "VAE",
123
+ "links": [
124
+ 19
125
+ ],
126
+ "slot_index": 0
127
+ }
128
+ ],
129
+ "properties": {
130
+ "Node name for S&R": "VAELoader",
131
+ "cnr_id": "comfy-core",
132
+ "ver": "0.27.0"
133
+ },
134
+ "widgets_values": [
135
+ "ae.safetensors"
136
+ ]
137
+ },
138
+ {
139
+ "id": 5,
140
+ "type": "LoadImage",
141
+ "pos": [
142
+ -720,
143
+ 420
144
+ ],
145
+ "size": [
146
+ 274,
147
+ 314
148
+ ],
149
+ "flags": {},
150
+ "order": 4,
151
+ "mode": 0,
152
+ "inputs": [],
153
+ "outputs": [
154
+ {
155
+ "name": "IMAGE",
156
+ "type": "IMAGE",
157
+ "links": [
158
+ 2
159
+ ],
160
+ "slot_index": 0
161
+ },
162
+ {
163
+ "name": "MASK",
164
+ "type": "MASK",
165
+ "links": [],
166
+ "slot_index": 1
167
+ }
168
+ ],
169
+ "properties": {
170
+ "Node name for S&R": "LoadImage",
171
+ "cnr_id": "comfy-core",
172
+ "ver": "0.27.0"
173
+ },
174
+ "title": "Style reference (Image A)",
175
+ "widgets_values": [
176
+ "style_ref.png",
177
+ "image"
178
+ ]
179
+ },
180
+ {
181
+ "id": 6,
182
+ "type": "CLIPVisionLoader",
183
+ "pos": [
184
+ -720,
185
+ 780
186
+ ],
187
+ "size": [
188
+ 340,
189
+ 58
190
+ ],
191
+ "flags": {},
192
+ "order": 5,
193
+ "mode": 0,
194
+ "inputs": [],
195
+ "outputs": [
196
+ {
197
+ "name": "CLIP_VISION",
198
+ "type": "CLIP_VISION",
199
+ "links": [
200
+ 1
201
+ ],
202
+ "slot_index": 0
203
+ }
204
+ ],
205
+ "properties": {
206
+ "Node name for S&R": "CLIPVisionLoader",
207
+ "cnr_id": "comfy-core",
208
+ "ver": "0.27.0"
209
+ },
210
+ "widgets_values": [
211
+ "sigclip_vision_patch14_384.safetensors"
212
+ ]
213
+ },
214
+ {
215
+ "id": 7,
216
+ "type": "CLIPVisionEncode",
217
+ "pos": [
218
+ -340,
219
+ 480
220
+ ],
221
+ "size": [
222
+ 290,
223
+ 78
224
+ ],
225
+ "flags": {},
226
+ "order": 6,
227
+ "mode": 0,
228
+ "inputs": [
229
+ {
230
+ "name": "clip_vision",
231
+ "type": "CLIP_VISION",
232
+ "link": 1
233
+ },
234
+ {
235
+ "name": "image",
236
+ "type": "IMAGE",
237
+ "link": 2
238
+ }
239
+ ],
240
+ "outputs": [
241
+ {
242
+ "name": "CLIP_VISION_OUTPUT",
243
+ "type": "CLIP_VISION_OUTPUT",
244
+ "links": [
245
+ 7
246
+ ],
247
+ "slot_index": 0
248
+ }
249
+ ],
250
+ "properties": {
251
+ "Node name for S&R": "CLIPVisionEncode",
252
+ "cnr_id": "comfy-core",
253
+ "ver": "0.27.0"
254
+ },
255
+ "widgets_values": [
256
+ "center"
257
+ ]
258
+ },
259
+ {
260
+ "id": 8,
261
+ "type": "StyleModelLoader",
262
+ "pos": [
263
+ -720,
264
+ 870
265
+ ],
266
+ "size": [
267
+ 340,
268
+ 58
269
+ ],
270
+ "flags": {},
271
+ "order": 7,
272
+ "mode": 0,
273
+ "inputs": [],
274
+ "outputs": [
275
+ {
276
+ "name": "STYLE_MODEL",
277
+ "type": "STYLE_MODEL",
278
+ "links": [
279
+ 6
280
+ ],
281
+ "slot_index": 0
282
+ }
283
+ ],
284
+ "properties": {
285
+ "Node name for S&R": "StyleModelLoader",
286
+ "cnr_id": "comfy-core",
287
+ "ver": "0.27.0"
288
+ },
289
+ "widgets_values": [
290
+ "flux1-redux-dev.safetensors"
291
+ ]
292
+ },
293
+ {
294
+ "id": 9,
295
+ "type": "CLIPTextEncode",
296
+ "pos": [
297
+ -300,
298
+ 60
299
+ ],
300
+ "size": [
301
+ 400,
302
+ 160
303
+ ],
304
+ "flags": {},
305
+ "order": 8,
306
+ "mode": 0,
307
+ "inputs": [
308
+ {
309
+ "name": "clip",
310
+ "type": "CLIP",
311
+ "link": 3
312
+ }
313
+ ],
314
+ "outputs": [
315
+ {
316
+ "name": "CONDITIONING",
317
+ "type": "CONDITIONING",
318
+ "links": [
319
+ 4
320
+ ],
321
+ "slot_index": 0
322
+ }
323
+ ],
324
+ "properties": {
325
+ "Node name for S&R": "CLIPTextEncode",
326
+ "cnr_id": "comfy-core",
327
+ "ver": "0.27.0"
328
+ },
329
+ "title": "Prompt",
330
+ "widgets_values": [
331
+ "describe the scene you want, in the reference's style"
332
+ ]
333
+ },
334
+ {
335
+ "id": 10,
336
+ "type": "FluxGuidance",
337
+ "pos": [
338
+ 140,
339
+ 60
340
+ ],
341
+ "size": [
342
+ 290,
343
+ 58
344
+ ],
345
+ "flags": {},
346
+ "order": 9,
347
+ "mode": 0,
348
+ "inputs": [
349
+ {
350
+ "name": "conditioning",
351
+ "type": "CONDITIONING",
352
+ "link": 4
353
+ }
354
+ ],
355
+ "outputs": [
356
+ {
357
+ "name": "CONDITIONING",
358
+ "type": "CONDITIONING",
359
+ "links": [
360
+ 5
361
+ ],
362
+ "slot_index": 0
363
+ }
364
+ ],
365
+ "properties": {
366
+ "Node name for S&R": "FluxGuidance",
367
+ "cnr_id": "comfy-core",
368
+ "ver": "0.27.0"
369
+ },
370
+ "widgets_values": [
371
+ 3.5
372
+ ]
373
+ },
374
+ {
375
+ "id": 11,
376
+ "type": "StyleModelApply",
377
+ "pos": [
378
+ 140,
379
+ 200
380
+ ],
381
+ "size": [
382
+ 320,
383
+ 102
384
+ ],
385
+ "flags": {},
386
+ "order": 10,
387
+ "mode": 0,
388
+ "inputs": [
389
+ {
390
+ "name": "conditioning",
391
+ "type": "CONDITIONING",
392
+ "link": 5
393
+ },
394
+ {
395
+ "name": "style_model",
396
+ "type": "STYLE_MODEL",
397
+ "link": 6
398
+ },
399
+ {
400
+ "name": "clip_vision_output",
401
+ "type": "CLIP_VISION_OUTPUT",
402
+ "link": 7
403
+ }
404
+ ],
405
+ "outputs": [
406
+ {
407
+ "name": "CONDITIONING",
408
+ "type": "CONDITIONING",
409
+ "links": [
410
+ 11
411
+ ],
412
+ "slot_index": 0
413
+ }
414
+ ],
415
+ "properties": {
416
+ "Node name for S&R": "StyleModelApply",
417
+ "cnr_id": "comfy-core",
418
+ "ver": "0.27.0"
419
+ },
420
+ "widgets_values": [
421
+ 0.5,
422
+ "attn_bias"
423
+ ]
424
+ },
425
+ {
426
+ "id": 12,
427
+ "type": "LoraLoaderModelOnly",
428
+ "pos": [
429
+ -300,
430
+ -160
431
+ ],
432
+ "size": [
433
+ 340,
434
+ 82
435
+ ],
436
+ "flags": {},
437
+ "order": 11,
438
+ "mode": 4,
439
+ "inputs": [
440
+ {
441
+ "name": "model",
442
+ "type": "MODEL",
443
+ "link": 8
444
+ }
445
+ ],
446
+ "outputs": [
447
+ {
448
+ "name": "MODEL",
449
+ "type": "MODEL",
450
+ "links": [
451
+ 9
452
+ ],
453
+ "slot_index": 0
454
+ }
455
+ ],
456
+ "properties": {
457
+ "Node name for S&R": "LoraLoaderModelOnly",
458
+ "cnr_id": "comfy-core",
459
+ "ver": "0.27.0"
460
+ },
461
+ "title": "FAST PREVIEW: turbo LoRA (set steps 8)",
462
+ "widgets_values": [
463
+ "flux1-turbo-alpha.safetensors",
464
+ 1.0
465
+ ]
466
+ },
467
+ {
468
+ "id": 13,
469
+ "type": "ModelSamplingFlux",
470
+ "pos": [
471
+ 140,
472
+ -160
473
+ ],
474
+ "size": [
475
+ 300,
476
+ 130
477
+ ],
478
+ "flags": {},
479
+ "order": 12,
480
+ "mode": 0,
481
+ "inputs": [
482
+ {
483
+ "name": "model",
484
+ "type": "MODEL",
485
+ "link": 9
486
+ }
487
+ ],
488
+ "outputs": [
489
+ {
490
+ "name": "MODEL",
491
+ "type": "MODEL",
492
+ "links": [
493
+ 10,
494
+ 12
495
+ ],
496
+ "slot_index": 0
497
+ }
498
+ ],
499
+ "properties": {
500
+ "Node name for S&R": "ModelSamplingFlux",
501
+ "cnr_id": "comfy-core",
502
+ "ver": "0.27.0"
503
+ },
504
+ "widgets_values": [
505
+ 1.15,
506
+ 0.5,
507
+ 1024,
508
+ 1024
509
+ ]
510
+ },
511
+ {
512
+ "id": 14,
513
+ "type": "RandomNoise",
514
+ "pos": [
515
+ 560,
516
+ -160
517
+ ],
518
+ "size": [
519
+ 290,
520
+ 82
521
+ ],
522
+ "flags": {},
523
+ "order": 13,
524
+ "mode": 0,
525
+ "inputs": [],
526
+ "outputs": [
527
+ {
528
+ "name": "NOISE",
529
+ "type": "NOISE",
530
+ "links": [
531
+ 13
532
+ ],
533
+ "slot_index": 0
534
+ }
535
+ ],
536
+ "properties": {
537
+ "Node name for S&R": "RandomNoise",
538
+ "cnr_id": "comfy-core",
539
+ "ver": "0.27.0"
540
+ },
541
+ "widgets_values": [
542
+ 0,
543
+ "randomize"
544
+ ]
545
+ },
546
+ {
547
+ "id": 15,
548
+ "type": "BasicGuider",
549
+ "pos": [
550
+ 560,
551
+ 20
552
+ ],
553
+ "size": [
554
+ 240,
555
+ 66
556
+ ],
557
+ "flags": {},
558
+ "order": 14,
559
+ "mode": 0,
560
+ "inputs": [
561
+ {
562
+ "name": "model",
563
+ "type": "MODEL",
564
+ "link": 10
565
+ },
566
+ {
567
+ "name": "conditioning",
568
+ "type": "CONDITIONING",
569
+ "link": 11
570
+ }
571
+ ],
572
+ "outputs": [
573
+ {
574
+ "name": "GUIDER",
575
+ "type": "GUIDER",
576
+ "links": [
577
+ 14
578
+ ],
579
+ "slot_index": 0
580
+ }
581
+ ],
582
+ "properties": {
583
+ "Node name for S&R": "BasicGuider",
584
+ "cnr_id": "comfy-core",
585
+ "ver": "0.27.0"
586
+ }
587
+ },
588
+ {
589
+ "id": 16,
590
+ "type": "KSamplerSelect",
591
+ "pos": [
592
+ 560,
593
+ 140
594
+ ],
595
+ "size": [
596
+ 290,
597
+ 58
598
+ ],
599
+ "flags": {},
600
+ "order": 15,
601
+ "mode": 0,
602
+ "inputs": [],
603
+ "outputs": [
604
+ {
605
+ "name": "SAMPLER",
606
+ "type": "SAMPLER",
607
+ "links": [
608
+ 15
609
+ ],
610
+ "slot_index": 0
611
+ }
612
+ ],
613
+ "properties": {
614
+ "Node name for S&R": "KSamplerSelect",
615
+ "cnr_id": "comfy-core",
616
+ "ver": "0.27.0"
617
+ },
618
+ "widgets_values": [
619
+ "euler"
620
+ ]
621
+ },
622
+ {
623
+ "id": 17,
624
+ "type": "BasicScheduler",
625
+ "pos": [
626
+ 560,
627
+ 250
628
+ ],
629
+ "size": [
630
+ 290,
631
+ 106
632
+ ],
633
+ "flags": {},
634
+ "order": 16,
635
+ "mode": 0,
636
+ "inputs": [
637
+ {
638
+ "name": "model",
639
+ "type": "MODEL",
640
+ "link": 12
641
+ }
642
+ ],
643
+ "outputs": [
644
+ {
645
+ "name": "SIGMAS",
646
+ "type": "SIGMAS",
647
+ "links": [
648
+ 16
649
+ ],
650
+ "slot_index": 0
651
+ }
652
+ ],
653
+ "properties": {
654
+ "Node name for S&R": "BasicScheduler",
655
+ "cnr_id": "comfy-core",
656
+ "ver": "0.27.0"
657
+ },
658
+ "widgets_values": [
659
+ "simple",
660
+ 28,
661
+ 1.0
662
+ ]
663
+ },
664
+ {
665
+ "id": 18,
666
+ "type": "EmptySD3LatentImage",
667
+ "pos": [
668
+ 560,
669
+ 420
670
+ ],
671
+ "size": [
672
+ 290,
673
+ 106
674
+ ],
675
+ "flags": {},
676
+ "order": 17,
677
+ "mode": 0,
678
+ "inputs": [],
679
+ "outputs": [
680
+ {
681
+ "name": "LATENT",
682
+ "type": "LATENT",
683
+ "links": [
684
+ 17
685
+ ],
686
+ "slot_index": 0
687
+ }
688
+ ],
689
+ "properties": {
690
+ "Node name for S&R": "EmptySD3LatentImage",
691
+ "cnr_id": "comfy-core",
692
+ "ver": "0.27.0"
693
+ },
694
+ "widgets_values": [
695
+ 1024,
696
+ 1024,
697
+ 1
698
+ ]
699
+ },
700
+ {
701
+ "id": 19,
702
+ "type": "SamplerCustomAdvanced",
703
+ "pos": [
704
+ 980,
705
+ 60
706
+ ],
707
+ "size": [
708
+ 270,
709
+ 126
710
+ ],
711
+ "flags": {},
712
+ "order": 18,
713
+ "mode": 0,
714
+ "inputs": [
715
+ {
716
+ "name": "noise",
717
+ "type": "NOISE",
718
+ "link": 13
719
+ },
720
+ {
721
+ "name": "guider",
722
+ "type": "GUIDER",
723
+ "link": 14
724
+ },
725
+ {
726
+ "name": "sampler",
727
+ "type": "SAMPLER",
728
+ "link": 15
729
+ },
730
+ {
731
+ "name": "sigmas",
732
+ "type": "SIGMAS",
733
+ "link": 16
734
+ },
735
+ {
736
+ "name": "latent_image",
737
+ "type": "LATENT",
738
+ "link": 17
739
+ }
740
+ ],
741
+ "outputs": [
742
+ {
743
+ "name": "output",
744
+ "type": "LATENT",
745
+ "links": [
746
+ 18
747
+ ],
748
+ "slot_index": 0
749
+ },
750
+ {
751
+ "name": "denoised_output",
752
+ "type": "LATENT",
753
+ "links": [],
754
+ "slot_index": 1
755
+ }
756
+ ],
757
+ "properties": {
758
+ "Node name for S&R": "SamplerCustomAdvanced",
759
+ "cnr_id": "comfy-core",
760
+ "ver": "0.27.0"
761
+ }
762
+ },
763
+ {
764
+ "id": 20,
765
+ "type": "VAEDecode",
766
+ "pos": [
767
+ 1240,
768
+ 60
769
+ ],
770
+ "size": [
771
+ 210,
772
+ 66
773
+ ],
774
+ "flags": {},
775
+ "order": 19,
776
+ "mode": 0,
777
+ "inputs": [
778
+ {
779
+ "name": "samples",
780
+ "type": "LATENT",
781
+ "link": 18
782
+ },
783
+ {
784
+ "name": "vae",
785
+ "type": "VAE",
786
+ "link": 19
787
+ }
788
+ ],
789
+ "outputs": [
790
+ {
791
+ "name": "IMAGE",
792
+ "type": "IMAGE",
793
+ "links": [
794
+ 20
795
+ ],
796
+ "slot_index": 0
797
+ }
798
+ ],
799
+ "properties": {
800
+ "Node name for S&R": "VAEDecode",
801
+ "cnr_id": "comfy-core",
802
+ "ver": "0.27.0"
803
+ }
804
+ },
805
+ {
806
+ "id": 21,
807
+ "type": "SaveImage",
808
+ "pos": [
809
+ 1240,
810
+ 180
811
+ ],
812
+ "size": [
813
+ 400,
814
+ 400
815
+ ],
816
+ "flags": {},
817
+ "order": 20,
818
+ "mode": 0,
819
+ "inputs": [
820
+ {
821
+ "name": "images",
822
+ "type": "IMAGE",
823
+ "link": 20
824
+ }
825
+ ],
826
+ "outputs": [],
827
+ "properties": {
828
+ "Node name for S&R": "SaveImage",
829
+ "cnr_id": "comfy-core",
830
+ "ver": "0.27.0"
831
+ },
832
+ "widgets_values": [
833
+ "flux-redux/prompt"
834
+ ]
835
+ }
836
+ ],
837
+ "links": [
838
+ [
839
+ 1,
840
+ 6,
841
+ 0,
842
+ 7,
843
+ 0,
844
+ "CLIP_VISION"
845
+ ],
846
+ [
847
+ 2,
848
+ 5,
849
+ 0,
850
+ 7,
851
+ 1,
852
+ "IMAGE"
853
+ ],
854
+ [
855
+ 3,
856
+ 3,
857
+ 0,
858
+ 9,
859
+ 0,
860
+ "CLIP"
861
+ ],
862
+ [
863
+ 4,
864
+ 9,
865
+ 0,
866
+ 10,
867
+ 0,
868
+ "CONDITIONING"
869
+ ],
870
+ [
871
+ 5,
872
+ 10,
873
+ 0,
874
+ 11,
875
+ 0,
876
+ "CONDITIONING"
877
+ ],
878
+ [
879
+ 6,
880
+ 8,
881
+ 0,
882
+ 11,
883
+ 1,
884
+ "STYLE_MODEL"
885
+ ],
886
+ [
887
+ 7,
888
+ 7,
889
+ 0,
890
+ 11,
891
+ 2,
892
+ "CLIP_VISION_OUTPUT"
893
+ ],
894
+ [
895
+ 8,
896
+ 2,
897
+ 0,
898
+ 12,
899
+ 0,
900
+ "MODEL"
901
+ ],
902
+ [
903
+ 9,
904
+ 12,
905
+ 0,
906
+ 13,
907
+ 0,
908
+ "MODEL"
909
+ ],
910
+ [
911
+ 10,
912
+ 13,
913
+ 0,
914
+ 15,
915
+ 0,
916
+ "MODEL"
917
+ ],
918
+ [
919
+ 11,
920
+ 11,
921
+ 0,
922
+ 15,
923
+ 1,
924
+ "CONDITIONING"
925
+ ],
926
+ [
927
+ 12,
928
+ 13,
929
+ 0,
930
+ 17,
931
+ 0,
932
+ "MODEL"
933
+ ],
934
+ [
935
+ 13,
936
+ 14,
937
+ 0,
938
+ 19,
939
+ 0,
940
+ "NOISE"
941
+ ],
942
+ [
943
+ 14,
944
+ 15,
945
+ 0,
946
+ 19,
947
+ 1,
948
+ "GUIDER"
949
+ ],
950
+ [
951
+ 15,
952
+ 16,
953
+ 0,
954
+ 19,
955
+ 2,
956
+ "SAMPLER"
957
+ ],
958
+ [
959
+ 16,
960
+ 17,
961
+ 0,
962
+ 19,
963
+ 3,
964
+ "SIGMAS"
965
+ ],
966
+ [
967
+ 17,
968
+ 18,
969
+ 0,
970
+ 19,
971
+ 4,
972
+ "LATENT"
973
+ ],
974
+ [
975
+ 18,
976
+ 19,
977
+ 0,
978
+ 20,
979
+ 0,
980
+ "LATENT"
981
+ ],
982
+ [
983
+ 19,
984
+ 4,
985
+ 0,
986
+ 20,
987
+ 1,
988
+ "VAE"
989
+ ],
990
+ [
991
+ 20,
992
+ 20,
993
+ 0,
994
+ 21,
995
+ 0,
996
+ "IMAGE"
997
+ ]
998
+ ],
999
+ "groups": [
1000
+ {
1001
+ "id": 1,
1002
+ "title": "STYLE REFERENCE \u2014 Redux",
1003
+ "bounding": [
1004
+ -740,
1005
+ 340,
1006
+ 940,
1007
+ 700
1008
+ ],
1009
+ "color": "#3f789e",
1010
+ "font_size": 24,
1011
+ "flags": {}
1012
+ },
1013
+ {
1014
+ "id": 2,
1015
+ "title": "SAMPLING",
1016
+ "bounding": [
1017
+ 540,
1018
+ -220,
1019
+ 1100,
1020
+ 760
1021
+ ],
1022
+ "color": "#444",
1023
+ "font_size": 24,
1024
+ "flags": {}
1025
+ }
1026
+ ],
1027
+ "config": {},
1028
+ "extra": {},
1029
+ "version": 0.4
1030
+ }
wip/flux-redux/flux-redux-schnell.json ADDED
@@ -0,0 +1,882 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 18,
5
+ "last_link_id": 17,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1300,
12
+ -80
13
+ ],
14
+ "size": [
15
+ 540,
16
+ 440
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux schnell \u2014 Replicate `flux-redux-schnell` replica (v1 draft)\n\nParity with Replicate's `black-forest-labs/flux-redux-schnell` endpoint: image variations in\n**4 steps**, no prompt (their `redux_image` replaces it), no guidance (schnell ignores it \u2014 the\nendpoint schema has none, hence no FluxGuidance node), no safety checker locally.\n\n**Models** (HF `aleph65/ComfyUI`): `diffusion_models/flux1-schnell.safetensors` (bf16,\nApache-2.0, HF repo not gated) \u00b7 `text_encoders/t5xxl_fp16.safetensors` + `clip_l.safetensors`\n\u00b7 `vae/ae.safetensors` \u00b7 `style_models/flux1-redux-dev.safetensors` \u00b7\n`clip_vision/sigclip_vision_patch14_384.safetensors`\n\n**Endpoint mapping** \u2014 aspect_ratio @ ~1MP \u2192 EmptySD3LatentImage size (default 1:1 =\n1024x1024); num_outputs 1\u20134 \u2192 batch_size; num_inference_steps (max 4) \u2192 steps; seed \u2192 noise\nseed (values do NOT reproduce Replicate's outputs). euler / simple / denoise 1.0 /\nApply Style Model 1.0 multiply. Lower steps = faster + worse, exactly like the endpoint.\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 7,
53
+ 9
54
+ ],
55
+ "slot_index": 0
56
+ }
57
+ ],
58
+ "properties": {
59
+ "Node name for S&R": "UNETLoader",
60
+ "cnr_id": "comfy-core",
61
+ "ver": "0.27.0"
62
+ },
63
+ "widgets_values": [
64
+ "flux1-schnell.safetensors",
65
+ "default"
66
+ ]
67
+ },
68
+ {
69
+ "id": 3,
70
+ "type": "DualCLIPLoader",
71
+ "pos": [
72
+ -720,
73
+ 60
74
+ ],
75
+ "size": [
76
+ 340,
77
+ 130
78
+ ],
79
+ "flags": {},
80
+ "order": 2,
81
+ "mode": 0,
82
+ "inputs": [],
83
+ "outputs": [
84
+ {
85
+ "name": "CLIP",
86
+ "type": "CLIP",
87
+ "links": [
88
+ 3
89
+ ],
90
+ "slot_index": 0
91
+ }
92
+ ],
93
+ "properties": {
94
+ "Node name for S&R": "DualCLIPLoader",
95
+ "cnr_id": "comfy-core",
96
+ "ver": "0.27.0"
97
+ },
98
+ "widgets_values": [
99
+ "t5xxl_fp16.safetensors",
100
+ "clip_l.safetensors",
101
+ "flux",
102
+ "default"
103
+ ]
104
+ },
105
+ {
106
+ "id": 4,
107
+ "type": "VAELoader",
108
+ "pos": [
109
+ -720,
110
+ 250
111
+ ],
112
+ "size": [
113
+ 340,
114
+ 58
115
+ ],
116
+ "flags": {},
117
+ "order": 3,
118
+ "mode": 0,
119
+ "inputs": [],
120
+ "outputs": [
121
+ {
122
+ "name": "VAE",
123
+ "type": "VAE",
124
+ "links": [
125
+ 16
126
+ ],
127
+ "slot_index": 0
128
+ }
129
+ ],
130
+ "properties": {
131
+ "Node name for S&R": "VAELoader",
132
+ "cnr_id": "comfy-core",
133
+ "ver": "0.27.0"
134
+ },
135
+ "widgets_values": [
136
+ "ae.safetensors"
137
+ ]
138
+ },
139
+ {
140
+ "id": 5,
141
+ "type": "LoadImage",
142
+ "pos": [
143
+ -720,
144
+ 420
145
+ ],
146
+ "size": [
147
+ 274,
148
+ 314
149
+ ],
150
+ "flags": {},
151
+ "order": 4,
152
+ "mode": 0,
153
+ "inputs": [],
154
+ "outputs": [
155
+ {
156
+ "name": "IMAGE",
157
+ "type": "IMAGE",
158
+ "links": [
159
+ 2
160
+ ],
161
+ "slot_index": 0
162
+ },
163
+ {
164
+ "name": "MASK",
165
+ "type": "MASK",
166
+ "links": [],
167
+ "slot_index": 1
168
+ }
169
+ ],
170
+ "properties": {
171
+ "Node name for S&R": "LoadImage",
172
+ "cnr_id": "comfy-core",
173
+ "ver": "0.27.0"
174
+ },
175
+ "title": "Style reference (Image A)",
176
+ "widgets_values": [
177
+ "style_ref.png",
178
+ "image"
179
+ ]
180
+ },
181
+ {
182
+ "id": 6,
183
+ "type": "CLIPVisionLoader",
184
+ "pos": [
185
+ -720,
186
+ 780
187
+ ],
188
+ "size": [
189
+ 340,
190
+ 58
191
+ ],
192
+ "flags": {},
193
+ "order": 5,
194
+ "mode": 0,
195
+ "inputs": [],
196
+ "outputs": [
197
+ {
198
+ "name": "CLIP_VISION",
199
+ "type": "CLIP_VISION",
200
+ "links": [
201
+ 1
202
+ ],
203
+ "slot_index": 0
204
+ }
205
+ ],
206
+ "properties": {
207
+ "Node name for S&R": "CLIPVisionLoader",
208
+ "cnr_id": "comfy-core",
209
+ "ver": "0.27.0"
210
+ },
211
+ "widgets_values": [
212
+ "sigclip_vision_patch14_384.safetensors"
213
+ ]
214
+ },
215
+ {
216
+ "id": 7,
217
+ "type": "CLIPVisionEncode",
218
+ "pos": [
219
+ -340,
220
+ 480
221
+ ],
222
+ "size": [
223
+ 290,
224
+ 78
225
+ ],
226
+ "flags": {},
227
+ "order": 6,
228
+ "mode": 0,
229
+ "inputs": [
230
+ {
231
+ "name": "clip_vision",
232
+ "type": "CLIP_VISION",
233
+ "link": 1
234
+ },
235
+ {
236
+ "name": "image",
237
+ "type": "IMAGE",
238
+ "link": 2
239
+ }
240
+ ],
241
+ "outputs": [
242
+ {
243
+ "name": "CLIP_VISION_OUTPUT",
244
+ "type": "CLIP_VISION_OUTPUT",
245
+ "links": [
246
+ 6
247
+ ],
248
+ "slot_index": 0
249
+ }
250
+ ],
251
+ "properties": {
252
+ "Node name for S&R": "CLIPVisionEncode",
253
+ "cnr_id": "comfy-core",
254
+ "ver": "0.27.0"
255
+ },
256
+ "widgets_values": [
257
+ "center"
258
+ ]
259
+ },
260
+ {
261
+ "id": 8,
262
+ "type": "StyleModelLoader",
263
+ "pos": [
264
+ -720,
265
+ 870
266
+ ],
267
+ "size": [
268
+ 340,
269
+ 58
270
+ ],
271
+ "flags": {},
272
+ "order": 7,
273
+ "mode": 0,
274
+ "inputs": [],
275
+ "outputs": [
276
+ {
277
+ "name": "STYLE_MODEL",
278
+ "type": "STYLE_MODEL",
279
+ "links": [
280
+ 5
281
+ ],
282
+ "slot_index": 0
283
+ }
284
+ ],
285
+ "properties": {
286
+ "Node name for S&R": "StyleModelLoader",
287
+ "cnr_id": "comfy-core",
288
+ "ver": "0.27.0"
289
+ },
290
+ "widgets_values": [
291
+ "flux1-redux-dev.safetensors"
292
+ ]
293
+ },
294
+ {
295
+ "id": 9,
296
+ "type": "CLIPTextEncode",
297
+ "pos": [
298
+ -300,
299
+ 60
300
+ ],
301
+ "size": [
302
+ 400,
303
+ 160
304
+ ],
305
+ "flags": {},
306
+ "order": 8,
307
+ "mode": 0,
308
+ "inputs": [
309
+ {
310
+ "name": "clip",
311
+ "type": "CLIP",
312
+ "link": 3
313
+ }
314
+ ],
315
+ "outputs": [
316
+ {
317
+ "name": "CONDITIONING",
318
+ "type": "CONDITIONING",
319
+ "links": [
320
+ 4
321
+ ],
322
+ "slot_index": 0
323
+ }
324
+ ],
325
+ "properties": {
326
+ "Node name for S&R": "CLIPTextEncode",
327
+ "cnr_id": "comfy-core",
328
+ "ver": "0.27.0"
329
+ },
330
+ "title": "Prompt (endpoint has none \u2014 leave empty)",
331
+ "widgets_values": [
332
+ ""
333
+ ]
334
+ },
335
+ {
336
+ "id": 10,
337
+ "type": "StyleModelApply",
338
+ "pos": [
339
+ 140,
340
+ 100
341
+ ],
342
+ "size": [
343
+ 320,
344
+ 102
345
+ ],
346
+ "flags": {},
347
+ "order": 9,
348
+ "mode": 0,
349
+ "inputs": [
350
+ {
351
+ "name": "conditioning",
352
+ "type": "CONDITIONING",
353
+ "link": 4
354
+ },
355
+ {
356
+ "name": "style_model",
357
+ "type": "STYLE_MODEL",
358
+ "link": 5
359
+ },
360
+ {
361
+ "name": "clip_vision_output",
362
+ "type": "CLIP_VISION_OUTPUT",
363
+ "link": 6
364
+ }
365
+ ],
366
+ "outputs": [
367
+ {
368
+ "name": "CONDITIONING",
369
+ "type": "CONDITIONING",
370
+ "links": [
371
+ 8
372
+ ],
373
+ "slot_index": 0
374
+ }
375
+ ],
376
+ "properties": {
377
+ "Node name for S&R": "StyleModelApply",
378
+ "cnr_id": "comfy-core",
379
+ "ver": "0.27.0"
380
+ },
381
+ "widgets_values": [
382
+ 1.0,
383
+ "multiply"
384
+ ]
385
+ },
386
+ {
387
+ "id": 11,
388
+ "type": "RandomNoise",
389
+ "pos": [
390
+ 560,
391
+ -160
392
+ ],
393
+ "size": [
394
+ 290,
395
+ 82
396
+ ],
397
+ "flags": {},
398
+ "order": 10,
399
+ "mode": 0,
400
+ "inputs": [],
401
+ "outputs": [
402
+ {
403
+ "name": "NOISE",
404
+ "type": "NOISE",
405
+ "links": [
406
+ 10
407
+ ],
408
+ "slot_index": 0
409
+ }
410
+ ],
411
+ "properties": {
412
+ "Node name for S&R": "RandomNoise",
413
+ "cnr_id": "comfy-core",
414
+ "ver": "0.27.0"
415
+ },
416
+ "widgets_values": [
417
+ 0,
418
+ "randomize"
419
+ ]
420
+ },
421
+ {
422
+ "id": 12,
423
+ "type": "BasicGuider",
424
+ "pos": [
425
+ 560,
426
+ 20
427
+ ],
428
+ "size": [
429
+ 240,
430
+ 66
431
+ ],
432
+ "flags": {},
433
+ "order": 11,
434
+ "mode": 0,
435
+ "inputs": [
436
+ {
437
+ "name": "model",
438
+ "type": "MODEL",
439
+ "link": 7
440
+ },
441
+ {
442
+ "name": "conditioning",
443
+ "type": "CONDITIONING",
444
+ "link": 8
445
+ }
446
+ ],
447
+ "outputs": [
448
+ {
449
+ "name": "GUIDER",
450
+ "type": "GUIDER",
451
+ "links": [
452
+ 11
453
+ ],
454
+ "slot_index": 0
455
+ }
456
+ ],
457
+ "properties": {
458
+ "Node name for S&R": "BasicGuider",
459
+ "cnr_id": "comfy-core",
460
+ "ver": "0.27.0"
461
+ }
462
+ },
463
+ {
464
+ "id": 13,
465
+ "type": "KSamplerSelect",
466
+ "pos": [
467
+ 560,
468
+ 140
469
+ ],
470
+ "size": [
471
+ 290,
472
+ 58
473
+ ],
474
+ "flags": {},
475
+ "order": 12,
476
+ "mode": 0,
477
+ "inputs": [],
478
+ "outputs": [
479
+ {
480
+ "name": "SAMPLER",
481
+ "type": "SAMPLER",
482
+ "links": [
483
+ 12
484
+ ],
485
+ "slot_index": 0
486
+ }
487
+ ],
488
+ "properties": {
489
+ "Node name for S&R": "KSamplerSelect",
490
+ "cnr_id": "comfy-core",
491
+ "ver": "0.27.0"
492
+ },
493
+ "widgets_values": [
494
+ "euler"
495
+ ]
496
+ },
497
+ {
498
+ "id": 14,
499
+ "type": "BasicScheduler",
500
+ "pos": [
501
+ 560,
502
+ 250
503
+ ],
504
+ "size": [
505
+ 290,
506
+ 106
507
+ ],
508
+ "flags": {},
509
+ "order": 13,
510
+ "mode": 0,
511
+ "inputs": [
512
+ {
513
+ "name": "model",
514
+ "type": "MODEL",
515
+ "link": 9
516
+ }
517
+ ],
518
+ "outputs": [
519
+ {
520
+ "name": "SIGMAS",
521
+ "type": "SIGMAS",
522
+ "links": [
523
+ 13
524
+ ],
525
+ "slot_index": 0
526
+ }
527
+ ],
528
+ "properties": {
529
+ "Node name for S&R": "BasicScheduler",
530
+ "cnr_id": "comfy-core",
531
+ "ver": "0.27.0"
532
+ },
533
+ "widgets_values": [
534
+ "simple",
535
+ 4,
536
+ 1.0
537
+ ]
538
+ },
539
+ {
540
+ "id": 15,
541
+ "type": "EmptySD3LatentImage",
542
+ "pos": [
543
+ 560,
544
+ 420
545
+ ],
546
+ "size": [
547
+ 290,
548
+ 106
549
+ ],
550
+ "flags": {},
551
+ "order": 14,
552
+ "mode": 0,
553
+ "inputs": [],
554
+ "outputs": [
555
+ {
556
+ "name": "LATENT",
557
+ "type": "LATENT",
558
+ "links": [
559
+ 14
560
+ ],
561
+ "slot_index": 0
562
+ }
563
+ ],
564
+ "properties": {
565
+ "Node name for S&R": "EmptySD3LatentImage",
566
+ "cnr_id": "comfy-core",
567
+ "ver": "0.27.0"
568
+ },
569
+ "title": "size = aspect_ratio @ 1MP \u00b7 batch = num_outputs",
570
+ "widgets_values": [
571
+ 1024,
572
+ 1024,
573
+ 1
574
+ ]
575
+ },
576
+ {
577
+ "id": 16,
578
+ "type": "SamplerCustomAdvanced",
579
+ "pos": [
580
+ 980,
581
+ 60
582
+ ],
583
+ "size": [
584
+ 270,
585
+ 126
586
+ ],
587
+ "flags": {},
588
+ "order": 15,
589
+ "mode": 0,
590
+ "inputs": [
591
+ {
592
+ "name": "noise",
593
+ "type": "NOISE",
594
+ "link": 10
595
+ },
596
+ {
597
+ "name": "guider",
598
+ "type": "GUIDER",
599
+ "link": 11
600
+ },
601
+ {
602
+ "name": "sampler",
603
+ "type": "SAMPLER",
604
+ "link": 12
605
+ },
606
+ {
607
+ "name": "sigmas",
608
+ "type": "SIGMAS",
609
+ "link": 13
610
+ },
611
+ {
612
+ "name": "latent_image",
613
+ "type": "LATENT",
614
+ "link": 14
615
+ }
616
+ ],
617
+ "outputs": [
618
+ {
619
+ "name": "output",
620
+ "type": "LATENT",
621
+ "links": [
622
+ 15
623
+ ],
624
+ "slot_index": 0
625
+ },
626
+ {
627
+ "name": "denoised_output",
628
+ "type": "LATENT",
629
+ "links": [],
630
+ "slot_index": 1
631
+ }
632
+ ],
633
+ "properties": {
634
+ "Node name for S&R": "SamplerCustomAdvanced",
635
+ "cnr_id": "comfy-core",
636
+ "ver": "0.27.0"
637
+ }
638
+ },
639
+ {
640
+ "id": 17,
641
+ "type": "VAEDecode",
642
+ "pos": [
643
+ 1240,
644
+ 60
645
+ ],
646
+ "size": [
647
+ 210,
648
+ 66
649
+ ],
650
+ "flags": {},
651
+ "order": 16,
652
+ "mode": 0,
653
+ "inputs": [
654
+ {
655
+ "name": "samples",
656
+ "type": "LATENT",
657
+ "link": 15
658
+ },
659
+ {
660
+ "name": "vae",
661
+ "type": "VAE",
662
+ "link": 16
663
+ }
664
+ ],
665
+ "outputs": [
666
+ {
667
+ "name": "IMAGE",
668
+ "type": "IMAGE",
669
+ "links": [
670
+ 17
671
+ ],
672
+ "slot_index": 0
673
+ }
674
+ ],
675
+ "properties": {
676
+ "Node name for S&R": "VAEDecode",
677
+ "cnr_id": "comfy-core",
678
+ "ver": "0.27.0"
679
+ }
680
+ },
681
+ {
682
+ "id": 18,
683
+ "type": "SaveImage",
684
+ "pos": [
685
+ 1240,
686
+ 180
687
+ ],
688
+ "size": [
689
+ 400,
690
+ 400
691
+ ],
692
+ "flags": {},
693
+ "order": 17,
694
+ "mode": 0,
695
+ "inputs": [
696
+ {
697
+ "name": "images",
698
+ "type": "IMAGE",
699
+ "link": 17
700
+ }
701
+ ],
702
+ "outputs": [],
703
+ "properties": {
704
+ "Node name for S&R": "SaveImage",
705
+ "cnr_id": "comfy-core",
706
+ "ver": "0.27.0"
707
+ },
708
+ "widgets_values": [
709
+ "flux-redux/schnell"
710
+ ]
711
+ }
712
+ ],
713
+ "links": [
714
+ [
715
+ 1,
716
+ 6,
717
+ 0,
718
+ 7,
719
+ 0,
720
+ "CLIP_VISION"
721
+ ],
722
+ [
723
+ 2,
724
+ 5,
725
+ 0,
726
+ 7,
727
+ 1,
728
+ "IMAGE"
729
+ ],
730
+ [
731
+ 3,
732
+ 3,
733
+ 0,
734
+ 9,
735
+ 0,
736
+ "CLIP"
737
+ ],
738
+ [
739
+ 4,
740
+ 9,
741
+ 0,
742
+ 10,
743
+ 0,
744
+ "CONDITIONING"
745
+ ],
746
+ [
747
+ 5,
748
+ 8,
749
+ 0,
750
+ 10,
751
+ 1,
752
+ "STYLE_MODEL"
753
+ ],
754
+ [
755
+ 6,
756
+ 7,
757
+ 0,
758
+ 10,
759
+ 2,
760
+ "CLIP_VISION_OUTPUT"
761
+ ],
762
+ [
763
+ 7,
764
+ 2,
765
+ 0,
766
+ 12,
767
+ 0,
768
+ "MODEL"
769
+ ],
770
+ [
771
+ 8,
772
+ 10,
773
+ 0,
774
+ 12,
775
+ 1,
776
+ "CONDITIONING"
777
+ ],
778
+ [
779
+ 9,
780
+ 2,
781
+ 0,
782
+ 14,
783
+ 0,
784
+ "MODEL"
785
+ ],
786
+ [
787
+ 10,
788
+ 11,
789
+ 0,
790
+ 16,
791
+ 0,
792
+ "NOISE"
793
+ ],
794
+ [
795
+ 11,
796
+ 12,
797
+ 0,
798
+ 16,
799
+ 1,
800
+ "GUIDER"
801
+ ],
802
+ [
803
+ 12,
804
+ 13,
805
+ 0,
806
+ 16,
807
+ 2,
808
+ "SAMPLER"
809
+ ],
810
+ [
811
+ 13,
812
+ 14,
813
+ 0,
814
+ 16,
815
+ 3,
816
+ "SIGMAS"
817
+ ],
818
+ [
819
+ 14,
820
+ 15,
821
+ 0,
822
+ 16,
823
+ 4,
824
+ "LATENT"
825
+ ],
826
+ [
827
+ 15,
828
+ 16,
829
+ 0,
830
+ 17,
831
+ 0,
832
+ "LATENT"
833
+ ],
834
+ [
835
+ 16,
836
+ 4,
837
+ 0,
838
+ 17,
839
+ 1,
840
+ "VAE"
841
+ ],
842
+ [
843
+ 17,
844
+ 17,
845
+ 0,
846
+ 18,
847
+ 0,
848
+ "IMAGE"
849
+ ]
850
+ ],
851
+ "groups": [
852
+ {
853
+ "id": 1,
854
+ "title": "STYLE REFERENCE \u2014 Redux",
855
+ "bounding": [
856
+ -740,
857
+ 340,
858
+ 940,
859
+ 700
860
+ ],
861
+ "color": "#3f789e",
862
+ "font_size": 24,
863
+ "flags": {}
864
+ },
865
+ {
866
+ "id": 2,
867
+ "title": "SAMPLING (Replicate defaults, 4 steps)",
868
+ "bounding": [
869
+ 540,
870
+ -220,
871
+ 1100,
872
+ 760
873
+ ],
874
+ "color": "#444",
875
+ "font_size": 24,
876
+ "flags": {}
877
+ }
878
+ ],
879
+ "config": {},
880
+ "extra": {},
881
+ "version": 0.4
882
+ }
wip/flux-redux/flux-redux-style-composition-bfl-lora.json ADDED
@@ -0,0 +1,1081 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 21,
5
+ "last_link_id": 23,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1300,
12
+ -80
13
+ ],
14
+ "size": [
15
+ 540,
16
+ 420
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux + official BFL Depth LoRA (v1 draft \u2014 A/B variant)\n\nAlternative to the Union-Pro-2.0 workflow for maximum structural adherence: BFL's\n`flux1-depth-dev-lora` on stock flux1-dev, control image fed via latent-concat\n(**InstructPixToPixConditioning**), Redux on the conditioning as usual.\n\n**Models**: dev base + Redux files as in the other workflows, plus\n`loras/flux1-depth-dev-lora.safetensors` (HF `black-forest-labs/FLUX.1-Depth-dev-lora`, gated).\n\n**Differences vs the ControlNet version** \u2014 structure control has NO strength/start/end;\nweaken it via the LoRA strength (1.0 = full adherence, ~0.7 looser). No canny stacking.\n**FluxGuidance 10** (BFL's depth rec \u2014 NOT 3.5). Redux attn_bias 0.5 as usual.\nLatent size comes from InstructPixToPixConditioning (= control image size) \u2014 feed a\nflux-legal resolution composition image (~1MP).\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 15
53
+ ],
54
+ "slot_index": 0
55
+ }
56
+ ],
57
+ "properties": {
58
+ "Node name for S&R": "UNETLoader",
59
+ "cnr_id": "comfy-core",
60
+ "ver": "0.27.0"
61
+ },
62
+ "widgets_values": [
63
+ "flux1-dev.safetensors",
64
+ "default"
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "DualCLIPLoader",
70
+ "pos": [
71
+ -720,
72
+ 60
73
+ ],
74
+ "size": [
75
+ 340,
76
+ 130
77
+ ],
78
+ "flags": {},
79
+ "order": 2,
80
+ "mode": 0,
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "CLIP",
85
+ "type": "CLIP",
86
+ "links": [
87
+ 3
88
+ ],
89
+ "slot_index": 0
90
+ }
91
+ ],
92
+ "properties": {
93
+ "Node name for S&R": "DualCLIPLoader",
94
+ "cnr_id": "comfy-core",
95
+ "ver": "0.27.0"
96
+ },
97
+ "widgets_values": [
98
+ "t5xxl_fp16.safetensors",
99
+ "clip_l.safetensors",
100
+ "flux",
101
+ "default"
102
+ ]
103
+ },
104
+ {
105
+ "id": 4,
106
+ "type": "VAELoader",
107
+ "pos": [
108
+ -720,
109
+ 250
110
+ ],
111
+ "size": [
112
+ 340,
113
+ 58
114
+ ],
115
+ "flags": {},
116
+ "order": 3,
117
+ "mode": 0,
118
+ "inputs": [],
119
+ "outputs": [
120
+ {
121
+ "name": "VAE",
122
+ "type": "VAE",
123
+ "links": [
124
+ 13,
125
+ 22
126
+ ],
127
+ "slot_index": 0
128
+ }
129
+ ],
130
+ "properties": {
131
+ "Node name for S&R": "VAELoader",
132
+ "cnr_id": "comfy-core",
133
+ "ver": "0.27.0"
134
+ },
135
+ "widgets_values": [
136
+ "ae.safetensors"
137
+ ]
138
+ },
139
+ {
140
+ "id": 5,
141
+ "type": "LoadImage",
142
+ "pos": [
143
+ -720,
144
+ 420
145
+ ],
146
+ "size": [
147
+ 274,
148
+ 314
149
+ ],
150
+ "flags": {},
151
+ "order": 4,
152
+ "mode": 0,
153
+ "inputs": [],
154
+ "outputs": [
155
+ {
156
+ "name": "IMAGE",
157
+ "type": "IMAGE",
158
+ "links": [
159
+ 2
160
+ ],
161
+ "slot_index": 0
162
+ },
163
+ {
164
+ "name": "MASK",
165
+ "type": "MASK",
166
+ "links": [],
167
+ "slot_index": 1
168
+ }
169
+ ],
170
+ "properties": {
171
+ "Node name for S&R": "LoadImage",
172
+ "cnr_id": "comfy-core",
173
+ "ver": "0.27.0"
174
+ },
175
+ "title": "Style reference (Image A)",
176
+ "widgets_values": [
177
+ "style_ref.png",
178
+ "image"
179
+ ]
180
+ },
181
+ {
182
+ "id": 6,
183
+ "type": "CLIPVisionLoader",
184
+ "pos": [
185
+ -720,
186
+ 780
187
+ ],
188
+ "size": [
189
+ 340,
190
+ 58
191
+ ],
192
+ "flags": {},
193
+ "order": 5,
194
+ "mode": 0,
195
+ "inputs": [],
196
+ "outputs": [
197
+ {
198
+ "name": "CLIP_VISION",
199
+ "type": "CLIP_VISION",
200
+ "links": [
201
+ 1
202
+ ],
203
+ "slot_index": 0
204
+ }
205
+ ],
206
+ "properties": {
207
+ "Node name for S&R": "CLIPVisionLoader",
208
+ "cnr_id": "comfy-core",
209
+ "ver": "0.27.0"
210
+ },
211
+ "widgets_values": [
212
+ "sigclip_vision_patch14_384.safetensors"
213
+ ]
214
+ },
215
+ {
216
+ "id": 7,
217
+ "type": "CLIPVisionEncode",
218
+ "pos": [
219
+ -340,
220
+ 480
221
+ ],
222
+ "size": [
223
+ 290,
224
+ 78
225
+ ],
226
+ "flags": {},
227
+ "order": 6,
228
+ "mode": 0,
229
+ "inputs": [
230
+ {
231
+ "name": "clip_vision",
232
+ "type": "CLIP_VISION",
233
+ "link": 1
234
+ },
235
+ {
236
+ "name": "image",
237
+ "type": "IMAGE",
238
+ "link": 2
239
+ }
240
+ ],
241
+ "outputs": [
242
+ {
243
+ "name": "CLIP_VISION_OUTPUT",
244
+ "type": "CLIP_VISION_OUTPUT",
245
+ "links": [
246
+ 8
247
+ ],
248
+ "slot_index": 0
249
+ }
250
+ ],
251
+ "properties": {
252
+ "Node name for S&R": "CLIPVisionEncode",
253
+ "cnr_id": "comfy-core",
254
+ "ver": "0.27.0"
255
+ },
256
+ "widgets_values": [
257
+ "center"
258
+ ]
259
+ },
260
+ {
261
+ "id": 8,
262
+ "type": "StyleModelLoader",
263
+ "pos": [
264
+ -720,
265
+ 870
266
+ ],
267
+ "size": [
268
+ 340,
269
+ 58
270
+ ],
271
+ "flags": {},
272
+ "order": 7,
273
+ "mode": 0,
274
+ "inputs": [],
275
+ "outputs": [
276
+ {
277
+ "name": "STYLE_MODEL",
278
+ "type": "STYLE_MODEL",
279
+ "links": [
280
+ 7
281
+ ],
282
+ "slot_index": 0
283
+ }
284
+ ],
285
+ "properties": {
286
+ "Node name for S&R": "StyleModelLoader",
287
+ "cnr_id": "comfy-core",
288
+ "ver": "0.27.0"
289
+ },
290
+ "widgets_values": [
291
+ "flux1-redux-dev.safetensors"
292
+ ]
293
+ },
294
+ {
295
+ "id": 9,
296
+ "type": "CLIPTextEncode",
297
+ "pos": [
298
+ -300,
299
+ 60
300
+ ],
301
+ "size": [
302
+ 400,
303
+ 160
304
+ ],
305
+ "flags": {},
306
+ "order": 8,
307
+ "mode": 0,
308
+ "inputs": [
309
+ {
310
+ "name": "clip",
311
+ "type": "CLIP",
312
+ "link": 3
313
+ }
314
+ ],
315
+ "outputs": [
316
+ {
317
+ "name": "CONDITIONING",
318
+ "type": "CONDITIONING",
319
+ "links": [
320
+ 4
321
+ ],
322
+ "slot_index": 0
323
+ }
324
+ ],
325
+ "properties": {
326
+ "Node name for S&R": "CLIPTextEncode",
327
+ "cnr_id": "comfy-core",
328
+ "ver": "0.27.0"
329
+ },
330
+ "title": "Prompt (optional)",
331
+ "widgets_values": [
332
+ ""
333
+ ]
334
+ },
335
+ {
336
+ "id": 10,
337
+ "type": "FluxGuidance",
338
+ "pos": [
339
+ 140,
340
+ 60
341
+ ],
342
+ "size": [
343
+ 290,
344
+ 58
345
+ ],
346
+ "flags": {},
347
+ "order": 9,
348
+ "mode": 0,
349
+ "inputs": [
350
+ {
351
+ "name": "conditioning",
352
+ "type": "CONDITIONING",
353
+ "link": 4
354
+ }
355
+ ],
356
+ "outputs": [
357
+ {
358
+ "name": "CONDITIONING",
359
+ "type": "CONDITIONING",
360
+ "links": [
361
+ 5,
362
+ 6
363
+ ],
364
+ "slot_index": 0
365
+ }
366
+ ],
367
+ "properties": {
368
+ "Node name for S&R": "FluxGuidance",
369
+ "cnr_id": "comfy-core",
370
+ "ver": "0.27.0"
371
+ },
372
+ "widgets_values": [
373
+ 10.0
374
+ ]
375
+ },
376
+ {
377
+ "id": 11,
378
+ "type": "ConditioningZeroOut",
379
+ "pos": [
380
+ 140,
381
+ 170
382
+ ],
383
+ "size": [
384
+ 290,
385
+ 48
386
+ ],
387
+ "flags": {},
388
+ "order": 10,
389
+ "mode": 0,
390
+ "inputs": [
391
+ {
392
+ "name": "conditioning",
393
+ "type": "CONDITIONING",
394
+ "link": 5
395
+ }
396
+ ],
397
+ "outputs": [
398
+ {
399
+ "name": "CONDITIONING",
400
+ "type": "CONDITIONING",
401
+ "links": [
402
+ 12
403
+ ],
404
+ "slot_index": 0
405
+ }
406
+ ],
407
+ "properties": {
408
+ "Node name for S&R": "ConditioningZeroOut",
409
+ "cnr_id": "comfy-core",
410
+ "ver": "0.27.0"
411
+ }
412
+ },
413
+ {
414
+ "id": 12,
415
+ "type": "StyleModelApply",
416
+ "pos": [
417
+ 140,
418
+ 300
419
+ ],
420
+ "size": [
421
+ 320,
422
+ 102
423
+ ],
424
+ "flags": {},
425
+ "order": 11,
426
+ "mode": 0,
427
+ "inputs": [
428
+ {
429
+ "name": "conditioning",
430
+ "type": "CONDITIONING",
431
+ "link": 6
432
+ },
433
+ {
434
+ "name": "style_model",
435
+ "type": "STYLE_MODEL",
436
+ "link": 7
437
+ },
438
+ {
439
+ "name": "clip_vision_output",
440
+ "type": "CLIP_VISION_OUTPUT",
441
+ "link": 8
442
+ }
443
+ ],
444
+ "outputs": [
445
+ {
446
+ "name": "CONDITIONING",
447
+ "type": "CONDITIONING",
448
+ "links": [
449
+ 11
450
+ ],
451
+ "slot_index": 0
452
+ }
453
+ ],
454
+ "properties": {
455
+ "Node name for S&R": "StyleModelApply",
456
+ "cnr_id": "comfy-core",
457
+ "ver": "0.27.0"
458
+ },
459
+ "widgets_values": [
460
+ 0.5,
461
+ "attn_bias"
462
+ ]
463
+ },
464
+ {
465
+ "id": 13,
466
+ "type": "LoadImage",
467
+ "pos": [
468
+ -720,
469
+ 1000
470
+ ],
471
+ "size": [
472
+ 274,
473
+ 314
474
+ ],
475
+ "flags": {},
476
+ "order": 12,
477
+ "mode": 0,
478
+ "inputs": [],
479
+ "outputs": [
480
+ {
481
+ "name": "IMAGE",
482
+ "type": "IMAGE",
483
+ "links": [
484
+ 9
485
+ ],
486
+ "slot_index": 0
487
+ },
488
+ {
489
+ "name": "MASK",
490
+ "type": "MASK",
491
+ "links": [],
492
+ "slot_index": 1
493
+ }
494
+ ],
495
+ "properties": {
496
+ "Node name for S&R": "LoadImage",
497
+ "cnr_id": "comfy-core",
498
+ "ver": "0.27.0"
499
+ },
500
+ "title": "Composition reference (Image B)",
501
+ "widgets_values": [
502
+ "composition_ref.png",
503
+ "image"
504
+ ]
505
+ },
506
+ {
507
+ "id": 14,
508
+ "type": "DepthAnythingV2Preprocessor",
509
+ "pos": [
510
+ -300,
511
+ 1030
512
+ ],
513
+ "size": [
514
+ 330,
515
+ 82
516
+ ],
517
+ "flags": {},
518
+ "order": 13,
519
+ "mode": 0,
520
+ "inputs": [
521
+ {
522
+ "name": "image",
523
+ "type": "IMAGE",
524
+ "link": 9
525
+ }
526
+ ],
527
+ "outputs": [
528
+ {
529
+ "name": "IMAGE",
530
+ "type": "IMAGE",
531
+ "links": [
532
+ 10,
533
+ 14
534
+ ],
535
+ "slot_index": 0
536
+ }
537
+ ],
538
+ "properties": {
539
+ "Node name for S&R": "DepthAnythingV2Preprocessor",
540
+ "cnr_id": "comfyui_controlnet_aux"
541
+ },
542
+ "widgets_values": [
543
+ "depth_anything_v2_vitl.pth",
544
+ 1024
545
+ ]
546
+ },
547
+ {
548
+ "id": 15,
549
+ "type": "PreviewImage",
550
+ "pos": [
551
+ -300,
552
+ 1180
553
+ ],
554
+ "size": [
555
+ 300,
556
+ 300
557
+ ],
558
+ "flags": {},
559
+ "order": 14,
560
+ "mode": 0,
561
+ "inputs": [
562
+ {
563
+ "name": "images",
564
+ "type": "IMAGE",
565
+ "link": 10
566
+ }
567
+ ],
568
+ "outputs": [],
569
+ "properties": {
570
+ "Node name for S&R": "PreviewImage",
571
+ "cnr_id": "comfy-core",
572
+ "ver": "0.27.0"
573
+ },
574
+ "title": "Depth map preview"
575
+ },
576
+ {
577
+ "id": 16,
578
+ "type": "InstructPixToPixConditioning",
579
+ "pos": [
580
+ 560,
581
+ 300
582
+ ],
583
+ "size": [
584
+ 300,
585
+ 106
586
+ ],
587
+ "flags": {},
588
+ "order": 15,
589
+ "mode": 0,
590
+ "inputs": [
591
+ {
592
+ "name": "positive",
593
+ "type": "CONDITIONING",
594
+ "link": 11
595
+ },
596
+ {
597
+ "name": "negative",
598
+ "type": "CONDITIONING",
599
+ "link": 12
600
+ },
601
+ {
602
+ "name": "vae",
603
+ "type": "VAE",
604
+ "link": 13
605
+ },
606
+ {
607
+ "name": "pixels",
608
+ "type": "IMAGE",
609
+ "link": 14
610
+ }
611
+ ],
612
+ "outputs": [
613
+ {
614
+ "name": "positive",
615
+ "type": "CONDITIONING",
616
+ "links": [
617
+ 18
618
+ ],
619
+ "slot_index": 0
620
+ },
621
+ {
622
+ "name": "negative",
623
+ "type": "CONDITIONING",
624
+ "links": [
625
+ 19
626
+ ],
627
+ "slot_index": 1
628
+ },
629
+ {
630
+ "name": "latent",
631
+ "type": "LATENT",
632
+ "links": [
633
+ 20
634
+ ],
635
+ "slot_index": 2
636
+ }
637
+ ],
638
+ "properties": {
639
+ "Node name for S&R": "InstructPixToPixConditioning",
640
+ "cnr_id": "comfy-core",
641
+ "ver": "0.27.0"
642
+ }
643
+ },
644
+ {
645
+ "id": 17,
646
+ "type": "LoraLoaderModelOnly",
647
+ "pos": [
648
+ -300,
649
+ -160
650
+ ],
651
+ "size": [
652
+ 340,
653
+ 82
654
+ ],
655
+ "flags": {},
656
+ "order": 16,
657
+ "mode": 0,
658
+ "inputs": [
659
+ {
660
+ "name": "model",
661
+ "type": "MODEL",
662
+ "link": 15
663
+ }
664
+ ],
665
+ "outputs": [
666
+ {
667
+ "name": "MODEL",
668
+ "type": "MODEL",
669
+ "links": [
670
+ 16
671
+ ],
672
+ "slot_index": 0
673
+ }
674
+ ],
675
+ "properties": {
676
+ "Node name for S&R": "LoraLoaderModelOnly",
677
+ "cnr_id": "comfy-core",
678
+ "ver": "0.27.0"
679
+ },
680
+ "title": "BFL Depth LoRA",
681
+ "widgets_values": [
682
+ "flux1-depth-dev-lora.safetensors",
683
+ 1.0
684
+ ]
685
+ },
686
+ {
687
+ "id": 18,
688
+ "type": "ModelSamplingFlux",
689
+ "pos": [
690
+ 140,
691
+ -160
692
+ ],
693
+ "size": [
694
+ 300,
695
+ 130
696
+ ],
697
+ "flags": {},
698
+ "order": 17,
699
+ "mode": 0,
700
+ "inputs": [
701
+ {
702
+ "name": "model",
703
+ "type": "MODEL",
704
+ "link": 16
705
+ }
706
+ ],
707
+ "outputs": [
708
+ {
709
+ "name": "MODEL",
710
+ "type": "MODEL",
711
+ "links": [
712
+ 17
713
+ ],
714
+ "slot_index": 0
715
+ }
716
+ ],
717
+ "properties": {
718
+ "Node name for S&R": "ModelSamplingFlux",
719
+ "cnr_id": "comfy-core",
720
+ "ver": "0.27.0"
721
+ },
722
+ "widgets_values": [
723
+ 1.15,
724
+ 0.5,
725
+ 1024,
726
+ 1024
727
+ ]
728
+ },
729
+ {
730
+ "id": 19,
731
+ "type": "KSampler",
732
+ "pos": [
733
+ 980,
734
+ 300
735
+ ],
736
+ "size": [
737
+ 300,
738
+ 262
739
+ ],
740
+ "flags": {},
741
+ "order": 18,
742
+ "mode": 0,
743
+ "inputs": [
744
+ {
745
+ "name": "model",
746
+ "type": "MODEL",
747
+ "link": 17
748
+ },
749
+ {
750
+ "name": "positive",
751
+ "type": "CONDITIONING",
752
+ "link": 18
753
+ },
754
+ {
755
+ "name": "negative",
756
+ "type": "CONDITIONING",
757
+ "link": 19
758
+ },
759
+ {
760
+ "name": "latent_image",
761
+ "type": "LATENT",
762
+ "link": 20
763
+ }
764
+ ],
765
+ "outputs": [
766
+ {
767
+ "name": "LATENT",
768
+ "type": "LATENT",
769
+ "links": [
770
+ 21
771
+ ],
772
+ "slot_index": 0
773
+ }
774
+ ],
775
+ "properties": {
776
+ "Node name for S&R": "KSampler",
777
+ "cnr_id": "comfy-core",
778
+ "ver": "0.27.0"
779
+ },
780
+ "widgets_values": [
781
+ 0,
782
+ "randomize",
783
+ 28,
784
+ 1.0,
785
+ "euler",
786
+ "simple",
787
+ 1.0
788
+ ]
789
+ },
790
+ {
791
+ "id": 20,
792
+ "type": "VAEDecode",
793
+ "pos": [
794
+ 1320,
795
+ 300
796
+ ],
797
+ "size": [
798
+ 210,
799
+ 66
800
+ ],
801
+ "flags": {},
802
+ "order": 19,
803
+ "mode": 0,
804
+ "inputs": [
805
+ {
806
+ "name": "samples",
807
+ "type": "LATENT",
808
+ "link": 21
809
+ },
810
+ {
811
+ "name": "vae",
812
+ "type": "VAE",
813
+ "link": 22
814
+ }
815
+ ],
816
+ "outputs": [
817
+ {
818
+ "name": "IMAGE",
819
+ "type": "IMAGE",
820
+ "links": [
821
+ 23
822
+ ],
823
+ "slot_index": 0
824
+ }
825
+ ],
826
+ "properties": {
827
+ "Node name for S&R": "VAEDecode",
828
+ "cnr_id": "comfy-core",
829
+ "ver": "0.27.0"
830
+ }
831
+ },
832
+ {
833
+ "id": 21,
834
+ "type": "SaveImage",
835
+ "pos": [
836
+ 1320,
837
+ 420
838
+ ],
839
+ "size": [
840
+ 400,
841
+ 400
842
+ ],
843
+ "flags": {},
844
+ "order": 20,
845
+ "mode": 0,
846
+ "inputs": [
847
+ {
848
+ "name": "images",
849
+ "type": "IMAGE",
850
+ "link": 23
851
+ }
852
+ ],
853
+ "outputs": [],
854
+ "properties": {
855
+ "Node name for S&R": "SaveImage",
856
+ "cnr_id": "comfy-core",
857
+ "ver": "0.27.0"
858
+ },
859
+ "widgets_values": [
860
+ "flux-redux/style-comp-bfl"
861
+ ]
862
+ }
863
+ ],
864
+ "links": [
865
+ [
866
+ 1,
867
+ 6,
868
+ 0,
869
+ 7,
870
+ 0,
871
+ "CLIP_VISION"
872
+ ],
873
+ [
874
+ 2,
875
+ 5,
876
+ 0,
877
+ 7,
878
+ 1,
879
+ "IMAGE"
880
+ ],
881
+ [
882
+ 3,
883
+ 3,
884
+ 0,
885
+ 9,
886
+ 0,
887
+ "CLIP"
888
+ ],
889
+ [
890
+ 4,
891
+ 9,
892
+ 0,
893
+ 10,
894
+ 0,
895
+ "CONDITIONING"
896
+ ],
897
+ [
898
+ 5,
899
+ 10,
900
+ 0,
901
+ 11,
902
+ 0,
903
+ "CONDITIONING"
904
+ ],
905
+ [
906
+ 6,
907
+ 10,
908
+ 0,
909
+ 12,
910
+ 0,
911
+ "CONDITIONING"
912
+ ],
913
+ [
914
+ 7,
915
+ 8,
916
+ 0,
917
+ 12,
918
+ 1,
919
+ "STYLE_MODEL"
920
+ ],
921
+ [
922
+ 8,
923
+ 7,
924
+ 0,
925
+ 12,
926
+ 2,
927
+ "CLIP_VISION_OUTPUT"
928
+ ],
929
+ [
930
+ 9,
931
+ 13,
932
+ 0,
933
+ 14,
934
+ 0,
935
+ "IMAGE"
936
+ ],
937
+ [
938
+ 10,
939
+ 14,
940
+ 0,
941
+ 15,
942
+ 0,
943
+ "IMAGE"
944
+ ],
945
+ [
946
+ 11,
947
+ 12,
948
+ 0,
949
+ 16,
950
+ 0,
951
+ "CONDITIONING"
952
+ ],
953
+ [
954
+ 12,
955
+ 11,
956
+ 0,
957
+ 16,
958
+ 1,
959
+ "CONDITIONING"
960
+ ],
961
+ [
962
+ 13,
963
+ 4,
964
+ 0,
965
+ 16,
966
+ 2,
967
+ "VAE"
968
+ ],
969
+ [
970
+ 14,
971
+ 14,
972
+ 0,
973
+ 16,
974
+ 3,
975
+ "IMAGE"
976
+ ],
977
+ [
978
+ 15,
979
+ 2,
980
+ 0,
981
+ 17,
982
+ 0,
983
+ "MODEL"
984
+ ],
985
+ [
986
+ 16,
987
+ 17,
988
+ 0,
989
+ 18,
990
+ 0,
991
+ "MODEL"
992
+ ],
993
+ [
994
+ 17,
995
+ 18,
996
+ 0,
997
+ 19,
998
+ 0,
999
+ "MODEL"
1000
+ ],
1001
+ [
1002
+ 18,
1003
+ 16,
1004
+ 0,
1005
+ 19,
1006
+ 1,
1007
+ "CONDITIONING"
1008
+ ],
1009
+ [
1010
+ 19,
1011
+ 16,
1012
+ 1,
1013
+ 19,
1014
+ 2,
1015
+ "CONDITIONING"
1016
+ ],
1017
+ [
1018
+ 20,
1019
+ 16,
1020
+ 2,
1021
+ 19,
1022
+ 3,
1023
+ "LATENT"
1024
+ ],
1025
+ [
1026
+ 21,
1027
+ 19,
1028
+ 0,
1029
+ 20,
1030
+ 0,
1031
+ "LATENT"
1032
+ ],
1033
+ [
1034
+ 22,
1035
+ 4,
1036
+ 0,
1037
+ 20,
1038
+ 1,
1039
+ "VAE"
1040
+ ],
1041
+ [
1042
+ 23,
1043
+ 20,
1044
+ 0,
1045
+ 21,
1046
+ 0,
1047
+ "IMAGE"
1048
+ ]
1049
+ ],
1050
+ "groups": [
1051
+ {
1052
+ "id": 1,
1053
+ "title": "STYLE REFERENCE \u2014 Redux",
1054
+ "bounding": [
1055
+ -740,
1056
+ 340,
1057
+ 940,
1058
+ 700
1059
+ ],
1060
+ "color": "#3f789e",
1061
+ "font_size": 24,
1062
+ "flags": {}
1063
+ },
1064
+ {
1065
+ "id": 2,
1066
+ "title": "COMPOSITION \u2014 BFL Depth LoRA",
1067
+ "bounding": [
1068
+ -740,
1069
+ 900,
1070
+ 1220,
1071
+ 500
1072
+ ],
1073
+ "color": "#8f5b34",
1074
+ "font_size": 24,
1075
+ "flags": {}
1076
+ }
1077
+ ],
1078
+ "config": {},
1079
+ "extra": {},
1080
+ "version": 0.4
1081
+ }
wip/flux-redux/flux-redux-style-composition.json ADDED
@@ -0,0 +1,1449 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 26,
5
+ "last_link_id": 34,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1340,
12
+ -120
13
+ ],
14
+ "size": [
15
+ 580,
16
+ 700
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux + ControlNet \u2014 style + composition (v1 draft)\n\n**Image A (style)** supplies aesthetic/palette/lighting via **FLUX.1 Redux**; **Image B\n(composition)** supplies layout via **Depth** (Shakker-Labs ControlNet **Union-Pro-2.0** \u2014 mode\ninferred from the control image, do NOT add SetUnionControlNetType). Optional text prompt.\n\n**Models** (HF `aleph65/ComfyUI`):\n- `diffusion_models/flux1-dev.safetensors` (bf16) \u00b7 `text_encoders/t5xxl_fp16.safetensors` +\n `clip_l.safetensors` \u00b7 `vae/ae.safetensors`\n- `style_models/flux1-redux-dev.safetensors` \u00b7 `clip_vision/sigclip_vision_patch14_384.safetensors`\n- `controlnet/FLUX.1-dev-ControlNet-Union-Pro-2.0.safetensors`\n- bypassed extras: `loras/flux1-turbo-alpha.safetensors`\n- `depth_anything_v2_vitl.pth` auto-downloads into `custom_nodes/comfyui_controlnet_aux/ckpts/`\n\n**Knobs**\n- *Apply Style Model* `strength` = Redux influence, `attn_bias` mode: 0.3\u20130.7 (start 0.5).\n Raise if style too weak; lower (or use the ReduxAdvanced group) if Image A's layout leaks.\n- *Depth ControlNet* strength 0.6\u20130.8, end_percent 0.8 (official 2.0 rec: 0.8/0.8).\n- **Canny group (bypassed)**: enable to stack hard contour lock at LOW strength 0.25\u20130.4, or\n use instead of depth (rewire). Union-Pro-2.0 handles both from the same loader.\n- **ReduxAdvanced group (bypassed)**: alternative style isolation via token downsampling\n (factor 3). To use: connect its CONDITIONING output to the depth Apply ControlNet `positive`\n (replacing Apply Style Model) and enable the node.\n- **Turbo group (bypassed)**: enable turbo-alpha LoRA + set steps to 8 for fast previews.\n- Sampler: euler / simple / 28 steps / CFG 1.0 / FluxGuidance 3.5 / denoise 1.0.\n\nPrompt may be empty; a short scene description usually helps. Match latent aspect to Image B.\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 26
53
+ ],
54
+ "slot_index": 0
55
+ }
56
+ ],
57
+ "properties": {
58
+ "Node name for S&R": "UNETLoader",
59
+ "cnr_id": "comfy-core",
60
+ "ver": "0.27.0"
61
+ },
62
+ "widgets_values": [
63
+ "flux1-dev.safetensors",
64
+ "default"
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "DualCLIPLoader",
70
+ "pos": [
71
+ -720,
72
+ 60
73
+ ],
74
+ "size": [
75
+ 340,
76
+ 130
77
+ ],
78
+ "flags": {},
79
+ "order": 2,
80
+ "mode": 0,
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "CLIP",
85
+ "type": "CLIP",
86
+ "links": [
87
+ 3
88
+ ],
89
+ "slot_index": 0
90
+ }
91
+ ],
92
+ "properties": {
93
+ "Node name for S&R": "DualCLIPLoader",
94
+ "cnr_id": "comfy-core",
95
+ "ver": "0.27.0"
96
+ },
97
+ "widgets_values": [
98
+ "t5xxl_fp16.safetensors",
99
+ "clip_l.safetensors",
100
+ "flux",
101
+ "default"
102
+ ]
103
+ },
104
+ {
105
+ "id": 4,
106
+ "type": "VAELoader",
107
+ "pos": [
108
+ -720,
109
+ 250
110
+ ],
111
+ "size": [
112
+ 340,
113
+ 58
114
+ ],
115
+ "flags": {},
116
+ "order": 3,
117
+ "mode": 0,
118
+ "inputs": [],
119
+ "outputs": [
120
+ {
121
+ "name": "VAE",
122
+ "type": "VAE",
123
+ "links": [
124
+ 19,
125
+ 24,
126
+ 33
127
+ ],
128
+ "slot_index": 0
129
+ }
130
+ ],
131
+ "properties": {
132
+ "Node name for S&R": "VAELoader",
133
+ "cnr_id": "comfy-core",
134
+ "ver": "0.27.0"
135
+ },
136
+ "widgets_values": [
137
+ "ae.safetensors"
138
+ ]
139
+ },
140
+ {
141
+ "id": 5,
142
+ "type": "LoadImage",
143
+ "pos": [
144
+ -720,
145
+ 420
146
+ ],
147
+ "size": [
148
+ 274,
149
+ 314
150
+ ],
151
+ "flags": {},
152
+ "order": 4,
153
+ "mode": 0,
154
+ "inputs": [],
155
+ "outputs": [
156
+ {
157
+ "name": "IMAGE",
158
+ "type": "IMAGE",
159
+ "links": [
160
+ 2,
161
+ 12
162
+ ],
163
+ "slot_index": 0
164
+ },
165
+ {
166
+ "name": "MASK",
167
+ "type": "MASK",
168
+ "links": [],
169
+ "slot_index": 1
170
+ }
171
+ ],
172
+ "properties": {
173
+ "Node name for S&R": "LoadImage",
174
+ "cnr_id": "comfy-core",
175
+ "ver": "0.27.0"
176
+ },
177
+ "title": "Style reference (Image A)",
178
+ "widgets_values": [
179
+ "style_ref.png",
180
+ "image"
181
+ ]
182
+ },
183
+ {
184
+ "id": 6,
185
+ "type": "CLIPVisionLoader",
186
+ "pos": [
187
+ -720,
188
+ 780
189
+ ],
190
+ "size": [
191
+ 340,
192
+ 58
193
+ ],
194
+ "flags": {},
195
+ "order": 5,
196
+ "mode": 0,
197
+ "inputs": [],
198
+ "outputs": [
199
+ {
200
+ "name": "CLIP_VISION",
201
+ "type": "CLIP_VISION",
202
+ "links": [
203
+ 1,
204
+ 11
205
+ ],
206
+ "slot_index": 0
207
+ }
208
+ ],
209
+ "properties": {
210
+ "Node name for S&R": "CLIPVisionLoader",
211
+ "cnr_id": "comfy-core",
212
+ "ver": "0.27.0"
213
+ },
214
+ "widgets_values": [
215
+ "sigclip_vision_patch14_384.safetensors"
216
+ ]
217
+ },
218
+ {
219
+ "id": 7,
220
+ "type": "CLIPVisionEncode",
221
+ "pos": [
222
+ -340,
223
+ 480
224
+ ],
225
+ "size": [
226
+ 290,
227
+ 78
228
+ ],
229
+ "flags": {},
230
+ "order": 6,
231
+ "mode": 0,
232
+ "inputs": [
233
+ {
234
+ "name": "clip_vision",
235
+ "type": "CLIP_VISION",
236
+ "link": 1
237
+ },
238
+ {
239
+ "name": "image",
240
+ "type": "IMAGE",
241
+ "link": 2
242
+ }
243
+ ],
244
+ "outputs": [
245
+ {
246
+ "name": "CLIP_VISION_OUTPUT",
247
+ "type": "CLIP_VISION_OUTPUT",
248
+ "links": [
249
+ 8
250
+ ],
251
+ "slot_index": 0
252
+ }
253
+ ],
254
+ "properties": {
255
+ "Node name for S&R": "CLIPVisionEncode",
256
+ "cnr_id": "comfy-core",
257
+ "ver": "0.27.0"
258
+ },
259
+ "widgets_values": [
260
+ "center"
261
+ ]
262
+ },
263
+ {
264
+ "id": 8,
265
+ "type": "StyleModelLoader",
266
+ "pos": [
267
+ -720,
268
+ 870
269
+ ],
270
+ "size": [
271
+ 340,
272
+ 58
273
+ ],
274
+ "flags": {},
275
+ "order": 7,
276
+ "mode": 0,
277
+ "inputs": [],
278
+ "outputs": [
279
+ {
280
+ "name": "STYLE_MODEL",
281
+ "type": "STYLE_MODEL",
282
+ "links": [
283
+ 7,
284
+ 10
285
+ ],
286
+ "slot_index": 0
287
+ }
288
+ ],
289
+ "properties": {
290
+ "Node name for S&R": "StyleModelLoader",
291
+ "cnr_id": "comfy-core",
292
+ "ver": "0.27.0"
293
+ },
294
+ "widgets_values": [
295
+ "flux1-redux-dev.safetensors"
296
+ ]
297
+ },
298
+ {
299
+ "id": 9,
300
+ "type": "CLIPTextEncode",
301
+ "pos": [
302
+ -300,
303
+ 60
304
+ ],
305
+ "size": [
306
+ 400,
307
+ 160
308
+ ],
309
+ "flags": {},
310
+ "order": 8,
311
+ "mode": 0,
312
+ "inputs": [
313
+ {
314
+ "name": "clip",
315
+ "type": "CLIP",
316
+ "link": 3
317
+ }
318
+ ],
319
+ "outputs": [
320
+ {
321
+ "name": "CONDITIONING",
322
+ "type": "CONDITIONING",
323
+ "links": [
324
+ 4
325
+ ],
326
+ "slot_index": 0
327
+ }
328
+ ],
329
+ "properties": {
330
+ "Node name for S&R": "CLIPTextEncode",
331
+ "cnr_id": "comfy-core",
332
+ "ver": "0.27.0"
333
+ },
334
+ "title": "Prompt (optional \u2014 may stay empty)",
335
+ "widgets_values": [
336
+ ""
337
+ ]
338
+ },
339
+ {
340
+ "id": 10,
341
+ "type": "FluxGuidance",
342
+ "pos": [
343
+ 140,
344
+ 60
345
+ ],
346
+ "size": [
347
+ 290,
348
+ 58
349
+ ],
350
+ "flags": {},
351
+ "order": 9,
352
+ "mode": 0,
353
+ "inputs": [
354
+ {
355
+ "name": "conditioning",
356
+ "type": "CONDITIONING",
357
+ "link": 4
358
+ }
359
+ ],
360
+ "outputs": [
361
+ {
362
+ "name": "CONDITIONING",
363
+ "type": "CONDITIONING",
364
+ "links": [
365
+ 5,
366
+ 6,
367
+ 9
368
+ ],
369
+ "slot_index": 0
370
+ }
371
+ ],
372
+ "properties": {
373
+ "Node name for S&R": "FluxGuidance",
374
+ "cnr_id": "comfy-core",
375
+ "ver": "0.27.0"
376
+ },
377
+ "widgets_values": [
378
+ 3.5
379
+ ]
380
+ },
381
+ {
382
+ "id": 11,
383
+ "type": "ConditioningZeroOut",
384
+ "pos": [
385
+ 140,
386
+ 170
387
+ ],
388
+ "size": [
389
+ 290,
390
+ 48
391
+ ],
392
+ "flags": {},
393
+ "order": 10,
394
+ "mode": 0,
395
+ "inputs": [
396
+ {
397
+ "name": "conditioning",
398
+ "type": "CONDITIONING",
399
+ "link": 5
400
+ }
401
+ ],
402
+ "outputs": [
403
+ {
404
+ "name": "CONDITIONING",
405
+ "type": "CONDITIONING",
406
+ "links": [
407
+ 17
408
+ ],
409
+ "slot_index": 0
410
+ }
411
+ ],
412
+ "properties": {
413
+ "Node name for S&R": "ConditioningZeroOut",
414
+ "cnr_id": "comfy-core",
415
+ "ver": "0.27.0"
416
+ }
417
+ },
418
+ {
419
+ "id": 12,
420
+ "type": "StyleModelApply",
421
+ "pos": [
422
+ 140,
423
+ 300
424
+ ],
425
+ "size": [
426
+ 320,
427
+ 102
428
+ ],
429
+ "flags": {},
430
+ "order": 11,
431
+ "mode": 0,
432
+ "inputs": [
433
+ {
434
+ "name": "conditioning",
435
+ "type": "CONDITIONING",
436
+ "link": 6
437
+ },
438
+ {
439
+ "name": "style_model",
440
+ "type": "STYLE_MODEL",
441
+ "link": 7
442
+ },
443
+ {
444
+ "name": "clip_vision_output",
445
+ "type": "CLIP_VISION_OUTPUT",
446
+ "link": 8
447
+ }
448
+ ],
449
+ "outputs": [
450
+ {
451
+ "name": "CONDITIONING",
452
+ "type": "CONDITIONING",
453
+ "links": [
454
+ 16
455
+ ],
456
+ "slot_index": 0
457
+ }
458
+ ],
459
+ "properties": {
460
+ "Node name for S&R": "StyleModelApply",
461
+ "cnr_id": "comfy-core",
462
+ "ver": "0.27.0"
463
+ },
464
+ "widgets_values": [
465
+ 0.5,
466
+ "attn_bias"
467
+ ]
468
+ },
469
+ {
470
+ "id": 13,
471
+ "type": "ReduxAdvanced",
472
+ "pos": [
473
+ 140,
474
+ 520
475
+ ],
476
+ "size": [
477
+ 320,
478
+ 190
479
+ ],
480
+ "flags": {},
481
+ "order": 12,
482
+ "mode": 4,
483
+ "inputs": [
484
+ {
485
+ "name": "conditioning",
486
+ "type": "CONDITIONING",
487
+ "link": 9
488
+ },
489
+ {
490
+ "name": "style_model",
491
+ "type": "STYLE_MODEL",
492
+ "link": 10
493
+ },
494
+ {
495
+ "name": "clip_vision",
496
+ "type": "CLIP_VISION",
497
+ "link": 11
498
+ },
499
+ {
500
+ "name": "image",
501
+ "type": "IMAGE",
502
+ "link": 12
503
+ },
504
+ {
505
+ "name": "mask",
506
+ "type": "MASK",
507
+ "link": null
508
+ }
509
+ ],
510
+ "outputs": [
511
+ {
512
+ "name": "CONDITIONING",
513
+ "type": "CONDITIONING",
514
+ "links": [],
515
+ "slot_index": 0
516
+ },
517
+ {
518
+ "name": "IMAGE",
519
+ "type": "IMAGE",
520
+ "links": [],
521
+ "slot_index": 1
522
+ },
523
+ {
524
+ "name": "MASK",
525
+ "type": "MASK",
526
+ "links": [],
527
+ "slot_index": 2
528
+ }
529
+ ],
530
+ "properties": {
531
+ "Node name for S&R": "ReduxAdvanced",
532
+ "aux_id": "kaibioinfo/ComfyUI_AdvancedRefluxControl"
533
+ },
534
+ "title": "ALT: ReduxAdvanced (rewire to use)",
535
+ "widgets_values": [
536
+ 3,
537
+ "area",
538
+ "center crop (square)",
539
+ 1.0,
540
+ 0.1
541
+ ]
542
+ },
543
+ {
544
+ "id": 14,
545
+ "type": "LoadImage",
546
+ "pos": [
547
+ -720,
548
+ 1000
549
+ ],
550
+ "size": [
551
+ 274,
552
+ 314
553
+ ],
554
+ "flags": {},
555
+ "order": 13,
556
+ "mode": 0,
557
+ "inputs": [],
558
+ "outputs": [
559
+ {
560
+ "name": "IMAGE",
561
+ "type": "IMAGE",
562
+ "links": [
563
+ 13,
564
+ 15
565
+ ],
566
+ "slot_index": 0
567
+ },
568
+ {
569
+ "name": "MASK",
570
+ "type": "MASK",
571
+ "links": [],
572
+ "slot_index": 1
573
+ }
574
+ ],
575
+ "properties": {
576
+ "Node name for S&R": "LoadImage",
577
+ "cnr_id": "comfy-core",
578
+ "ver": "0.27.0"
579
+ },
580
+ "title": "Composition reference (Image B)",
581
+ "widgets_values": [
582
+ "composition_ref.png",
583
+ "image"
584
+ ]
585
+ },
586
+ {
587
+ "id": 15,
588
+ "type": "DepthAnythingV2Preprocessor",
589
+ "pos": [
590
+ -300,
591
+ 1030
592
+ ],
593
+ "size": [
594
+ 330,
595
+ 82
596
+ ],
597
+ "flags": {},
598
+ "order": 14,
599
+ "mode": 0,
600
+ "inputs": [
601
+ {
602
+ "name": "image",
603
+ "type": "IMAGE",
604
+ "link": 13
605
+ }
606
+ ],
607
+ "outputs": [
608
+ {
609
+ "name": "IMAGE",
610
+ "type": "IMAGE",
611
+ "links": [
612
+ 14,
613
+ 20
614
+ ],
615
+ "slot_index": 0
616
+ }
617
+ ],
618
+ "properties": {
619
+ "Node name for S&R": "DepthAnythingV2Preprocessor",
620
+ "cnr_id": "comfyui_controlnet_aux"
621
+ },
622
+ "widgets_values": [
623
+ "depth_anything_v2_vitl.pth",
624
+ 1024
625
+ ]
626
+ },
627
+ {
628
+ "id": 16,
629
+ "type": "PreviewImage",
630
+ "pos": [
631
+ -300,
632
+ 1180
633
+ ],
634
+ "size": [
635
+ 300,
636
+ 300
637
+ ],
638
+ "flags": {},
639
+ "order": 15,
640
+ "mode": 0,
641
+ "inputs": [
642
+ {
643
+ "name": "images",
644
+ "type": "IMAGE",
645
+ "link": 14
646
+ }
647
+ ],
648
+ "outputs": [],
649
+ "properties": {
650
+ "Node name for S&R": "PreviewImage",
651
+ "cnr_id": "comfy-core",
652
+ "ver": "0.27.0"
653
+ },
654
+ "title": "Depth map preview"
655
+ },
656
+ {
657
+ "id": 17,
658
+ "type": "Canny",
659
+ "pos": [
660
+ -300,
661
+ 1540
662
+ ],
663
+ "size": [
664
+ 290,
665
+ 82
666
+ ],
667
+ "flags": {},
668
+ "order": 16,
669
+ "mode": 4,
670
+ "inputs": [
671
+ {
672
+ "name": "image",
673
+ "type": "IMAGE",
674
+ "link": 15
675
+ }
676
+ ],
677
+ "outputs": [
678
+ {
679
+ "name": "IMAGE",
680
+ "type": "IMAGE",
681
+ "links": [
682
+ 25
683
+ ],
684
+ "slot_index": 0
685
+ }
686
+ ],
687
+ "properties": {
688
+ "Node name for S&R": "Canny",
689
+ "cnr_id": "comfy-core",
690
+ "ver": "0.27.0"
691
+ },
692
+ "title": "OPTIONAL: canny edges",
693
+ "widgets_values": [
694
+ 0.2,
695
+ 0.5
696
+ ]
697
+ },
698
+ {
699
+ "id": 18,
700
+ "type": "ControlNetLoader",
701
+ "pos": [
702
+ 140,
703
+ 950
704
+ ],
705
+ "size": [
706
+ 380,
707
+ 58
708
+ ],
709
+ "flags": {},
710
+ "order": 17,
711
+ "mode": 0,
712
+ "inputs": [],
713
+ "outputs": [
714
+ {
715
+ "name": "CONTROL_NET",
716
+ "type": "CONTROL_NET",
717
+ "links": [
718
+ 18,
719
+ 23
720
+ ],
721
+ "slot_index": 0
722
+ }
723
+ ],
724
+ "properties": {
725
+ "Node name for S&R": "ControlNetLoader",
726
+ "cnr_id": "comfy-core",
727
+ "ver": "0.27.0"
728
+ },
729
+ "widgets_values": [
730
+ "FLUX.1-dev-ControlNet-Union-Pro-2.0.safetensors"
731
+ ]
732
+ },
733
+ {
734
+ "id": 19,
735
+ "type": "ControlNetApplySD3",
736
+ "pos": [
737
+ 560,
738
+ 300
739
+ ],
740
+ "size": [
741
+ 320,
742
+ 166
743
+ ],
744
+ "flags": {},
745
+ "order": 18,
746
+ "mode": 0,
747
+ "inputs": [
748
+ {
749
+ "name": "positive",
750
+ "type": "CONDITIONING",
751
+ "link": 16
752
+ },
753
+ {
754
+ "name": "negative",
755
+ "type": "CONDITIONING",
756
+ "link": 17
757
+ },
758
+ {
759
+ "name": "control_net",
760
+ "type": "CONTROL_NET",
761
+ "link": 18
762
+ },
763
+ {
764
+ "name": "vae",
765
+ "type": "VAE",
766
+ "link": 19
767
+ },
768
+ {
769
+ "name": "image",
770
+ "type": "IMAGE",
771
+ "link": 20
772
+ }
773
+ ],
774
+ "outputs": [
775
+ {
776
+ "name": "positive",
777
+ "type": "CONDITIONING",
778
+ "links": [
779
+ 21
780
+ ],
781
+ "slot_index": 0
782
+ },
783
+ {
784
+ "name": "negative",
785
+ "type": "CONDITIONING",
786
+ "links": [
787
+ 22
788
+ ],
789
+ "slot_index": 1
790
+ }
791
+ ],
792
+ "properties": {
793
+ "Node name for S&R": "ControlNetApplySD3",
794
+ "cnr_id": "comfy-core",
795
+ "ver": "0.27.0"
796
+ },
797
+ "title": "Apply ControlNet \u2014 DEPTH",
798
+ "widgets_values": [
799
+ 0.7,
800
+ 0.0,
801
+ 0.8
802
+ ]
803
+ },
804
+ {
805
+ "id": 20,
806
+ "type": "ControlNetApplySD3",
807
+ "pos": [
808
+ 560,
809
+ 560
810
+ ],
811
+ "size": [
812
+ 320,
813
+ 166
814
+ ],
815
+ "flags": {},
816
+ "order": 19,
817
+ "mode": 4,
818
+ "inputs": [
819
+ {
820
+ "name": "positive",
821
+ "type": "CONDITIONING",
822
+ "link": 21
823
+ },
824
+ {
825
+ "name": "negative",
826
+ "type": "CONDITIONING",
827
+ "link": 22
828
+ },
829
+ {
830
+ "name": "control_net",
831
+ "type": "CONTROL_NET",
832
+ "link": 23
833
+ },
834
+ {
835
+ "name": "vae",
836
+ "type": "VAE",
837
+ "link": 24
838
+ },
839
+ {
840
+ "name": "image",
841
+ "type": "IMAGE",
842
+ "link": 25
843
+ }
844
+ ],
845
+ "outputs": [
846
+ {
847
+ "name": "positive",
848
+ "type": "CONDITIONING",
849
+ "links": [
850
+ 29
851
+ ],
852
+ "slot_index": 0
853
+ },
854
+ {
855
+ "name": "negative",
856
+ "type": "CONDITIONING",
857
+ "links": [
858
+ 30
859
+ ],
860
+ "slot_index": 1
861
+ }
862
+ ],
863
+ "properties": {
864
+ "Node name for S&R": "ControlNetApplySD3",
865
+ "cnr_id": "comfy-core",
866
+ "ver": "0.27.0"
867
+ },
868
+ "title": "OPTIONAL: Apply ControlNet \u2014 CANNY (stack)",
869
+ "widgets_values": [
870
+ 0.35,
871
+ 0.0,
872
+ 0.6
873
+ ]
874
+ },
875
+ {
876
+ "id": 21,
877
+ "type": "LoraLoaderModelOnly",
878
+ "pos": [
879
+ -300,
880
+ -160
881
+ ],
882
+ "size": [
883
+ 340,
884
+ 82
885
+ ],
886
+ "flags": {},
887
+ "order": 20,
888
+ "mode": 4,
889
+ "inputs": [
890
+ {
891
+ "name": "model",
892
+ "type": "MODEL",
893
+ "link": 26
894
+ }
895
+ ],
896
+ "outputs": [
897
+ {
898
+ "name": "MODEL",
899
+ "type": "MODEL",
900
+ "links": [
901
+ 27
902
+ ],
903
+ "slot_index": 0
904
+ }
905
+ ],
906
+ "properties": {
907
+ "Node name for S&R": "LoraLoaderModelOnly",
908
+ "cnr_id": "comfy-core",
909
+ "ver": "0.27.0"
910
+ },
911
+ "title": "FAST PREVIEW: turbo LoRA (set steps 8)",
912
+ "widgets_values": [
913
+ "flux1-turbo-alpha.safetensors",
914
+ 1.0
915
+ ]
916
+ },
917
+ {
918
+ "id": 22,
919
+ "type": "ModelSamplingFlux",
920
+ "pos": [
921
+ 140,
922
+ -160
923
+ ],
924
+ "size": [
925
+ 300,
926
+ 130
927
+ ],
928
+ "flags": {},
929
+ "order": 21,
930
+ "mode": 0,
931
+ "inputs": [
932
+ {
933
+ "name": "model",
934
+ "type": "MODEL",
935
+ "link": 27
936
+ }
937
+ ],
938
+ "outputs": [
939
+ {
940
+ "name": "MODEL",
941
+ "type": "MODEL",
942
+ "links": [
943
+ 28
944
+ ],
945
+ "slot_index": 0
946
+ }
947
+ ],
948
+ "properties": {
949
+ "Node name for S&R": "ModelSamplingFlux",
950
+ "cnr_id": "comfy-core",
951
+ "ver": "0.27.0"
952
+ },
953
+ "widgets_values": [
954
+ 1.15,
955
+ 0.5,
956
+ 1024,
957
+ 1024
958
+ ]
959
+ },
960
+ {
961
+ "id": 23,
962
+ "type": "EmptySD3LatentImage",
963
+ "pos": [
964
+ 560,
965
+ 950
966
+ ],
967
+ "size": [
968
+ 290,
969
+ 106
970
+ ],
971
+ "flags": {},
972
+ "order": 22,
973
+ "mode": 0,
974
+ "inputs": [],
975
+ "outputs": [
976
+ {
977
+ "name": "LATENT",
978
+ "type": "LATENT",
979
+ "links": [
980
+ 31
981
+ ],
982
+ "slot_index": 0
983
+ }
984
+ ],
985
+ "properties": {
986
+ "Node name for S&R": "EmptySD3LatentImage",
987
+ "cnr_id": "comfy-core",
988
+ "ver": "0.27.0"
989
+ },
990
+ "widgets_values": [
991
+ 1024,
992
+ 1024,
993
+ 1
994
+ ]
995
+ },
996
+ {
997
+ "id": 24,
998
+ "type": "KSampler",
999
+ "pos": [
1000
+ 980,
1001
+ 300
1002
+ ],
1003
+ "size": [
1004
+ 300,
1005
+ 262
1006
+ ],
1007
+ "flags": {},
1008
+ "order": 23,
1009
+ "mode": 0,
1010
+ "inputs": [
1011
+ {
1012
+ "name": "model",
1013
+ "type": "MODEL",
1014
+ "link": 28
1015
+ },
1016
+ {
1017
+ "name": "positive",
1018
+ "type": "CONDITIONING",
1019
+ "link": 29
1020
+ },
1021
+ {
1022
+ "name": "negative",
1023
+ "type": "CONDITIONING",
1024
+ "link": 30
1025
+ },
1026
+ {
1027
+ "name": "latent_image",
1028
+ "type": "LATENT",
1029
+ "link": 31
1030
+ }
1031
+ ],
1032
+ "outputs": [
1033
+ {
1034
+ "name": "LATENT",
1035
+ "type": "LATENT",
1036
+ "links": [
1037
+ 32
1038
+ ],
1039
+ "slot_index": 0
1040
+ }
1041
+ ],
1042
+ "properties": {
1043
+ "Node name for S&R": "KSampler",
1044
+ "cnr_id": "comfy-core",
1045
+ "ver": "0.27.0"
1046
+ },
1047
+ "widgets_values": [
1048
+ 0,
1049
+ "randomize",
1050
+ 28,
1051
+ 1.0,
1052
+ "euler",
1053
+ "simple",
1054
+ 1.0
1055
+ ]
1056
+ },
1057
+ {
1058
+ "id": 25,
1059
+ "type": "VAEDecode",
1060
+ "pos": [
1061
+ 1320,
1062
+ 300
1063
+ ],
1064
+ "size": [
1065
+ 210,
1066
+ 66
1067
+ ],
1068
+ "flags": {},
1069
+ "order": 24,
1070
+ "mode": 0,
1071
+ "inputs": [
1072
+ {
1073
+ "name": "samples",
1074
+ "type": "LATENT",
1075
+ "link": 32
1076
+ },
1077
+ {
1078
+ "name": "vae",
1079
+ "type": "VAE",
1080
+ "link": 33
1081
+ }
1082
+ ],
1083
+ "outputs": [
1084
+ {
1085
+ "name": "IMAGE",
1086
+ "type": "IMAGE",
1087
+ "links": [
1088
+ 34
1089
+ ],
1090
+ "slot_index": 0
1091
+ }
1092
+ ],
1093
+ "properties": {
1094
+ "Node name for S&R": "VAEDecode",
1095
+ "cnr_id": "comfy-core",
1096
+ "ver": "0.27.0"
1097
+ }
1098
+ },
1099
+ {
1100
+ "id": 26,
1101
+ "type": "SaveImage",
1102
+ "pos": [
1103
+ 1320,
1104
+ 420
1105
+ ],
1106
+ "size": [
1107
+ 400,
1108
+ 400
1109
+ ],
1110
+ "flags": {},
1111
+ "order": 25,
1112
+ "mode": 0,
1113
+ "inputs": [
1114
+ {
1115
+ "name": "images",
1116
+ "type": "IMAGE",
1117
+ "link": 34
1118
+ }
1119
+ ],
1120
+ "outputs": [],
1121
+ "properties": {
1122
+ "Node name for S&R": "SaveImage",
1123
+ "cnr_id": "comfy-core",
1124
+ "ver": "0.27.0"
1125
+ },
1126
+ "widgets_values": [
1127
+ "flux-redux/style-comp"
1128
+ ]
1129
+ }
1130
+ ],
1131
+ "links": [
1132
+ [
1133
+ 1,
1134
+ 6,
1135
+ 0,
1136
+ 7,
1137
+ 0,
1138
+ "CLIP_VISION"
1139
+ ],
1140
+ [
1141
+ 2,
1142
+ 5,
1143
+ 0,
1144
+ 7,
1145
+ 1,
1146
+ "IMAGE"
1147
+ ],
1148
+ [
1149
+ 3,
1150
+ 3,
1151
+ 0,
1152
+ 9,
1153
+ 0,
1154
+ "CLIP"
1155
+ ],
1156
+ [
1157
+ 4,
1158
+ 9,
1159
+ 0,
1160
+ 10,
1161
+ 0,
1162
+ "CONDITIONING"
1163
+ ],
1164
+ [
1165
+ 5,
1166
+ 10,
1167
+ 0,
1168
+ 11,
1169
+ 0,
1170
+ "CONDITIONING"
1171
+ ],
1172
+ [
1173
+ 6,
1174
+ 10,
1175
+ 0,
1176
+ 12,
1177
+ 0,
1178
+ "CONDITIONING"
1179
+ ],
1180
+ [
1181
+ 7,
1182
+ 8,
1183
+ 0,
1184
+ 12,
1185
+ 1,
1186
+ "STYLE_MODEL"
1187
+ ],
1188
+ [
1189
+ 8,
1190
+ 7,
1191
+ 0,
1192
+ 12,
1193
+ 2,
1194
+ "CLIP_VISION_OUTPUT"
1195
+ ],
1196
+ [
1197
+ 9,
1198
+ 10,
1199
+ 0,
1200
+ 13,
1201
+ 0,
1202
+ "CONDITIONING"
1203
+ ],
1204
+ [
1205
+ 10,
1206
+ 8,
1207
+ 0,
1208
+ 13,
1209
+ 1,
1210
+ "STYLE_MODEL"
1211
+ ],
1212
+ [
1213
+ 11,
1214
+ 6,
1215
+ 0,
1216
+ 13,
1217
+ 2,
1218
+ "CLIP_VISION"
1219
+ ],
1220
+ [
1221
+ 12,
1222
+ 5,
1223
+ 0,
1224
+ 13,
1225
+ 3,
1226
+ "IMAGE"
1227
+ ],
1228
+ [
1229
+ 13,
1230
+ 14,
1231
+ 0,
1232
+ 15,
1233
+ 0,
1234
+ "IMAGE"
1235
+ ],
1236
+ [
1237
+ 14,
1238
+ 15,
1239
+ 0,
1240
+ 16,
1241
+ 0,
1242
+ "IMAGE"
1243
+ ],
1244
+ [
1245
+ 15,
1246
+ 14,
1247
+ 0,
1248
+ 17,
1249
+ 0,
1250
+ "IMAGE"
1251
+ ],
1252
+ [
1253
+ 16,
1254
+ 12,
1255
+ 0,
1256
+ 19,
1257
+ 0,
1258
+ "CONDITIONING"
1259
+ ],
1260
+ [
1261
+ 17,
1262
+ 11,
1263
+ 0,
1264
+ 19,
1265
+ 1,
1266
+ "CONDITIONING"
1267
+ ],
1268
+ [
1269
+ 18,
1270
+ 18,
1271
+ 0,
1272
+ 19,
1273
+ 2,
1274
+ "CONTROL_NET"
1275
+ ],
1276
+ [
1277
+ 19,
1278
+ 4,
1279
+ 0,
1280
+ 19,
1281
+ 3,
1282
+ "VAE"
1283
+ ],
1284
+ [
1285
+ 20,
1286
+ 15,
1287
+ 0,
1288
+ 19,
1289
+ 4,
1290
+ "IMAGE"
1291
+ ],
1292
+ [
1293
+ 21,
1294
+ 19,
1295
+ 0,
1296
+ 20,
1297
+ 0,
1298
+ "CONDITIONING"
1299
+ ],
1300
+ [
1301
+ 22,
1302
+ 19,
1303
+ 1,
1304
+ 20,
1305
+ 1,
1306
+ "CONDITIONING"
1307
+ ],
1308
+ [
1309
+ 23,
1310
+ 18,
1311
+ 0,
1312
+ 20,
1313
+ 2,
1314
+ "CONTROL_NET"
1315
+ ],
1316
+ [
1317
+ 24,
1318
+ 4,
1319
+ 0,
1320
+ 20,
1321
+ 3,
1322
+ "VAE"
1323
+ ],
1324
+ [
1325
+ 25,
1326
+ 17,
1327
+ 0,
1328
+ 20,
1329
+ 4,
1330
+ "IMAGE"
1331
+ ],
1332
+ [
1333
+ 26,
1334
+ 2,
1335
+ 0,
1336
+ 21,
1337
+ 0,
1338
+ "MODEL"
1339
+ ],
1340
+ [
1341
+ 27,
1342
+ 21,
1343
+ 0,
1344
+ 22,
1345
+ 0,
1346
+ "MODEL"
1347
+ ],
1348
+ [
1349
+ 28,
1350
+ 22,
1351
+ 0,
1352
+ 24,
1353
+ 0,
1354
+ "MODEL"
1355
+ ],
1356
+ [
1357
+ 29,
1358
+ 20,
1359
+ 0,
1360
+ 24,
1361
+ 1,
1362
+ "CONDITIONING"
1363
+ ],
1364
+ [
1365
+ 30,
1366
+ 20,
1367
+ 1,
1368
+ 24,
1369
+ 2,
1370
+ "CONDITIONING"
1371
+ ],
1372
+ [
1373
+ 31,
1374
+ 23,
1375
+ 0,
1376
+ 24,
1377
+ 3,
1378
+ "LATENT"
1379
+ ],
1380
+ [
1381
+ 32,
1382
+ 24,
1383
+ 0,
1384
+ 25,
1385
+ 0,
1386
+ "LATENT"
1387
+ ],
1388
+ [
1389
+ 33,
1390
+ 4,
1391
+ 0,
1392
+ 25,
1393
+ 1,
1394
+ "VAE"
1395
+ ],
1396
+ [
1397
+ 34,
1398
+ 25,
1399
+ 0,
1400
+ 26,
1401
+ 0,
1402
+ "IMAGE"
1403
+ ]
1404
+ ],
1405
+ "groups": [
1406
+ {
1407
+ "id": 1,
1408
+ "title": "STYLE REFERENCE \u2014 Redux",
1409
+ "bounding": [
1410
+ -740,
1411
+ 340,
1412
+ 1220,
1413
+ 700
1414
+ ],
1415
+ "color": "#3f789e",
1416
+ "font_size": 24,
1417
+ "flags": {}
1418
+ },
1419
+ {
1420
+ "id": 2,
1421
+ "title": "COMPOSITION REFERENCE \u2014 Union-Pro-2.0",
1422
+ "bounding": [
1423
+ -740,
1424
+ 900,
1425
+ 1220,
1426
+ 800
1427
+ ],
1428
+ "color": "#8f5b34",
1429
+ "font_size": 24,
1430
+ "flags": {}
1431
+ },
1432
+ {
1433
+ "id": 3,
1434
+ "title": "SAMPLING",
1435
+ "bounding": [
1436
+ 940,
1437
+ 200,
1438
+ 800,
1439
+ 700
1440
+ ],
1441
+ "color": "#444",
1442
+ "font_size": 24,
1443
+ "flags": {}
1444
+ }
1445
+ ],
1446
+ "config": {},
1447
+ "extra": {},
1448
+ "version": 0.4
1449
+ }
workflows/FLUX-REDUX-CONTROLNET-RESEARCH.md ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Flux Redux + ControlNet — research & implementation plan (Aug 2026)
2
+
3
+ Goal: workflows with **1 style-reference image (Redux)** + **1 composition-reference image
4
+ (depth/canny ControlNet)** + **optional text prompt**, plus simple Redux-only variants and a
5
+ faithful replica of fal-ai's `flux/dev/redux` endpoint. Maximum quality; pod is H100 80GB.
6
+
7
+ ## Recommended stack (priority workflow)
8
+
9
+ ```
10
+ flux1-dev (fp8 checkpoint, or bf16 unet for max quality)
11
+ ├─ Style img → CLIPVisionEncode (sigclip 384) → StyleModelApply (flux1-redux-dev,
12
+ │ strength ~0.5, strength_type=attn_bias)
13
+ ├─ Prompt → CLIPTextEncode → FluxGuidance 3.5 (empty string = no prompt; works fine)
14
+ ├─ Comp img → DepthAnythingV2Preprocessor (or native Canny node)
15
+ │ → ControlNetLoader (Union-Pro-2.0) → ControlNetApplySD3 ("Apply ControlNet
16
+ │ with VAE") strength 0.6–0.8, end_percent 0.8
17
+ └─ euler / simple / 20–28 steps / CFG 1.0
18
+ ```
19
+
20
+ Conditioning order: text → StyleModelApply → ControlNetApplySD3 (matches all published
21
+ workflows; ControlNet applies to positive+negative, negative = ConditioningZeroOut).
22
+
23
+ ### Why Union-Pro-2.0 for the ControlNet
24
+
25
+ - `Shakker-Labs/FLUX.1-dev-ControlNet-Union-Pro-2.0` (4.28 GB bf16) is the 2025–26 community
26
+ default for FLUX structural control: one model covers **depth, canny, soft-edge, pose, gray**,
27
+ mode inferred from the control image (no `SetUnionControlNetType` node, unlike v1).
28
+ - Independent `strength` / `start_percent` / `end_percent` knobs, and multiple applies **stack**
29
+ (depth + canny simultaneously) — exactly what balancing against Redux needs.
30
+ - Official recommended settings: depth 0.8 / end 0.8, canny 0.7 / end 0.8, soft-edge 0.7 / 0.8,
31
+ pose 0.9 / 0.65. Drop toward 0.4–0.6 if it fights the style.
32
+ - Alternatives considered:
33
+ - **BFL FLUX.1-Depth/Canny-dev full models** (23.8 GB each): strongest raw structure adherence
34
+ (trained by BFL alongside flux1-dev), combine fine with Redux (Redux conditioning feeds
35
+ `InstructPixToPixConditioning`), but **no strength/timing knob at all**, one structure signal
36
+ only (no depth+canny stack), and each replaces the base model. Tunability is what quality
37
+ actually hinges on when Redux and structure must be balanced → not chosen as primary.
38
+ - **BFL depth/canny LoRAs** (1.24 GB, `LoraLoaderModelOnly` on stock flux1-dev, adherence via
39
+ LoRA strength): good middle ground, worth an A/B variant later, still no timing control and
40
+ still latent-concat (no stacking).
41
+ - **XLabs v3 controlnets / x-flux-comfyui**: legacy since early 2025, dormant repo,
42
+ `XlabsSampler` doesn't compose with normal conditioning. Skip; retire the old
43
+ `flux1-depth-controlnet-xlabs-redroom` workflows rather than port them.
44
+
45
+ ### Redux strength control (critical — Redux leaks composition)
46
+
47
+ Redux appends 729 SigLIP patch tokens to the text conditioning; at full strength it imposes the
48
+ style image's layout/subjects, not just aesthetics. Two current mechanisms:
49
+
50
+ 1. **Native** `StyleModelApply` `strength` + `strength_type` (in our ComfyUI 0.27.0,
51
+ `nodes.py:1100`): use **`attn_bias` ~0.3–0.7 (start 0.5)** — down-weights attention to the
52
+ Redux tokens; officially recommended since v0.3.8. `multiply` mode degrades style before it
53
+ stops leaking composition — avoid.
54
+ 2. **ReduxAdvanced** (`kaibioinfo/ComfyUI_AdvancedRefluxControl`): token **downsampling**
55
+ (27×27 → 9×9 at factor 3) removes spatial information outright — qualitatively better at
56
+ killing composition leakage while keeping style; also style masking + autocrop. Repo dormant
57
+ (last commit Apr 2025) but functional. Plan: include as a selectable branch in the priority
58
+ workflow (native attn_bias path active by default, ReduxAdvanced group bypassed) — the two
59
+ mechanisms attack different problems (attention weight vs spatial info) and A/B-ing them is
60
+ cheap once the node is installed.
61
+
62
+ Reviewed video workflows (user-supplied, all Nov–Dec 2024, pre-dating native attn_bias):
63
+ - Sebastian Kamph "How to use Flux Redux in ComfyUI" (YSJsejH5Viw) — official example graph;
64
+ covered by workflows #2/#3, nothing new.
65
+ - Olivio Sarikas "REDUX Advanced for FLUX" (UrUDHSpmB90) — ComfyUI_AdvancedRefluxControl demo
66
+ (style strength, image combining, masking). Patreon workflow ≈ repo example workflows.
67
+ - Code Crafters Corner "Flux Redux: Advanced Techniques" (kh3ikwEZQXk) — same node, focused on
68
+ restoring positive-prompt authority over Redux (downsampling + strength), i.e. exactly our
69
+ optional-text-prompt requirement. Simple + advanced graphs, rebuildable from the repo examples.
70
+ Net effect on plan: promote ReduxAdvanced from "fallback" to "installed + bypassed branch".
71
+
72
+ Inspected the node repo's own example workflows (what the Olivio / Code Crafters videos demo):
73
+ `simple_workflow.json` (StyleModelApplySimple preset "medium") and `advanced_workflow.json`
74
+ (ReduxAdvanced: downsampling 3, area, center-crop, weight 1.0) — both are the official-example
75
+ graph (UNETLoader flux1-dev + SamplerCustomAdvanced) with the apply node swapped. They load the
76
+ unet with `weight_dtype: fp8_e4m3fn` (runtime cast); on the H100 use `default` (bf16).
77
+
78
+ ## Base models (final, no quantized checkpoints)
79
+
80
+ Single base across all workflows, loaded split (not all-in-one checkpoint):
81
+ - `diffusion_models/flux1-dev.safetensors` — bf16, 23.8 GB, `UNETLoader` weight_dtype `default`
82
+ - `text_encoders/t5xxl_fp16.safetensors` + `text_encoders/clip_l.safetensors` (`DualCLIPLoader`)
83
+ - `vae/ae.safetensors`
84
+ Adapters riding on it (not base models): `style_models/flux1-redux-dev.safetensors`,
85
+ `clip_vision/sigclip_vision_patch14_384.safetensors`, `controlnet/…Union-Pro-2.0.safetensors`.
86
+ The existing mirror `checkpoints/flux1-dev-fp8.safetensors` is NOT used in these workflows.
87
+
88
+ Swappability: any FLUX.1-**dev**-family finetune unet drops into `UNETLoader` unchanged (Redux
89
+ edits conditioning only; the ControlNet is an external module — both trained against flux1-dev,
90
+ adherence degrades gracefully with finetune drift). Schnell-family models are NOT compatible
91
+ (different distillation; Redux/Union-Pro trained on dev). LoRAs stack freely via
92
+ `LoraLoaderModelOnly` between UNETLoader and sampler — orthogonal to both Redux and ControlNet
93
+ (community precedent: pulid + redux + style-lora + depth-CN workflows).
94
+
95
+ With ControlNet owning composition, Redux can run stronger than in Redux-only workflows.
96
+ Starting balance: Redux attn_bias 0.5–0.7, depth CN 0.6–0.8/end 0.8; optional stacked canny
97
+ low (0.25–0.4) for hard contour lock.
98
+
99
+ ## Workflows to implement
100
+
101
+ | # | File (proposed) | Graph | Notes |
102
+ |---|---|---|---|
103
+ | 1 | `flux-redux-style-composition.json` | Redux + Union-Pro-2.0 depth + optional prompt | **Priority.** Depth group active; bypassed canny group (native `Canny` node) usable instead of or stacked with depth |
104
+ | 2 | `flux-redux-fal-dev.json` | Official ComfyUI Redux example, fal `flux/dev/redux` defaults | bf16 flux1-dev via UNETLoader, t5 fp16, empty prompt, FluxGuidance 3.5, euler/simple/28, denoise 1.0, 768×1024, StyleModelApply strength 1.0 multiply. Doubles as the simple 1-image workflow; no safety checker (fal's black-image issue disappears). Seeds won't match fal's |
105
+ | 3 | `flux-redux-prompt.json` | Redux + text prompt, no ControlNet | Same graph as #2 but prompt filled and Redux restrained (attn_bias ~0.5) so the prompt has authority; fp8 checkpoint fine |
106
+ | 4 | `flux-redux-schnell.json` | Replicate `black-forest-labs/flux-redux-schnell` parity | bf16 flux1-schnell via UNETLoader (t5 fp16 + clip_l + ae shared), Redux strength 1.0 multiply, **no text prompt** (endpoint has none — redux_image replaces it), **no FluxGuidance** (schnell ignores guidance; none in endpoint schema), euler/simple/**4 steps**/denoise 1.0, 1024×1024 default (endpoint: aspect_ratio enum @ ~1MP, megapixels 1/0.25, num_outputs 1–4 → batch size). No conditioning LoRAs. Seeds won't match Replicate's. Schnell is Apache-2.0, HF repo NOT gated |
107
+ | 5 | (later, optional) `flux-redux-style-composition-bfl.json` | Redux + BFL depth LoRA via InstructPixToPixConditioning | A/B contender for max structural fidelity |
108
+
109
+ Also folded in: bypassed `LoraLoaderModelOnly` (`loras/flux1-turbo-alpha.safetensors`, already in
110
+ mirror) + low-step preset group in workflows #1–#3 as the fast-preview tier (better quality than
111
+ schnell at similar speed on dev).
112
+
113
+ ## Models to add to the `aleph65/ComfyUI` mirror
114
+
115
+ Already there: `checkpoints/flux1-dev-fp8.safetensors`, `clip_vision/sigclip_vision_patch14_384.safetensors`,
116
+ `text_encoders/t5xxl_fp16.safetensors` + `clip_l.safetensors`, `vae/ae.safetensors`.
117
+
118
+ Needed:
119
+
120
+ | File → mirror path | Size | Source |
121
+ |---|---|---|
122
+ | `style_models/flux1-redux-dev.safetensors` | 129 MB | `black-forest-labs/FLUX.1-Redux-dev` (**gated** — accept license, download with your HF token) |
123
+ | `controlnet/FLUX.1-dev-ControlNet-Union-Pro-2.0.safetensors` | 4.28 GB | `Shakker-Labs/FLUX.1-dev-ControlNet-Union-Pro-2.0/diffusion_pytorch_model.safetensors` (rename) |
124
+ | `diffusion_models/flux1-dev.safetensors` | 23.8 GB | `black-forest-labs/FLUX.1-dev` (**gated**) — bf16 base for #1–#3 |
125
+ | `diffusion_models/flux1-schnell.safetensors` (workflow #4) | 23.8 GB | `black-forest-labs/FLUX.1-schnell` (not gated, Apache-2.0) |
126
+ | (optional, #5) `loras/flux1-depth-dev-lora.safetensors` | 1.24 GB | `black-forest-labs/FLUX.1-Depth-dev-lora` (**gated**) |
127
+
128
+ `depth_anything_v2_vitl.pth` auto-downloads at first run into
129
+ `custom_nodes/comfyui_controlnet_aux/ckpts/` (not a `models/` path).
130
+
131
+ ## Custom nodes
132
+
133
+ - **`comfyui_controlnet_aux` (Fannovel16)** — `DepthAnythingV2Preprocessor`; still the standard,
134
+ no native depth estimator in core. Canny needs nothing (core node).
135
+ - **`ComfyUI_AdvancedRefluxControl` (kaibioinfo)** — optional, only if native attn_bias proves
136
+ insufficient for style-only isolation.
137
+ - Nothing else: Redux, StyleModelApply (with strength), ControlNetApplySD3, Canny are all core.
138
+ Workflow JSONs must carry `cnr_id`/`aux_id` in node properties for `download_missing_models.sh`.
139
+
140
+ ## Gotchas
141
+
142
+ - **Scaled-fp8 flux checkpoints produce black images with Redux** (ComfyUI #5849). Our mirror's
143
+ `flux1-dev-fp8.safetensors` is the plain e4m3fn Comfy-Org repack (used fine by the USO
144
+ workflow) — safe. If black outputs ever appear, that's the first suspect.
145
+ - Union-Pro-**2.0** must NOT get a `SetUnionControlNetType` node (that's v1-only; the old
146
+ `flux-union-pro-controlnet-instantx-shakker-labs.json` workflow used v1 + that node).
147
+ - `CLIPVisionEncode` crop: `center` (default) discards edges of non-square style refs; fine for
148
+ style, switch to `none` if edge content matters.
149
+ - fp8 vs bf16 base: fp8 = slight quality loss (official note), 2× faster load; H100 80GB runs
150
+ bf16 + t5 fp16 comfortably → bf16 for #2 (fal parity), fp8 acceptable for #1/#3 per house
151
+ convention (can flip to bf16 unet if A/B shows visible gain).
152
+ - Style-fidelity ranking (community, 2026): ByteDance **USO** (already have
153
+ `uso-style-transfer.json`) ≥ Redux+downsampling/attn_bias > XLabs IP-Adapter. Redux remains
154
+ the lightest and the easiest to combine with an independent ControlNet branch — the right
155
+ choice for this use case; USO is the fallback if Redux style fidelity disappoints.
156
+
157
+ ## Sources
158
+
159
+ - https://blog.comfy.org/p/day-1-support-for-flux-tools-in-comfyui
160
+ - https://comfyanonymous.github.io/ComfyUI_examples/flux/
161
+ - https://comfy.org/workflows/flux_redux_model_example-52dd3f09bb59/
162
+ - https://huggingface.co/Shakker-Labs/FLUX.1-dev-ControlNet-Union-Pro-2.0
163
+ - https://huggingface.co/black-forest-labs/FLUX.1-Redux-dev
164
+ - https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl
165
+ - https://github.com/comfyanonymous/ComfyUI/releases/tag/v0.3.8 (attn_bias)
166
+ - https://github.com/comfyanonymous/ComfyUI/issues/5849 (scaled-fp8 black images)
167
+ - https://openart.ai/workflows/odam_ai/flux---style-transfer-controlnet-flux-tools-redux---beginner-friendly/LWMhfWmaku6tdDWjkM8D
168
+ - https://civitai.com/models/1312599/flux-advanced-redux-with-controlnet-flux-tool
workflows/flux-redux-fal-dev.json ADDED
@@ -0,0 +1,980 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 20,
5
+ "last_link_id": 19,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1300,
12
+ -80
13
+ ],
14
+ "size": [
15
+ 540,
16
+ 460
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux \u2014 fal `flux/dev/redux` replica (v1 draft)\n\nOfficial ComfyUI Redux example graph with fal's exact defaults. One image in \u2192 variations out.\nNo safety checker (unlike fal). Doubles as the plain single-image Redux workflow.\n\n**Models** (HF `aleph65/ComfyUI`): `diffusion_models/flux1-dev.safetensors` (bf16, dtype\n`default`) \u00b7 `text_encoders/t5xxl_fp16.safetensors` + `clip_l.safetensors` \u00b7 `vae/ae.safetensors`\n\u00b7 `style_models/flux1-redux-dev.safetensors` \u00b7 `clip_vision/sigclip_vision_patch14_384.safetensors`\n\n**fal parity settings** \u2014 prompt empty (fal dev endpoint passes none), FluxGuidance 3.5\n(= guidance_scale), euler / simple / 28 steps / denoise 1.0, 768x1024 (= portrait_4_3),\nApply Style Model strength 1.0 / multiply. Seeds do NOT transfer from fal.\n\n**Extras fal doesn't expose**: type a prompt; lower strength (or switch to `attn_bias`) to let\nthe prompt steer; chain a second Apply Style Model to blend two references.\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 8
53
+ ],
54
+ "slot_index": 0
55
+ }
56
+ ],
57
+ "properties": {
58
+ "Node name for S&R": "UNETLoader",
59
+ "cnr_id": "comfy-core",
60
+ "ver": "0.27.0"
61
+ },
62
+ "widgets_values": [
63
+ "flux1-dev.safetensors",
64
+ "default"
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "DualCLIPLoader",
70
+ "pos": [
71
+ -720,
72
+ 60
73
+ ],
74
+ "size": [
75
+ 340,
76
+ 130
77
+ ],
78
+ "flags": {},
79
+ "order": 2,
80
+ "mode": 0,
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "CLIP",
85
+ "type": "CLIP",
86
+ "links": [
87
+ 3
88
+ ],
89
+ "slot_index": 0
90
+ }
91
+ ],
92
+ "properties": {
93
+ "Node name for S&R": "DualCLIPLoader",
94
+ "cnr_id": "comfy-core",
95
+ "ver": "0.27.0"
96
+ },
97
+ "widgets_values": [
98
+ "t5xxl_fp16.safetensors",
99
+ "clip_l.safetensors",
100
+ "flux",
101
+ "default"
102
+ ]
103
+ },
104
+ {
105
+ "id": 4,
106
+ "type": "VAELoader",
107
+ "pos": [
108
+ -720,
109
+ 250
110
+ ],
111
+ "size": [
112
+ 340,
113
+ 58
114
+ ],
115
+ "flags": {},
116
+ "order": 3,
117
+ "mode": 0,
118
+ "inputs": [],
119
+ "outputs": [
120
+ {
121
+ "name": "VAE",
122
+ "type": "VAE",
123
+ "links": [
124
+ 18
125
+ ],
126
+ "slot_index": 0
127
+ }
128
+ ],
129
+ "properties": {
130
+ "Node name for S&R": "VAELoader",
131
+ "cnr_id": "comfy-core",
132
+ "ver": "0.27.0"
133
+ },
134
+ "widgets_values": [
135
+ "ae.safetensors"
136
+ ]
137
+ },
138
+ {
139
+ "id": 5,
140
+ "type": "LoadImage",
141
+ "pos": [
142
+ -720,
143
+ 420
144
+ ],
145
+ "size": [
146
+ 274,
147
+ 314
148
+ ],
149
+ "flags": {},
150
+ "order": 4,
151
+ "mode": 0,
152
+ "inputs": [],
153
+ "outputs": [
154
+ {
155
+ "name": "IMAGE",
156
+ "type": "IMAGE",
157
+ "links": [
158
+ 2
159
+ ],
160
+ "slot_index": 0
161
+ },
162
+ {
163
+ "name": "MASK",
164
+ "type": "MASK",
165
+ "links": [],
166
+ "slot_index": 1
167
+ }
168
+ ],
169
+ "properties": {
170
+ "Node name for S&R": "LoadImage",
171
+ "cnr_id": "comfy-core",
172
+ "ver": "0.27.0"
173
+ },
174
+ "title": "Style reference (Image A)",
175
+ "widgets_values": [
176
+ "style_ref.png",
177
+ "image"
178
+ ]
179
+ },
180
+ {
181
+ "id": 6,
182
+ "type": "CLIPVisionLoader",
183
+ "pos": [
184
+ -720,
185
+ 780
186
+ ],
187
+ "size": [
188
+ 340,
189
+ 58
190
+ ],
191
+ "flags": {},
192
+ "order": 5,
193
+ "mode": 0,
194
+ "inputs": [],
195
+ "outputs": [
196
+ {
197
+ "name": "CLIP_VISION",
198
+ "type": "CLIP_VISION",
199
+ "links": [
200
+ 1
201
+ ],
202
+ "slot_index": 0
203
+ }
204
+ ],
205
+ "properties": {
206
+ "Node name for S&R": "CLIPVisionLoader",
207
+ "cnr_id": "comfy-core",
208
+ "ver": "0.27.0"
209
+ },
210
+ "widgets_values": [
211
+ "sigclip_vision_patch14_384.safetensors"
212
+ ]
213
+ },
214
+ {
215
+ "id": 7,
216
+ "type": "CLIPVisionEncode",
217
+ "pos": [
218
+ -340,
219
+ 480
220
+ ],
221
+ "size": [
222
+ 290,
223
+ 78
224
+ ],
225
+ "flags": {},
226
+ "order": 6,
227
+ "mode": 0,
228
+ "inputs": [
229
+ {
230
+ "name": "clip_vision",
231
+ "type": "CLIP_VISION",
232
+ "link": 1
233
+ },
234
+ {
235
+ "name": "image",
236
+ "type": "IMAGE",
237
+ "link": 2
238
+ }
239
+ ],
240
+ "outputs": [
241
+ {
242
+ "name": "CLIP_VISION_OUTPUT",
243
+ "type": "CLIP_VISION_OUTPUT",
244
+ "links": [
245
+ 7
246
+ ],
247
+ "slot_index": 0
248
+ }
249
+ ],
250
+ "properties": {
251
+ "Node name for S&R": "CLIPVisionEncode",
252
+ "cnr_id": "comfy-core",
253
+ "ver": "0.27.0"
254
+ },
255
+ "widgets_values": [
256
+ "center"
257
+ ]
258
+ },
259
+ {
260
+ "id": 8,
261
+ "type": "StyleModelLoader",
262
+ "pos": [
263
+ -720,
264
+ 870
265
+ ],
266
+ "size": [
267
+ 340,
268
+ 58
269
+ ],
270
+ "flags": {},
271
+ "order": 7,
272
+ "mode": 0,
273
+ "inputs": [],
274
+ "outputs": [
275
+ {
276
+ "name": "STYLE_MODEL",
277
+ "type": "STYLE_MODEL",
278
+ "links": [
279
+ 6
280
+ ],
281
+ "slot_index": 0
282
+ }
283
+ ],
284
+ "properties": {
285
+ "Node name for S&R": "StyleModelLoader",
286
+ "cnr_id": "comfy-core",
287
+ "ver": "0.27.0"
288
+ },
289
+ "widgets_values": [
290
+ "flux1-redux-dev.safetensors"
291
+ ]
292
+ },
293
+ {
294
+ "id": 9,
295
+ "type": "CLIPTextEncode",
296
+ "pos": [
297
+ -300,
298
+ 60
299
+ ],
300
+ "size": [
301
+ 400,
302
+ 160
303
+ ],
304
+ "flags": {},
305
+ "order": 8,
306
+ "mode": 0,
307
+ "inputs": [
308
+ {
309
+ "name": "clip",
310
+ "type": "CLIP",
311
+ "link": 3
312
+ }
313
+ ],
314
+ "outputs": [
315
+ {
316
+ "name": "CONDITIONING",
317
+ "type": "CONDITIONING",
318
+ "links": [
319
+ 4
320
+ ],
321
+ "slot_index": 0
322
+ }
323
+ ],
324
+ "properties": {
325
+ "Node name for S&R": "CLIPTextEncode",
326
+ "cnr_id": "comfy-core",
327
+ "ver": "0.27.0"
328
+ },
329
+ "title": "Prompt (empty = fal parity)",
330
+ "widgets_values": [
331
+ ""
332
+ ]
333
+ },
334
+ {
335
+ "id": 10,
336
+ "type": "FluxGuidance",
337
+ "pos": [
338
+ 140,
339
+ 60
340
+ ],
341
+ "size": [
342
+ 290,
343
+ 58
344
+ ],
345
+ "flags": {},
346
+ "order": 9,
347
+ "mode": 0,
348
+ "inputs": [
349
+ {
350
+ "name": "conditioning",
351
+ "type": "CONDITIONING",
352
+ "link": 4
353
+ }
354
+ ],
355
+ "outputs": [
356
+ {
357
+ "name": "CONDITIONING",
358
+ "type": "CONDITIONING",
359
+ "links": [
360
+ 5
361
+ ],
362
+ "slot_index": 0
363
+ }
364
+ ],
365
+ "properties": {
366
+ "Node name for S&R": "FluxGuidance",
367
+ "cnr_id": "comfy-core",
368
+ "ver": "0.27.0"
369
+ },
370
+ "widgets_values": [
371
+ 3.5
372
+ ]
373
+ },
374
+ {
375
+ "id": 11,
376
+ "type": "StyleModelApply",
377
+ "pos": [
378
+ 140,
379
+ 200
380
+ ],
381
+ "size": [
382
+ 320,
383
+ 102
384
+ ],
385
+ "flags": {},
386
+ "order": 10,
387
+ "mode": 0,
388
+ "inputs": [
389
+ {
390
+ "name": "conditioning",
391
+ "type": "CONDITIONING",
392
+ "link": 5
393
+ },
394
+ {
395
+ "name": "style_model",
396
+ "type": "STYLE_MODEL",
397
+ "link": 6
398
+ },
399
+ {
400
+ "name": "clip_vision_output",
401
+ "type": "CLIP_VISION_OUTPUT",
402
+ "link": 7
403
+ }
404
+ ],
405
+ "outputs": [
406
+ {
407
+ "name": "CONDITIONING",
408
+ "type": "CONDITIONING",
409
+ "links": [
410
+ 10
411
+ ],
412
+ "slot_index": 0
413
+ }
414
+ ],
415
+ "properties": {
416
+ "Node name for S&R": "StyleModelApply",
417
+ "cnr_id": "comfy-core",
418
+ "ver": "0.27.0"
419
+ },
420
+ "widgets_values": [
421
+ 1.0,
422
+ "multiply"
423
+ ]
424
+ },
425
+ {
426
+ "id": 12,
427
+ "type": "ModelSamplingFlux",
428
+ "pos": [
429
+ 140,
430
+ -160
431
+ ],
432
+ "size": [
433
+ 300,
434
+ 130
435
+ ],
436
+ "flags": {},
437
+ "order": 11,
438
+ "mode": 0,
439
+ "inputs": [
440
+ {
441
+ "name": "model",
442
+ "type": "MODEL",
443
+ "link": 8
444
+ }
445
+ ],
446
+ "outputs": [
447
+ {
448
+ "name": "MODEL",
449
+ "type": "MODEL",
450
+ "links": [
451
+ 9,
452
+ 11
453
+ ],
454
+ "slot_index": 0
455
+ }
456
+ ],
457
+ "properties": {
458
+ "Node name for S&R": "ModelSamplingFlux",
459
+ "cnr_id": "comfy-core",
460
+ "ver": "0.27.0"
461
+ },
462
+ "widgets_values": [
463
+ 1.15,
464
+ 0.5,
465
+ 768,
466
+ 1024
467
+ ]
468
+ },
469
+ {
470
+ "id": 13,
471
+ "type": "RandomNoise",
472
+ "pos": [
473
+ 560,
474
+ -160
475
+ ],
476
+ "size": [
477
+ 290,
478
+ 82
479
+ ],
480
+ "flags": {},
481
+ "order": 12,
482
+ "mode": 0,
483
+ "inputs": [],
484
+ "outputs": [
485
+ {
486
+ "name": "NOISE",
487
+ "type": "NOISE",
488
+ "links": [
489
+ 12
490
+ ],
491
+ "slot_index": 0
492
+ }
493
+ ],
494
+ "properties": {
495
+ "Node name for S&R": "RandomNoise",
496
+ "cnr_id": "comfy-core",
497
+ "ver": "0.27.0"
498
+ },
499
+ "widgets_values": [
500
+ 0,
501
+ "randomize"
502
+ ]
503
+ },
504
+ {
505
+ "id": 14,
506
+ "type": "BasicGuider",
507
+ "pos": [
508
+ 560,
509
+ 20
510
+ ],
511
+ "size": [
512
+ 240,
513
+ 66
514
+ ],
515
+ "flags": {},
516
+ "order": 13,
517
+ "mode": 0,
518
+ "inputs": [
519
+ {
520
+ "name": "model",
521
+ "type": "MODEL",
522
+ "link": 9
523
+ },
524
+ {
525
+ "name": "conditioning",
526
+ "type": "CONDITIONING",
527
+ "link": 10
528
+ }
529
+ ],
530
+ "outputs": [
531
+ {
532
+ "name": "GUIDER",
533
+ "type": "GUIDER",
534
+ "links": [
535
+ 13
536
+ ],
537
+ "slot_index": 0
538
+ }
539
+ ],
540
+ "properties": {
541
+ "Node name for S&R": "BasicGuider",
542
+ "cnr_id": "comfy-core",
543
+ "ver": "0.27.0"
544
+ }
545
+ },
546
+ {
547
+ "id": 15,
548
+ "type": "KSamplerSelect",
549
+ "pos": [
550
+ 560,
551
+ 140
552
+ ],
553
+ "size": [
554
+ 290,
555
+ 58
556
+ ],
557
+ "flags": {},
558
+ "order": 14,
559
+ "mode": 0,
560
+ "inputs": [],
561
+ "outputs": [
562
+ {
563
+ "name": "SAMPLER",
564
+ "type": "SAMPLER",
565
+ "links": [
566
+ 14
567
+ ],
568
+ "slot_index": 0
569
+ }
570
+ ],
571
+ "properties": {
572
+ "Node name for S&R": "KSamplerSelect",
573
+ "cnr_id": "comfy-core",
574
+ "ver": "0.27.0"
575
+ },
576
+ "widgets_values": [
577
+ "euler"
578
+ ]
579
+ },
580
+ {
581
+ "id": 16,
582
+ "type": "BasicScheduler",
583
+ "pos": [
584
+ 560,
585
+ 250
586
+ ],
587
+ "size": [
588
+ 290,
589
+ 106
590
+ ],
591
+ "flags": {},
592
+ "order": 15,
593
+ "mode": 0,
594
+ "inputs": [
595
+ {
596
+ "name": "model",
597
+ "type": "MODEL",
598
+ "link": 11
599
+ }
600
+ ],
601
+ "outputs": [
602
+ {
603
+ "name": "SIGMAS",
604
+ "type": "SIGMAS",
605
+ "links": [
606
+ 15
607
+ ],
608
+ "slot_index": 0
609
+ }
610
+ ],
611
+ "properties": {
612
+ "Node name for S&R": "BasicScheduler",
613
+ "cnr_id": "comfy-core",
614
+ "ver": "0.27.0"
615
+ },
616
+ "widgets_values": [
617
+ "simple",
618
+ 28,
619
+ 1.0
620
+ ]
621
+ },
622
+ {
623
+ "id": 17,
624
+ "type": "EmptySD3LatentImage",
625
+ "pos": [
626
+ 560,
627
+ 420
628
+ ],
629
+ "size": [
630
+ 290,
631
+ 106
632
+ ],
633
+ "flags": {},
634
+ "order": 16,
635
+ "mode": 0,
636
+ "inputs": [],
637
+ "outputs": [
638
+ {
639
+ "name": "LATENT",
640
+ "type": "LATENT",
641
+ "links": [
642
+ 16
643
+ ],
644
+ "slot_index": 0
645
+ }
646
+ ],
647
+ "properties": {
648
+ "Node name for S&R": "EmptySD3LatentImage",
649
+ "cnr_id": "comfy-core",
650
+ "ver": "0.27.0"
651
+ },
652
+ "widgets_values": [
653
+ 768,
654
+ 1024,
655
+ 1
656
+ ]
657
+ },
658
+ {
659
+ "id": 18,
660
+ "type": "SamplerCustomAdvanced",
661
+ "pos": [
662
+ 980,
663
+ 60
664
+ ],
665
+ "size": [
666
+ 270,
667
+ 126
668
+ ],
669
+ "flags": {},
670
+ "order": 17,
671
+ "mode": 0,
672
+ "inputs": [
673
+ {
674
+ "name": "noise",
675
+ "type": "NOISE",
676
+ "link": 12
677
+ },
678
+ {
679
+ "name": "guider",
680
+ "type": "GUIDER",
681
+ "link": 13
682
+ },
683
+ {
684
+ "name": "sampler",
685
+ "type": "SAMPLER",
686
+ "link": 14
687
+ },
688
+ {
689
+ "name": "sigmas",
690
+ "type": "SIGMAS",
691
+ "link": 15
692
+ },
693
+ {
694
+ "name": "latent_image",
695
+ "type": "LATENT",
696
+ "link": 16
697
+ }
698
+ ],
699
+ "outputs": [
700
+ {
701
+ "name": "output",
702
+ "type": "LATENT",
703
+ "links": [
704
+ 17
705
+ ],
706
+ "slot_index": 0
707
+ },
708
+ {
709
+ "name": "denoised_output",
710
+ "type": "LATENT",
711
+ "links": [],
712
+ "slot_index": 1
713
+ }
714
+ ],
715
+ "properties": {
716
+ "Node name for S&R": "SamplerCustomAdvanced",
717
+ "cnr_id": "comfy-core",
718
+ "ver": "0.27.0"
719
+ }
720
+ },
721
+ {
722
+ "id": 19,
723
+ "type": "VAEDecode",
724
+ "pos": [
725
+ 1240,
726
+ 60
727
+ ],
728
+ "size": [
729
+ 210,
730
+ 66
731
+ ],
732
+ "flags": {},
733
+ "order": 18,
734
+ "mode": 0,
735
+ "inputs": [
736
+ {
737
+ "name": "samples",
738
+ "type": "LATENT",
739
+ "link": 17
740
+ },
741
+ {
742
+ "name": "vae",
743
+ "type": "VAE",
744
+ "link": 18
745
+ }
746
+ ],
747
+ "outputs": [
748
+ {
749
+ "name": "IMAGE",
750
+ "type": "IMAGE",
751
+ "links": [
752
+ 19
753
+ ],
754
+ "slot_index": 0
755
+ }
756
+ ],
757
+ "properties": {
758
+ "Node name for S&R": "VAEDecode",
759
+ "cnr_id": "comfy-core",
760
+ "ver": "0.27.0"
761
+ }
762
+ },
763
+ {
764
+ "id": 20,
765
+ "type": "SaveImage",
766
+ "pos": [
767
+ 1240,
768
+ 180
769
+ ],
770
+ "size": [
771
+ 400,
772
+ 400
773
+ ],
774
+ "flags": {},
775
+ "order": 19,
776
+ "mode": 0,
777
+ "inputs": [
778
+ {
779
+ "name": "images",
780
+ "type": "IMAGE",
781
+ "link": 19
782
+ }
783
+ ],
784
+ "outputs": [],
785
+ "properties": {
786
+ "Node name for S&R": "SaveImage",
787
+ "cnr_id": "comfy-core",
788
+ "ver": "0.27.0"
789
+ },
790
+ "widgets_values": [
791
+ "flux-redux/fal-dev"
792
+ ]
793
+ }
794
+ ],
795
+ "links": [
796
+ [
797
+ 1,
798
+ 6,
799
+ 0,
800
+ 7,
801
+ 0,
802
+ "CLIP_VISION"
803
+ ],
804
+ [
805
+ 2,
806
+ 5,
807
+ 0,
808
+ 7,
809
+ 1,
810
+ "IMAGE"
811
+ ],
812
+ [
813
+ 3,
814
+ 3,
815
+ 0,
816
+ 9,
817
+ 0,
818
+ "CLIP"
819
+ ],
820
+ [
821
+ 4,
822
+ 9,
823
+ 0,
824
+ 10,
825
+ 0,
826
+ "CONDITIONING"
827
+ ],
828
+ [
829
+ 5,
830
+ 10,
831
+ 0,
832
+ 11,
833
+ 0,
834
+ "CONDITIONING"
835
+ ],
836
+ [
837
+ 6,
838
+ 8,
839
+ 0,
840
+ 11,
841
+ 1,
842
+ "STYLE_MODEL"
843
+ ],
844
+ [
845
+ 7,
846
+ 7,
847
+ 0,
848
+ 11,
849
+ 2,
850
+ "CLIP_VISION_OUTPUT"
851
+ ],
852
+ [
853
+ 8,
854
+ 2,
855
+ 0,
856
+ 12,
857
+ 0,
858
+ "MODEL"
859
+ ],
860
+ [
861
+ 9,
862
+ 12,
863
+ 0,
864
+ 14,
865
+ 0,
866
+ "MODEL"
867
+ ],
868
+ [
869
+ 10,
870
+ 11,
871
+ 0,
872
+ 14,
873
+ 1,
874
+ "CONDITIONING"
875
+ ],
876
+ [
877
+ 11,
878
+ 12,
879
+ 0,
880
+ 16,
881
+ 0,
882
+ "MODEL"
883
+ ],
884
+ [
885
+ 12,
886
+ 13,
887
+ 0,
888
+ 18,
889
+ 0,
890
+ "NOISE"
891
+ ],
892
+ [
893
+ 13,
894
+ 14,
895
+ 0,
896
+ 18,
897
+ 1,
898
+ "GUIDER"
899
+ ],
900
+ [
901
+ 14,
902
+ 15,
903
+ 0,
904
+ 18,
905
+ 2,
906
+ "SAMPLER"
907
+ ],
908
+ [
909
+ 15,
910
+ 16,
911
+ 0,
912
+ 18,
913
+ 3,
914
+ "SIGMAS"
915
+ ],
916
+ [
917
+ 16,
918
+ 17,
919
+ 0,
920
+ 18,
921
+ 4,
922
+ "LATENT"
923
+ ],
924
+ [
925
+ 17,
926
+ 18,
927
+ 0,
928
+ 19,
929
+ 0,
930
+ "LATENT"
931
+ ],
932
+ [
933
+ 18,
934
+ 4,
935
+ 0,
936
+ 19,
937
+ 1,
938
+ "VAE"
939
+ ],
940
+ [
941
+ 19,
942
+ 19,
943
+ 0,
944
+ 20,
945
+ 0,
946
+ "IMAGE"
947
+ ]
948
+ ],
949
+ "groups": [
950
+ {
951
+ "id": 1,
952
+ "title": "STYLE REFERENCE \u2014 Redux",
953
+ "bounding": [
954
+ -740,
955
+ 340,
956
+ 940,
957
+ 700
958
+ ],
959
+ "color": "#3f789e",
960
+ "font_size": 24,
961
+ "flags": {}
962
+ },
963
+ {
964
+ "id": 2,
965
+ "title": "SAMPLING (fal defaults)",
966
+ "bounding": [
967
+ 540,
968
+ -220,
969
+ 1100,
970
+ 760
971
+ ],
972
+ "color": "#444",
973
+ "font_size": 24,
974
+ "flags": {}
975
+ }
976
+ ],
977
+ "config": {},
978
+ "extra": {},
979
+ "version": 0.4
980
+ }
workflows/flux-redux-prompt.json ADDED
@@ -0,0 +1,1030 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 21,
5
+ "last_link_id": 20,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1300,
12
+ -80
13
+ ],
14
+ "size": [
15
+ 540,
16
+ 420
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux + text prompt (v1 draft)\n\nOne style image + a text prompt that keeps authority. Same graph as the fal replica, but Redux\nis restrained with **attn_bias 0.5** so the prompt actually steers content \u2014 at 1.0/multiply\nRedux drowns the prompt (that's the known Redux failure mode).\n\n**Models**: same as `flux-redux-fal-dev.json`. Optional fast preview: enable the bypassed\nturbo LoRA group (`loras/flux1-turbo-alpha.safetensors`) and set steps 28 \u2192 8.\n\n**Knobs**: strength 0.3\u20130.7 attn_bias (higher = more style, more subject leakage from the\nreference); FluxGuidance 3.5; euler / simple / 28 steps; 1024x1024 (any flux-legal size).\nIf the reference's composition/subjects still leak: lower strength, or install\n`ComfyUI_AdvancedRefluxControl` and swap in ReduxAdvanced (downsampling 3) \u2014 see the\nstyle-composition workflow for the wiring.\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 8
53
+ ],
54
+ "slot_index": 0
55
+ }
56
+ ],
57
+ "properties": {
58
+ "Node name for S&R": "UNETLoader",
59
+ "cnr_id": "comfy-core",
60
+ "ver": "0.27.0"
61
+ },
62
+ "widgets_values": [
63
+ "flux1-dev.safetensors",
64
+ "default"
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "DualCLIPLoader",
70
+ "pos": [
71
+ -720,
72
+ 60
73
+ ],
74
+ "size": [
75
+ 340,
76
+ 130
77
+ ],
78
+ "flags": {},
79
+ "order": 2,
80
+ "mode": 0,
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "CLIP",
85
+ "type": "CLIP",
86
+ "links": [
87
+ 3
88
+ ],
89
+ "slot_index": 0
90
+ }
91
+ ],
92
+ "properties": {
93
+ "Node name for S&R": "DualCLIPLoader",
94
+ "cnr_id": "comfy-core",
95
+ "ver": "0.27.0"
96
+ },
97
+ "widgets_values": [
98
+ "t5xxl_fp16.safetensors",
99
+ "clip_l.safetensors",
100
+ "flux",
101
+ "default"
102
+ ]
103
+ },
104
+ {
105
+ "id": 4,
106
+ "type": "VAELoader",
107
+ "pos": [
108
+ -720,
109
+ 250
110
+ ],
111
+ "size": [
112
+ 340,
113
+ 58
114
+ ],
115
+ "flags": {},
116
+ "order": 3,
117
+ "mode": 0,
118
+ "inputs": [],
119
+ "outputs": [
120
+ {
121
+ "name": "VAE",
122
+ "type": "VAE",
123
+ "links": [
124
+ 19
125
+ ],
126
+ "slot_index": 0
127
+ }
128
+ ],
129
+ "properties": {
130
+ "Node name for S&R": "VAELoader",
131
+ "cnr_id": "comfy-core",
132
+ "ver": "0.27.0"
133
+ },
134
+ "widgets_values": [
135
+ "ae.safetensors"
136
+ ]
137
+ },
138
+ {
139
+ "id": 5,
140
+ "type": "LoadImage",
141
+ "pos": [
142
+ -720,
143
+ 420
144
+ ],
145
+ "size": [
146
+ 274,
147
+ 314
148
+ ],
149
+ "flags": {},
150
+ "order": 4,
151
+ "mode": 0,
152
+ "inputs": [],
153
+ "outputs": [
154
+ {
155
+ "name": "IMAGE",
156
+ "type": "IMAGE",
157
+ "links": [
158
+ 2
159
+ ],
160
+ "slot_index": 0
161
+ },
162
+ {
163
+ "name": "MASK",
164
+ "type": "MASK",
165
+ "links": [],
166
+ "slot_index": 1
167
+ }
168
+ ],
169
+ "properties": {
170
+ "Node name for S&R": "LoadImage",
171
+ "cnr_id": "comfy-core",
172
+ "ver": "0.27.0"
173
+ },
174
+ "title": "Style reference (Image A)",
175
+ "widgets_values": [
176
+ "style_ref.png",
177
+ "image"
178
+ ]
179
+ },
180
+ {
181
+ "id": 6,
182
+ "type": "CLIPVisionLoader",
183
+ "pos": [
184
+ -720,
185
+ 780
186
+ ],
187
+ "size": [
188
+ 340,
189
+ 58
190
+ ],
191
+ "flags": {},
192
+ "order": 5,
193
+ "mode": 0,
194
+ "inputs": [],
195
+ "outputs": [
196
+ {
197
+ "name": "CLIP_VISION",
198
+ "type": "CLIP_VISION",
199
+ "links": [
200
+ 1
201
+ ],
202
+ "slot_index": 0
203
+ }
204
+ ],
205
+ "properties": {
206
+ "Node name for S&R": "CLIPVisionLoader",
207
+ "cnr_id": "comfy-core",
208
+ "ver": "0.27.0"
209
+ },
210
+ "widgets_values": [
211
+ "sigclip_vision_patch14_384.safetensors"
212
+ ]
213
+ },
214
+ {
215
+ "id": 7,
216
+ "type": "CLIPVisionEncode",
217
+ "pos": [
218
+ -340,
219
+ 480
220
+ ],
221
+ "size": [
222
+ 290,
223
+ 78
224
+ ],
225
+ "flags": {},
226
+ "order": 6,
227
+ "mode": 0,
228
+ "inputs": [
229
+ {
230
+ "name": "clip_vision",
231
+ "type": "CLIP_VISION",
232
+ "link": 1
233
+ },
234
+ {
235
+ "name": "image",
236
+ "type": "IMAGE",
237
+ "link": 2
238
+ }
239
+ ],
240
+ "outputs": [
241
+ {
242
+ "name": "CLIP_VISION_OUTPUT",
243
+ "type": "CLIP_VISION_OUTPUT",
244
+ "links": [
245
+ 7
246
+ ],
247
+ "slot_index": 0
248
+ }
249
+ ],
250
+ "properties": {
251
+ "Node name for S&R": "CLIPVisionEncode",
252
+ "cnr_id": "comfy-core",
253
+ "ver": "0.27.0"
254
+ },
255
+ "widgets_values": [
256
+ "center"
257
+ ]
258
+ },
259
+ {
260
+ "id": 8,
261
+ "type": "StyleModelLoader",
262
+ "pos": [
263
+ -720,
264
+ 870
265
+ ],
266
+ "size": [
267
+ 340,
268
+ 58
269
+ ],
270
+ "flags": {},
271
+ "order": 7,
272
+ "mode": 0,
273
+ "inputs": [],
274
+ "outputs": [
275
+ {
276
+ "name": "STYLE_MODEL",
277
+ "type": "STYLE_MODEL",
278
+ "links": [
279
+ 6
280
+ ],
281
+ "slot_index": 0
282
+ }
283
+ ],
284
+ "properties": {
285
+ "Node name for S&R": "StyleModelLoader",
286
+ "cnr_id": "comfy-core",
287
+ "ver": "0.27.0"
288
+ },
289
+ "widgets_values": [
290
+ "flux1-redux-dev.safetensors"
291
+ ]
292
+ },
293
+ {
294
+ "id": 9,
295
+ "type": "CLIPTextEncode",
296
+ "pos": [
297
+ -300,
298
+ 60
299
+ ],
300
+ "size": [
301
+ 400,
302
+ 160
303
+ ],
304
+ "flags": {},
305
+ "order": 8,
306
+ "mode": 0,
307
+ "inputs": [
308
+ {
309
+ "name": "clip",
310
+ "type": "CLIP",
311
+ "link": 3
312
+ }
313
+ ],
314
+ "outputs": [
315
+ {
316
+ "name": "CONDITIONING",
317
+ "type": "CONDITIONING",
318
+ "links": [
319
+ 4
320
+ ],
321
+ "slot_index": 0
322
+ }
323
+ ],
324
+ "properties": {
325
+ "Node name for S&R": "CLIPTextEncode",
326
+ "cnr_id": "comfy-core",
327
+ "ver": "0.27.0"
328
+ },
329
+ "title": "Prompt",
330
+ "widgets_values": [
331
+ "describe the scene you want, in the reference's style"
332
+ ]
333
+ },
334
+ {
335
+ "id": 10,
336
+ "type": "FluxGuidance",
337
+ "pos": [
338
+ 140,
339
+ 60
340
+ ],
341
+ "size": [
342
+ 290,
343
+ 58
344
+ ],
345
+ "flags": {},
346
+ "order": 9,
347
+ "mode": 0,
348
+ "inputs": [
349
+ {
350
+ "name": "conditioning",
351
+ "type": "CONDITIONING",
352
+ "link": 4
353
+ }
354
+ ],
355
+ "outputs": [
356
+ {
357
+ "name": "CONDITIONING",
358
+ "type": "CONDITIONING",
359
+ "links": [
360
+ 5
361
+ ],
362
+ "slot_index": 0
363
+ }
364
+ ],
365
+ "properties": {
366
+ "Node name for S&R": "FluxGuidance",
367
+ "cnr_id": "comfy-core",
368
+ "ver": "0.27.0"
369
+ },
370
+ "widgets_values": [
371
+ 3.5
372
+ ]
373
+ },
374
+ {
375
+ "id": 11,
376
+ "type": "StyleModelApply",
377
+ "pos": [
378
+ 140,
379
+ 200
380
+ ],
381
+ "size": [
382
+ 320,
383
+ 102
384
+ ],
385
+ "flags": {},
386
+ "order": 10,
387
+ "mode": 0,
388
+ "inputs": [
389
+ {
390
+ "name": "conditioning",
391
+ "type": "CONDITIONING",
392
+ "link": 5
393
+ },
394
+ {
395
+ "name": "style_model",
396
+ "type": "STYLE_MODEL",
397
+ "link": 6
398
+ },
399
+ {
400
+ "name": "clip_vision_output",
401
+ "type": "CLIP_VISION_OUTPUT",
402
+ "link": 7
403
+ }
404
+ ],
405
+ "outputs": [
406
+ {
407
+ "name": "CONDITIONING",
408
+ "type": "CONDITIONING",
409
+ "links": [
410
+ 11
411
+ ],
412
+ "slot_index": 0
413
+ }
414
+ ],
415
+ "properties": {
416
+ "Node name for S&R": "StyleModelApply",
417
+ "cnr_id": "comfy-core",
418
+ "ver": "0.27.0"
419
+ },
420
+ "widgets_values": [
421
+ 0.5,
422
+ "attn_bias"
423
+ ]
424
+ },
425
+ {
426
+ "id": 12,
427
+ "type": "LoraLoaderModelOnly",
428
+ "pos": [
429
+ -300,
430
+ -160
431
+ ],
432
+ "size": [
433
+ 340,
434
+ 82
435
+ ],
436
+ "flags": {},
437
+ "order": 11,
438
+ "mode": 4,
439
+ "inputs": [
440
+ {
441
+ "name": "model",
442
+ "type": "MODEL",
443
+ "link": 8
444
+ }
445
+ ],
446
+ "outputs": [
447
+ {
448
+ "name": "MODEL",
449
+ "type": "MODEL",
450
+ "links": [
451
+ 9
452
+ ],
453
+ "slot_index": 0
454
+ }
455
+ ],
456
+ "properties": {
457
+ "Node name for S&R": "LoraLoaderModelOnly",
458
+ "cnr_id": "comfy-core",
459
+ "ver": "0.27.0"
460
+ },
461
+ "title": "FAST PREVIEW: turbo LoRA (set steps 8)",
462
+ "widgets_values": [
463
+ "flux1-turbo-alpha.safetensors",
464
+ 1.0
465
+ ]
466
+ },
467
+ {
468
+ "id": 13,
469
+ "type": "ModelSamplingFlux",
470
+ "pos": [
471
+ 140,
472
+ -160
473
+ ],
474
+ "size": [
475
+ 300,
476
+ 130
477
+ ],
478
+ "flags": {},
479
+ "order": 12,
480
+ "mode": 0,
481
+ "inputs": [
482
+ {
483
+ "name": "model",
484
+ "type": "MODEL",
485
+ "link": 9
486
+ }
487
+ ],
488
+ "outputs": [
489
+ {
490
+ "name": "MODEL",
491
+ "type": "MODEL",
492
+ "links": [
493
+ 10,
494
+ 12
495
+ ],
496
+ "slot_index": 0
497
+ }
498
+ ],
499
+ "properties": {
500
+ "Node name for S&R": "ModelSamplingFlux",
501
+ "cnr_id": "comfy-core",
502
+ "ver": "0.27.0"
503
+ },
504
+ "widgets_values": [
505
+ 1.15,
506
+ 0.5,
507
+ 1024,
508
+ 1024
509
+ ]
510
+ },
511
+ {
512
+ "id": 14,
513
+ "type": "RandomNoise",
514
+ "pos": [
515
+ 560,
516
+ -160
517
+ ],
518
+ "size": [
519
+ 290,
520
+ 82
521
+ ],
522
+ "flags": {},
523
+ "order": 13,
524
+ "mode": 0,
525
+ "inputs": [],
526
+ "outputs": [
527
+ {
528
+ "name": "NOISE",
529
+ "type": "NOISE",
530
+ "links": [
531
+ 13
532
+ ],
533
+ "slot_index": 0
534
+ }
535
+ ],
536
+ "properties": {
537
+ "Node name for S&R": "RandomNoise",
538
+ "cnr_id": "comfy-core",
539
+ "ver": "0.27.0"
540
+ },
541
+ "widgets_values": [
542
+ 0,
543
+ "randomize"
544
+ ]
545
+ },
546
+ {
547
+ "id": 15,
548
+ "type": "BasicGuider",
549
+ "pos": [
550
+ 560,
551
+ 20
552
+ ],
553
+ "size": [
554
+ 240,
555
+ 66
556
+ ],
557
+ "flags": {},
558
+ "order": 14,
559
+ "mode": 0,
560
+ "inputs": [
561
+ {
562
+ "name": "model",
563
+ "type": "MODEL",
564
+ "link": 10
565
+ },
566
+ {
567
+ "name": "conditioning",
568
+ "type": "CONDITIONING",
569
+ "link": 11
570
+ }
571
+ ],
572
+ "outputs": [
573
+ {
574
+ "name": "GUIDER",
575
+ "type": "GUIDER",
576
+ "links": [
577
+ 14
578
+ ],
579
+ "slot_index": 0
580
+ }
581
+ ],
582
+ "properties": {
583
+ "Node name for S&R": "BasicGuider",
584
+ "cnr_id": "comfy-core",
585
+ "ver": "0.27.0"
586
+ }
587
+ },
588
+ {
589
+ "id": 16,
590
+ "type": "KSamplerSelect",
591
+ "pos": [
592
+ 560,
593
+ 140
594
+ ],
595
+ "size": [
596
+ 290,
597
+ 58
598
+ ],
599
+ "flags": {},
600
+ "order": 15,
601
+ "mode": 0,
602
+ "inputs": [],
603
+ "outputs": [
604
+ {
605
+ "name": "SAMPLER",
606
+ "type": "SAMPLER",
607
+ "links": [
608
+ 15
609
+ ],
610
+ "slot_index": 0
611
+ }
612
+ ],
613
+ "properties": {
614
+ "Node name for S&R": "KSamplerSelect",
615
+ "cnr_id": "comfy-core",
616
+ "ver": "0.27.0"
617
+ },
618
+ "widgets_values": [
619
+ "euler"
620
+ ]
621
+ },
622
+ {
623
+ "id": 17,
624
+ "type": "BasicScheduler",
625
+ "pos": [
626
+ 560,
627
+ 250
628
+ ],
629
+ "size": [
630
+ 290,
631
+ 106
632
+ ],
633
+ "flags": {},
634
+ "order": 16,
635
+ "mode": 0,
636
+ "inputs": [
637
+ {
638
+ "name": "model",
639
+ "type": "MODEL",
640
+ "link": 12
641
+ }
642
+ ],
643
+ "outputs": [
644
+ {
645
+ "name": "SIGMAS",
646
+ "type": "SIGMAS",
647
+ "links": [
648
+ 16
649
+ ],
650
+ "slot_index": 0
651
+ }
652
+ ],
653
+ "properties": {
654
+ "Node name for S&R": "BasicScheduler",
655
+ "cnr_id": "comfy-core",
656
+ "ver": "0.27.0"
657
+ },
658
+ "widgets_values": [
659
+ "simple",
660
+ 28,
661
+ 1.0
662
+ ]
663
+ },
664
+ {
665
+ "id": 18,
666
+ "type": "EmptySD3LatentImage",
667
+ "pos": [
668
+ 560,
669
+ 420
670
+ ],
671
+ "size": [
672
+ 290,
673
+ 106
674
+ ],
675
+ "flags": {},
676
+ "order": 17,
677
+ "mode": 0,
678
+ "inputs": [],
679
+ "outputs": [
680
+ {
681
+ "name": "LATENT",
682
+ "type": "LATENT",
683
+ "links": [
684
+ 17
685
+ ],
686
+ "slot_index": 0
687
+ }
688
+ ],
689
+ "properties": {
690
+ "Node name for S&R": "EmptySD3LatentImage",
691
+ "cnr_id": "comfy-core",
692
+ "ver": "0.27.0"
693
+ },
694
+ "widgets_values": [
695
+ 1024,
696
+ 1024,
697
+ 1
698
+ ]
699
+ },
700
+ {
701
+ "id": 19,
702
+ "type": "SamplerCustomAdvanced",
703
+ "pos": [
704
+ 980,
705
+ 60
706
+ ],
707
+ "size": [
708
+ 270,
709
+ 126
710
+ ],
711
+ "flags": {},
712
+ "order": 18,
713
+ "mode": 0,
714
+ "inputs": [
715
+ {
716
+ "name": "noise",
717
+ "type": "NOISE",
718
+ "link": 13
719
+ },
720
+ {
721
+ "name": "guider",
722
+ "type": "GUIDER",
723
+ "link": 14
724
+ },
725
+ {
726
+ "name": "sampler",
727
+ "type": "SAMPLER",
728
+ "link": 15
729
+ },
730
+ {
731
+ "name": "sigmas",
732
+ "type": "SIGMAS",
733
+ "link": 16
734
+ },
735
+ {
736
+ "name": "latent_image",
737
+ "type": "LATENT",
738
+ "link": 17
739
+ }
740
+ ],
741
+ "outputs": [
742
+ {
743
+ "name": "output",
744
+ "type": "LATENT",
745
+ "links": [
746
+ 18
747
+ ],
748
+ "slot_index": 0
749
+ },
750
+ {
751
+ "name": "denoised_output",
752
+ "type": "LATENT",
753
+ "links": [],
754
+ "slot_index": 1
755
+ }
756
+ ],
757
+ "properties": {
758
+ "Node name for S&R": "SamplerCustomAdvanced",
759
+ "cnr_id": "comfy-core",
760
+ "ver": "0.27.0"
761
+ }
762
+ },
763
+ {
764
+ "id": 20,
765
+ "type": "VAEDecode",
766
+ "pos": [
767
+ 1240,
768
+ 60
769
+ ],
770
+ "size": [
771
+ 210,
772
+ 66
773
+ ],
774
+ "flags": {},
775
+ "order": 19,
776
+ "mode": 0,
777
+ "inputs": [
778
+ {
779
+ "name": "samples",
780
+ "type": "LATENT",
781
+ "link": 18
782
+ },
783
+ {
784
+ "name": "vae",
785
+ "type": "VAE",
786
+ "link": 19
787
+ }
788
+ ],
789
+ "outputs": [
790
+ {
791
+ "name": "IMAGE",
792
+ "type": "IMAGE",
793
+ "links": [
794
+ 20
795
+ ],
796
+ "slot_index": 0
797
+ }
798
+ ],
799
+ "properties": {
800
+ "Node name for S&R": "VAEDecode",
801
+ "cnr_id": "comfy-core",
802
+ "ver": "0.27.0"
803
+ }
804
+ },
805
+ {
806
+ "id": 21,
807
+ "type": "SaveImage",
808
+ "pos": [
809
+ 1240,
810
+ 180
811
+ ],
812
+ "size": [
813
+ 400,
814
+ 400
815
+ ],
816
+ "flags": {},
817
+ "order": 20,
818
+ "mode": 0,
819
+ "inputs": [
820
+ {
821
+ "name": "images",
822
+ "type": "IMAGE",
823
+ "link": 20
824
+ }
825
+ ],
826
+ "outputs": [],
827
+ "properties": {
828
+ "Node name for S&R": "SaveImage",
829
+ "cnr_id": "comfy-core",
830
+ "ver": "0.27.0"
831
+ },
832
+ "widgets_values": [
833
+ "flux-redux/prompt"
834
+ ]
835
+ }
836
+ ],
837
+ "links": [
838
+ [
839
+ 1,
840
+ 6,
841
+ 0,
842
+ 7,
843
+ 0,
844
+ "CLIP_VISION"
845
+ ],
846
+ [
847
+ 2,
848
+ 5,
849
+ 0,
850
+ 7,
851
+ 1,
852
+ "IMAGE"
853
+ ],
854
+ [
855
+ 3,
856
+ 3,
857
+ 0,
858
+ 9,
859
+ 0,
860
+ "CLIP"
861
+ ],
862
+ [
863
+ 4,
864
+ 9,
865
+ 0,
866
+ 10,
867
+ 0,
868
+ "CONDITIONING"
869
+ ],
870
+ [
871
+ 5,
872
+ 10,
873
+ 0,
874
+ 11,
875
+ 0,
876
+ "CONDITIONING"
877
+ ],
878
+ [
879
+ 6,
880
+ 8,
881
+ 0,
882
+ 11,
883
+ 1,
884
+ "STYLE_MODEL"
885
+ ],
886
+ [
887
+ 7,
888
+ 7,
889
+ 0,
890
+ 11,
891
+ 2,
892
+ "CLIP_VISION_OUTPUT"
893
+ ],
894
+ [
895
+ 8,
896
+ 2,
897
+ 0,
898
+ 12,
899
+ 0,
900
+ "MODEL"
901
+ ],
902
+ [
903
+ 9,
904
+ 12,
905
+ 0,
906
+ 13,
907
+ 0,
908
+ "MODEL"
909
+ ],
910
+ [
911
+ 10,
912
+ 13,
913
+ 0,
914
+ 15,
915
+ 0,
916
+ "MODEL"
917
+ ],
918
+ [
919
+ 11,
920
+ 11,
921
+ 0,
922
+ 15,
923
+ 1,
924
+ "CONDITIONING"
925
+ ],
926
+ [
927
+ 12,
928
+ 13,
929
+ 0,
930
+ 17,
931
+ 0,
932
+ "MODEL"
933
+ ],
934
+ [
935
+ 13,
936
+ 14,
937
+ 0,
938
+ 19,
939
+ 0,
940
+ "NOISE"
941
+ ],
942
+ [
943
+ 14,
944
+ 15,
945
+ 0,
946
+ 19,
947
+ 1,
948
+ "GUIDER"
949
+ ],
950
+ [
951
+ 15,
952
+ 16,
953
+ 0,
954
+ 19,
955
+ 2,
956
+ "SAMPLER"
957
+ ],
958
+ [
959
+ 16,
960
+ 17,
961
+ 0,
962
+ 19,
963
+ 3,
964
+ "SIGMAS"
965
+ ],
966
+ [
967
+ 17,
968
+ 18,
969
+ 0,
970
+ 19,
971
+ 4,
972
+ "LATENT"
973
+ ],
974
+ [
975
+ 18,
976
+ 19,
977
+ 0,
978
+ 20,
979
+ 0,
980
+ "LATENT"
981
+ ],
982
+ [
983
+ 19,
984
+ 4,
985
+ 0,
986
+ 20,
987
+ 1,
988
+ "VAE"
989
+ ],
990
+ [
991
+ 20,
992
+ 20,
993
+ 0,
994
+ 21,
995
+ 0,
996
+ "IMAGE"
997
+ ]
998
+ ],
999
+ "groups": [
1000
+ {
1001
+ "id": 1,
1002
+ "title": "STYLE REFERENCE \u2014 Redux",
1003
+ "bounding": [
1004
+ -740,
1005
+ 340,
1006
+ 940,
1007
+ 700
1008
+ ],
1009
+ "color": "#3f789e",
1010
+ "font_size": 24,
1011
+ "flags": {}
1012
+ },
1013
+ {
1014
+ "id": 2,
1015
+ "title": "SAMPLING",
1016
+ "bounding": [
1017
+ 540,
1018
+ -220,
1019
+ 1100,
1020
+ 760
1021
+ ],
1022
+ "color": "#444",
1023
+ "font_size": 24,
1024
+ "flags": {}
1025
+ }
1026
+ ],
1027
+ "config": {},
1028
+ "extra": {},
1029
+ "version": 0.4
1030
+ }
workflows/flux-redux-schnell.json ADDED
@@ -0,0 +1,882 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 18,
5
+ "last_link_id": 17,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1300,
12
+ -80
13
+ ],
14
+ "size": [
15
+ 540,
16
+ 440
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux schnell \u2014 Replicate `flux-redux-schnell` replica (v1 draft)\n\nParity with Replicate's `black-forest-labs/flux-redux-schnell` endpoint: image variations in\n**4 steps**, no prompt (their `redux_image` replaces it), no guidance (schnell ignores it \u2014 the\nendpoint schema has none, hence no FluxGuidance node), no safety checker locally.\n\n**Models** (HF `aleph65/ComfyUI`): `diffusion_models/flux1-schnell.safetensors` (bf16,\nApache-2.0, HF repo not gated) \u00b7 `text_encoders/t5xxl_fp16.safetensors` + `clip_l.safetensors`\n\u00b7 `vae/ae.safetensors` \u00b7 `style_models/flux1-redux-dev.safetensors` \u00b7\n`clip_vision/sigclip_vision_patch14_384.safetensors`\n\n**Endpoint mapping** \u2014 aspect_ratio @ ~1MP \u2192 EmptySD3LatentImage size (default 1:1 =\n1024x1024); num_outputs 1\u20134 \u2192 batch_size; num_inference_steps (max 4) \u2192 steps; seed \u2192 noise\nseed (values do NOT reproduce Replicate's outputs). euler / simple / denoise 1.0 /\nApply Style Model 1.0 multiply. Lower steps = faster + worse, exactly like the endpoint.\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 7,
53
+ 9
54
+ ],
55
+ "slot_index": 0
56
+ }
57
+ ],
58
+ "properties": {
59
+ "Node name for S&R": "UNETLoader",
60
+ "cnr_id": "comfy-core",
61
+ "ver": "0.27.0"
62
+ },
63
+ "widgets_values": [
64
+ "flux1-schnell.safetensors",
65
+ "default"
66
+ ]
67
+ },
68
+ {
69
+ "id": 3,
70
+ "type": "DualCLIPLoader",
71
+ "pos": [
72
+ -720,
73
+ 60
74
+ ],
75
+ "size": [
76
+ 340,
77
+ 130
78
+ ],
79
+ "flags": {},
80
+ "order": 2,
81
+ "mode": 0,
82
+ "inputs": [],
83
+ "outputs": [
84
+ {
85
+ "name": "CLIP",
86
+ "type": "CLIP",
87
+ "links": [
88
+ 3
89
+ ],
90
+ "slot_index": 0
91
+ }
92
+ ],
93
+ "properties": {
94
+ "Node name for S&R": "DualCLIPLoader",
95
+ "cnr_id": "comfy-core",
96
+ "ver": "0.27.0"
97
+ },
98
+ "widgets_values": [
99
+ "t5xxl_fp16.safetensors",
100
+ "clip_l.safetensors",
101
+ "flux",
102
+ "default"
103
+ ]
104
+ },
105
+ {
106
+ "id": 4,
107
+ "type": "VAELoader",
108
+ "pos": [
109
+ -720,
110
+ 250
111
+ ],
112
+ "size": [
113
+ 340,
114
+ 58
115
+ ],
116
+ "flags": {},
117
+ "order": 3,
118
+ "mode": 0,
119
+ "inputs": [],
120
+ "outputs": [
121
+ {
122
+ "name": "VAE",
123
+ "type": "VAE",
124
+ "links": [
125
+ 16
126
+ ],
127
+ "slot_index": 0
128
+ }
129
+ ],
130
+ "properties": {
131
+ "Node name for S&R": "VAELoader",
132
+ "cnr_id": "comfy-core",
133
+ "ver": "0.27.0"
134
+ },
135
+ "widgets_values": [
136
+ "ae.safetensors"
137
+ ]
138
+ },
139
+ {
140
+ "id": 5,
141
+ "type": "LoadImage",
142
+ "pos": [
143
+ -720,
144
+ 420
145
+ ],
146
+ "size": [
147
+ 274,
148
+ 314
149
+ ],
150
+ "flags": {},
151
+ "order": 4,
152
+ "mode": 0,
153
+ "inputs": [],
154
+ "outputs": [
155
+ {
156
+ "name": "IMAGE",
157
+ "type": "IMAGE",
158
+ "links": [
159
+ 2
160
+ ],
161
+ "slot_index": 0
162
+ },
163
+ {
164
+ "name": "MASK",
165
+ "type": "MASK",
166
+ "links": [],
167
+ "slot_index": 1
168
+ }
169
+ ],
170
+ "properties": {
171
+ "Node name for S&R": "LoadImage",
172
+ "cnr_id": "comfy-core",
173
+ "ver": "0.27.0"
174
+ },
175
+ "title": "Style reference (Image A)",
176
+ "widgets_values": [
177
+ "style_ref.png",
178
+ "image"
179
+ ]
180
+ },
181
+ {
182
+ "id": 6,
183
+ "type": "CLIPVisionLoader",
184
+ "pos": [
185
+ -720,
186
+ 780
187
+ ],
188
+ "size": [
189
+ 340,
190
+ 58
191
+ ],
192
+ "flags": {},
193
+ "order": 5,
194
+ "mode": 0,
195
+ "inputs": [],
196
+ "outputs": [
197
+ {
198
+ "name": "CLIP_VISION",
199
+ "type": "CLIP_VISION",
200
+ "links": [
201
+ 1
202
+ ],
203
+ "slot_index": 0
204
+ }
205
+ ],
206
+ "properties": {
207
+ "Node name for S&R": "CLIPVisionLoader",
208
+ "cnr_id": "comfy-core",
209
+ "ver": "0.27.0"
210
+ },
211
+ "widgets_values": [
212
+ "sigclip_vision_patch14_384.safetensors"
213
+ ]
214
+ },
215
+ {
216
+ "id": 7,
217
+ "type": "CLIPVisionEncode",
218
+ "pos": [
219
+ -340,
220
+ 480
221
+ ],
222
+ "size": [
223
+ 290,
224
+ 78
225
+ ],
226
+ "flags": {},
227
+ "order": 6,
228
+ "mode": 0,
229
+ "inputs": [
230
+ {
231
+ "name": "clip_vision",
232
+ "type": "CLIP_VISION",
233
+ "link": 1
234
+ },
235
+ {
236
+ "name": "image",
237
+ "type": "IMAGE",
238
+ "link": 2
239
+ }
240
+ ],
241
+ "outputs": [
242
+ {
243
+ "name": "CLIP_VISION_OUTPUT",
244
+ "type": "CLIP_VISION_OUTPUT",
245
+ "links": [
246
+ 6
247
+ ],
248
+ "slot_index": 0
249
+ }
250
+ ],
251
+ "properties": {
252
+ "Node name for S&R": "CLIPVisionEncode",
253
+ "cnr_id": "comfy-core",
254
+ "ver": "0.27.0"
255
+ },
256
+ "widgets_values": [
257
+ "center"
258
+ ]
259
+ },
260
+ {
261
+ "id": 8,
262
+ "type": "StyleModelLoader",
263
+ "pos": [
264
+ -720,
265
+ 870
266
+ ],
267
+ "size": [
268
+ 340,
269
+ 58
270
+ ],
271
+ "flags": {},
272
+ "order": 7,
273
+ "mode": 0,
274
+ "inputs": [],
275
+ "outputs": [
276
+ {
277
+ "name": "STYLE_MODEL",
278
+ "type": "STYLE_MODEL",
279
+ "links": [
280
+ 5
281
+ ],
282
+ "slot_index": 0
283
+ }
284
+ ],
285
+ "properties": {
286
+ "Node name for S&R": "StyleModelLoader",
287
+ "cnr_id": "comfy-core",
288
+ "ver": "0.27.0"
289
+ },
290
+ "widgets_values": [
291
+ "flux1-redux-dev.safetensors"
292
+ ]
293
+ },
294
+ {
295
+ "id": 9,
296
+ "type": "CLIPTextEncode",
297
+ "pos": [
298
+ -300,
299
+ 60
300
+ ],
301
+ "size": [
302
+ 400,
303
+ 160
304
+ ],
305
+ "flags": {},
306
+ "order": 8,
307
+ "mode": 0,
308
+ "inputs": [
309
+ {
310
+ "name": "clip",
311
+ "type": "CLIP",
312
+ "link": 3
313
+ }
314
+ ],
315
+ "outputs": [
316
+ {
317
+ "name": "CONDITIONING",
318
+ "type": "CONDITIONING",
319
+ "links": [
320
+ 4
321
+ ],
322
+ "slot_index": 0
323
+ }
324
+ ],
325
+ "properties": {
326
+ "Node name for S&R": "CLIPTextEncode",
327
+ "cnr_id": "comfy-core",
328
+ "ver": "0.27.0"
329
+ },
330
+ "title": "Prompt (endpoint has none \u2014 leave empty)",
331
+ "widgets_values": [
332
+ ""
333
+ ]
334
+ },
335
+ {
336
+ "id": 10,
337
+ "type": "StyleModelApply",
338
+ "pos": [
339
+ 140,
340
+ 100
341
+ ],
342
+ "size": [
343
+ 320,
344
+ 102
345
+ ],
346
+ "flags": {},
347
+ "order": 9,
348
+ "mode": 0,
349
+ "inputs": [
350
+ {
351
+ "name": "conditioning",
352
+ "type": "CONDITIONING",
353
+ "link": 4
354
+ },
355
+ {
356
+ "name": "style_model",
357
+ "type": "STYLE_MODEL",
358
+ "link": 5
359
+ },
360
+ {
361
+ "name": "clip_vision_output",
362
+ "type": "CLIP_VISION_OUTPUT",
363
+ "link": 6
364
+ }
365
+ ],
366
+ "outputs": [
367
+ {
368
+ "name": "CONDITIONING",
369
+ "type": "CONDITIONING",
370
+ "links": [
371
+ 8
372
+ ],
373
+ "slot_index": 0
374
+ }
375
+ ],
376
+ "properties": {
377
+ "Node name for S&R": "StyleModelApply",
378
+ "cnr_id": "comfy-core",
379
+ "ver": "0.27.0"
380
+ },
381
+ "widgets_values": [
382
+ 1.0,
383
+ "multiply"
384
+ ]
385
+ },
386
+ {
387
+ "id": 11,
388
+ "type": "RandomNoise",
389
+ "pos": [
390
+ 560,
391
+ -160
392
+ ],
393
+ "size": [
394
+ 290,
395
+ 82
396
+ ],
397
+ "flags": {},
398
+ "order": 10,
399
+ "mode": 0,
400
+ "inputs": [],
401
+ "outputs": [
402
+ {
403
+ "name": "NOISE",
404
+ "type": "NOISE",
405
+ "links": [
406
+ 10
407
+ ],
408
+ "slot_index": 0
409
+ }
410
+ ],
411
+ "properties": {
412
+ "Node name for S&R": "RandomNoise",
413
+ "cnr_id": "comfy-core",
414
+ "ver": "0.27.0"
415
+ },
416
+ "widgets_values": [
417
+ 0,
418
+ "randomize"
419
+ ]
420
+ },
421
+ {
422
+ "id": 12,
423
+ "type": "BasicGuider",
424
+ "pos": [
425
+ 560,
426
+ 20
427
+ ],
428
+ "size": [
429
+ 240,
430
+ 66
431
+ ],
432
+ "flags": {},
433
+ "order": 11,
434
+ "mode": 0,
435
+ "inputs": [
436
+ {
437
+ "name": "model",
438
+ "type": "MODEL",
439
+ "link": 7
440
+ },
441
+ {
442
+ "name": "conditioning",
443
+ "type": "CONDITIONING",
444
+ "link": 8
445
+ }
446
+ ],
447
+ "outputs": [
448
+ {
449
+ "name": "GUIDER",
450
+ "type": "GUIDER",
451
+ "links": [
452
+ 11
453
+ ],
454
+ "slot_index": 0
455
+ }
456
+ ],
457
+ "properties": {
458
+ "Node name for S&R": "BasicGuider",
459
+ "cnr_id": "comfy-core",
460
+ "ver": "0.27.0"
461
+ }
462
+ },
463
+ {
464
+ "id": 13,
465
+ "type": "KSamplerSelect",
466
+ "pos": [
467
+ 560,
468
+ 140
469
+ ],
470
+ "size": [
471
+ 290,
472
+ 58
473
+ ],
474
+ "flags": {},
475
+ "order": 12,
476
+ "mode": 0,
477
+ "inputs": [],
478
+ "outputs": [
479
+ {
480
+ "name": "SAMPLER",
481
+ "type": "SAMPLER",
482
+ "links": [
483
+ 12
484
+ ],
485
+ "slot_index": 0
486
+ }
487
+ ],
488
+ "properties": {
489
+ "Node name for S&R": "KSamplerSelect",
490
+ "cnr_id": "comfy-core",
491
+ "ver": "0.27.0"
492
+ },
493
+ "widgets_values": [
494
+ "euler"
495
+ ]
496
+ },
497
+ {
498
+ "id": 14,
499
+ "type": "BasicScheduler",
500
+ "pos": [
501
+ 560,
502
+ 250
503
+ ],
504
+ "size": [
505
+ 290,
506
+ 106
507
+ ],
508
+ "flags": {},
509
+ "order": 13,
510
+ "mode": 0,
511
+ "inputs": [
512
+ {
513
+ "name": "model",
514
+ "type": "MODEL",
515
+ "link": 9
516
+ }
517
+ ],
518
+ "outputs": [
519
+ {
520
+ "name": "SIGMAS",
521
+ "type": "SIGMAS",
522
+ "links": [
523
+ 13
524
+ ],
525
+ "slot_index": 0
526
+ }
527
+ ],
528
+ "properties": {
529
+ "Node name for S&R": "BasicScheduler",
530
+ "cnr_id": "comfy-core",
531
+ "ver": "0.27.0"
532
+ },
533
+ "widgets_values": [
534
+ "simple",
535
+ 4,
536
+ 1.0
537
+ ]
538
+ },
539
+ {
540
+ "id": 15,
541
+ "type": "EmptySD3LatentImage",
542
+ "pos": [
543
+ 560,
544
+ 420
545
+ ],
546
+ "size": [
547
+ 290,
548
+ 106
549
+ ],
550
+ "flags": {},
551
+ "order": 14,
552
+ "mode": 0,
553
+ "inputs": [],
554
+ "outputs": [
555
+ {
556
+ "name": "LATENT",
557
+ "type": "LATENT",
558
+ "links": [
559
+ 14
560
+ ],
561
+ "slot_index": 0
562
+ }
563
+ ],
564
+ "properties": {
565
+ "Node name for S&R": "EmptySD3LatentImage",
566
+ "cnr_id": "comfy-core",
567
+ "ver": "0.27.0"
568
+ },
569
+ "title": "size = aspect_ratio @ 1MP \u00b7 batch = num_outputs",
570
+ "widgets_values": [
571
+ 1024,
572
+ 1024,
573
+ 1
574
+ ]
575
+ },
576
+ {
577
+ "id": 16,
578
+ "type": "SamplerCustomAdvanced",
579
+ "pos": [
580
+ 980,
581
+ 60
582
+ ],
583
+ "size": [
584
+ 270,
585
+ 126
586
+ ],
587
+ "flags": {},
588
+ "order": 15,
589
+ "mode": 0,
590
+ "inputs": [
591
+ {
592
+ "name": "noise",
593
+ "type": "NOISE",
594
+ "link": 10
595
+ },
596
+ {
597
+ "name": "guider",
598
+ "type": "GUIDER",
599
+ "link": 11
600
+ },
601
+ {
602
+ "name": "sampler",
603
+ "type": "SAMPLER",
604
+ "link": 12
605
+ },
606
+ {
607
+ "name": "sigmas",
608
+ "type": "SIGMAS",
609
+ "link": 13
610
+ },
611
+ {
612
+ "name": "latent_image",
613
+ "type": "LATENT",
614
+ "link": 14
615
+ }
616
+ ],
617
+ "outputs": [
618
+ {
619
+ "name": "output",
620
+ "type": "LATENT",
621
+ "links": [
622
+ 15
623
+ ],
624
+ "slot_index": 0
625
+ },
626
+ {
627
+ "name": "denoised_output",
628
+ "type": "LATENT",
629
+ "links": [],
630
+ "slot_index": 1
631
+ }
632
+ ],
633
+ "properties": {
634
+ "Node name for S&R": "SamplerCustomAdvanced",
635
+ "cnr_id": "comfy-core",
636
+ "ver": "0.27.0"
637
+ }
638
+ },
639
+ {
640
+ "id": 17,
641
+ "type": "VAEDecode",
642
+ "pos": [
643
+ 1240,
644
+ 60
645
+ ],
646
+ "size": [
647
+ 210,
648
+ 66
649
+ ],
650
+ "flags": {},
651
+ "order": 16,
652
+ "mode": 0,
653
+ "inputs": [
654
+ {
655
+ "name": "samples",
656
+ "type": "LATENT",
657
+ "link": 15
658
+ },
659
+ {
660
+ "name": "vae",
661
+ "type": "VAE",
662
+ "link": 16
663
+ }
664
+ ],
665
+ "outputs": [
666
+ {
667
+ "name": "IMAGE",
668
+ "type": "IMAGE",
669
+ "links": [
670
+ 17
671
+ ],
672
+ "slot_index": 0
673
+ }
674
+ ],
675
+ "properties": {
676
+ "Node name for S&R": "VAEDecode",
677
+ "cnr_id": "comfy-core",
678
+ "ver": "0.27.0"
679
+ }
680
+ },
681
+ {
682
+ "id": 18,
683
+ "type": "SaveImage",
684
+ "pos": [
685
+ 1240,
686
+ 180
687
+ ],
688
+ "size": [
689
+ 400,
690
+ 400
691
+ ],
692
+ "flags": {},
693
+ "order": 17,
694
+ "mode": 0,
695
+ "inputs": [
696
+ {
697
+ "name": "images",
698
+ "type": "IMAGE",
699
+ "link": 17
700
+ }
701
+ ],
702
+ "outputs": [],
703
+ "properties": {
704
+ "Node name for S&R": "SaveImage",
705
+ "cnr_id": "comfy-core",
706
+ "ver": "0.27.0"
707
+ },
708
+ "widgets_values": [
709
+ "flux-redux/schnell"
710
+ ]
711
+ }
712
+ ],
713
+ "links": [
714
+ [
715
+ 1,
716
+ 6,
717
+ 0,
718
+ 7,
719
+ 0,
720
+ "CLIP_VISION"
721
+ ],
722
+ [
723
+ 2,
724
+ 5,
725
+ 0,
726
+ 7,
727
+ 1,
728
+ "IMAGE"
729
+ ],
730
+ [
731
+ 3,
732
+ 3,
733
+ 0,
734
+ 9,
735
+ 0,
736
+ "CLIP"
737
+ ],
738
+ [
739
+ 4,
740
+ 9,
741
+ 0,
742
+ 10,
743
+ 0,
744
+ "CONDITIONING"
745
+ ],
746
+ [
747
+ 5,
748
+ 8,
749
+ 0,
750
+ 10,
751
+ 1,
752
+ "STYLE_MODEL"
753
+ ],
754
+ [
755
+ 6,
756
+ 7,
757
+ 0,
758
+ 10,
759
+ 2,
760
+ "CLIP_VISION_OUTPUT"
761
+ ],
762
+ [
763
+ 7,
764
+ 2,
765
+ 0,
766
+ 12,
767
+ 0,
768
+ "MODEL"
769
+ ],
770
+ [
771
+ 8,
772
+ 10,
773
+ 0,
774
+ 12,
775
+ 1,
776
+ "CONDITIONING"
777
+ ],
778
+ [
779
+ 9,
780
+ 2,
781
+ 0,
782
+ 14,
783
+ 0,
784
+ "MODEL"
785
+ ],
786
+ [
787
+ 10,
788
+ 11,
789
+ 0,
790
+ 16,
791
+ 0,
792
+ "NOISE"
793
+ ],
794
+ [
795
+ 11,
796
+ 12,
797
+ 0,
798
+ 16,
799
+ 1,
800
+ "GUIDER"
801
+ ],
802
+ [
803
+ 12,
804
+ 13,
805
+ 0,
806
+ 16,
807
+ 2,
808
+ "SAMPLER"
809
+ ],
810
+ [
811
+ 13,
812
+ 14,
813
+ 0,
814
+ 16,
815
+ 3,
816
+ "SIGMAS"
817
+ ],
818
+ [
819
+ 14,
820
+ 15,
821
+ 0,
822
+ 16,
823
+ 4,
824
+ "LATENT"
825
+ ],
826
+ [
827
+ 15,
828
+ 16,
829
+ 0,
830
+ 17,
831
+ 0,
832
+ "LATENT"
833
+ ],
834
+ [
835
+ 16,
836
+ 4,
837
+ 0,
838
+ 17,
839
+ 1,
840
+ "VAE"
841
+ ],
842
+ [
843
+ 17,
844
+ 17,
845
+ 0,
846
+ 18,
847
+ 0,
848
+ "IMAGE"
849
+ ]
850
+ ],
851
+ "groups": [
852
+ {
853
+ "id": 1,
854
+ "title": "STYLE REFERENCE \u2014 Redux",
855
+ "bounding": [
856
+ -740,
857
+ 340,
858
+ 940,
859
+ 700
860
+ ],
861
+ "color": "#3f789e",
862
+ "font_size": 24,
863
+ "flags": {}
864
+ },
865
+ {
866
+ "id": 2,
867
+ "title": "SAMPLING (Replicate defaults, 4 steps)",
868
+ "bounding": [
869
+ 540,
870
+ -220,
871
+ 1100,
872
+ 760
873
+ ],
874
+ "color": "#444",
875
+ "font_size": 24,
876
+ "flags": {}
877
+ }
878
+ ],
879
+ "config": {},
880
+ "extra": {},
881
+ "version": 0.4
882
+ }
workflows/flux-redux-style-composition-bfl-lora.json ADDED
@@ -0,0 +1,1081 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 21,
5
+ "last_link_id": 23,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1300,
12
+ -80
13
+ ],
14
+ "size": [
15
+ 540,
16
+ 420
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux + official BFL Depth LoRA (v1 draft \u2014 A/B variant)\n\nAlternative to the Union-Pro-2.0 workflow for maximum structural adherence: BFL's\n`flux1-depth-dev-lora` on stock flux1-dev, control image fed via latent-concat\n(**InstructPixToPixConditioning**), Redux on the conditioning as usual.\n\n**Models**: dev base + Redux files as in the other workflows, plus\n`loras/flux1-depth-dev-lora.safetensors` (HF `black-forest-labs/FLUX.1-Depth-dev-lora`, gated).\n\n**Differences vs the ControlNet version** \u2014 structure control has NO strength/start/end;\nweaken it via the LoRA strength (1.0 = full adherence, ~0.7 looser). No canny stacking.\n**FluxGuidance 10** (BFL's depth rec \u2014 NOT 3.5). Redux attn_bias 0.5 as usual.\nLatent size comes from InstructPixToPixConditioning (= control image size) \u2014 feed a\nflux-legal resolution composition image (~1MP).\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 15
53
+ ],
54
+ "slot_index": 0
55
+ }
56
+ ],
57
+ "properties": {
58
+ "Node name for S&R": "UNETLoader",
59
+ "cnr_id": "comfy-core",
60
+ "ver": "0.27.0"
61
+ },
62
+ "widgets_values": [
63
+ "flux1-dev.safetensors",
64
+ "default"
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "DualCLIPLoader",
70
+ "pos": [
71
+ -720,
72
+ 60
73
+ ],
74
+ "size": [
75
+ 340,
76
+ 130
77
+ ],
78
+ "flags": {},
79
+ "order": 2,
80
+ "mode": 0,
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "CLIP",
85
+ "type": "CLIP",
86
+ "links": [
87
+ 3
88
+ ],
89
+ "slot_index": 0
90
+ }
91
+ ],
92
+ "properties": {
93
+ "Node name for S&R": "DualCLIPLoader",
94
+ "cnr_id": "comfy-core",
95
+ "ver": "0.27.0"
96
+ },
97
+ "widgets_values": [
98
+ "t5xxl_fp16.safetensors",
99
+ "clip_l.safetensors",
100
+ "flux",
101
+ "default"
102
+ ]
103
+ },
104
+ {
105
+ "id": 4,
106
+ "type": "VAELoader",
107
+ "pos": [
108
+ -720,
109
+ 250
110
+ ],
111
+ "size": [
112
+ 340,
113
+ 58
114
+ ],
115
+ "flags": {},
116
+ "order": 3,
117
+ "mode": 0,
118
+ "inputs": [],
119
+ "outputs": [
120
+ {
121
+ "name": "VAE",
122
+ "type": "VAE",
123
+ "links": [
124
+ 13,
125
+ 22
126
+ ],
127
+ "slot_index": 0
128
+ }
129
+ ],
130
+ "properties": {
131
+ "Node name for S&R": "VAELoader",
132
+ "cnr_id": "comfy-core",
133
+ "ver": "0.27.0"
134
+ },
135
+ "widgets_values": [
136
+ "ae.safetensors"
137
+ ]
138
+ },
139
+ {
140
+ "id": 5,
141
+ "type": "LoadImage",
142
+ "pos": [
143
+ -720,
144
+ 420
145
+ ],
146
+ "size": [
147
+ 274,
148
+ 314
149
+ ],
150
+ "flags": {},
151
+ "order": 4,
152
+ "mode": 0,
153
+ "inputs": [],
154
+ "outputs": [
155
+ {
156
+ "name": "IMAGE",
157
+ "type": "IMAGE",
158
+ "links": [
159
+ 2
160
+ ],
161
+ "slot_index": 0
162
+ },
163
+ {
164
+ "name": "MASK",
165
+ "type": "MASK",
166
+ "links": [],
167
+ "slot_index": 1
168
+ }
169
+ ],
170
+ "properties": {
171
+ "Node name for S&R": "LoadImage",
172
+ "cnr_id": "comfy-core",
173
+ "ver": "0.27.0"
174
+ },
175
+ "title": "Style reference (Image A)",
176
+ "widgets_values": [
177
+ "style_ref.png",
178
+ "image"
179
+ ]
180
+ },
181
+ {
182
+ "id": 6,
183
+ "type": "CLIPVisionLoader",
184
+ "pos": [
185
+ -720,
186
+ 780
187
+ ],
188
+ "size": [
189
+ 340,
190
+ 58
191
+ ],
192
+ "flags": {},
193
+ "order": 5,
194
+ "mode": 0,
195
+ "inputs": [],
196
+ "outputs": [
197
+ {
198
+ "name": "CLIP_VISION",
199
+ "type": "CLIP_VISION",
200
+ "links": [
201
+ 1
202
+ ],
203
+ "slot_index": 0
204
+ }
205
+ ],
206
+ "properties": {
207
+ "Node name for S&R": "CLIPVisionLoader",
208
+ "cnr_id": "comfy-core",
209
+ "ver": "0.27.0"
210
+ },
211
+ "widgets_values": [
212
+ "sigclip_vision_patch14_384.safetensors"
213
+ ]
214
+ },
215
+ {
216
+ "id": 7,
217
+ "type": "CLIPVisionEncode",
218
+ "pos": [
219
+ -340,
220
+ 480
221
+ ],
222
+ "size": [
223
+ 290,
224
+ 78
225
+ ],
226
+ "flags": {},
227
+ "order": 6,
228
+ "mode": 0,
229
+ "inputs": [
230
+ {
231
+ "name": "clip_vision",
232
+ "type": "CLIP_VISION",
233
+ "link": 1
234
+ },
235
+ {
236
+ "name": "image",
237
+ "type": "IMAGE",
238
+ "link": 2
239
+ }
240
+ ],
241
+ "outputs": [
242
+ {
243
+ "name": "CLIP_VISION_OUTPUT",
244
+ "type": "CLIP_VISION_OUTPUT",
245
+ "links": [
246
+ 8
247
+ ],
248
+ "slot_index": 0
249
+ }
250
+ ],
251
+ "properties": {
252
+ "Node name for S&R": "CLIPVisionEncode",
253
+ "cnr_id": "comfy-core",
254
+ "ver": "0.27.0"
255
+ },
256
+ "widgets_values": [
257
+ "center"
258
+ ]
259
+ },
260
+ {
261
+ "id": 8,
262
+ "type": "StyleModelLoader",
263
+ "pos": [
264
+ -720,
265
+ 870
266
+ ],
267
+ "size": [
268
+ 340,
269
+ 58
270
+ ],
271
+ "flags": {},
272
+ "order": 7,
273
+ "mode": 0,
274
+ "inputs": [],
275
+ "outputs": [
276
+ {
277
+ "name": "STYLE_MODEL",
278
+ "type": "STYLE_MODEL",
279
+ "links": [
280
+ 7
281
+ ],
282
+ "slot_index": 0
283
+ }
284
+ ],
285
+ "properties": {
286
+ "Node name for S&R": "StyleModelLoader",
287
+ "cnr_id": "comfy-core",
288
+ "ver": "0.27.0"
289
+ },
290
+ "widgets_values": [
291
+ "flux1-redux-dev.safetensors"
292
+ ]
293
+ },
294
+ {
295
+ "id": 9,
296
+ "type": "CLIPTextEncode",
297
+ "pos": [
298
+ -300,
299
+ 60
300
+ ],
301
+ "size": [
302
+ 400,
303
+ 160
304
+ ],
305
+ "flags": {},
306
+ "order": 8,
307
+ "mode": 0,
308
+ "inputs": [
309
+ {
310
+ "name": "clip",
311
+ "type": "CLIP",
312
+ "link": 3
313
+ }
314
+ ],
315
+ "outputs": [
316
+ {
317
+ "name": "CONDITIONING",
318
+ "type": "CONDITIONING",
319
+ "links": [
320
+ 4
321
+ ],
322
+ "slot_index": 0
323
+ }
324
+ ],
325
+ "properties": {
326
+ "Node name for S&R": "CLIPTextEncode",
327
+ "cnr_id": "comfy-core",
328
+ "ver": "0.27.0"
329
+ },
330
+ "title": "Prompt (optional)",
331
+ "widgets_values": [
332
+ ""
333
+ ]
334
+ },
335
+ {
336
+ "id": 10,
337
+ "type": "FluxGuidance",
338
+ "pos": [
339
+ 140,
340
+ 60
341
+ ],
342
+ "size": [
343
+ 290,
344
+ 58
345
+ ],
346
+ "flags": {},
347
+ "order": 9,
348
+ "mode": 0,
349
+ "inputs": [
350
+ {
351
+ "name": "conditioning",
352
+ "type": "CONDITIONING",
353
+ "link": 4
354
+ }
355
+ ],
356
+ "outputs": [
357
+ {
358
+ "name": "CONDITIONING",
359
+ "type": "CONDITIONING",
360
+ "links": [
361
+ 5,
362
+ 6
363
+ ],
364
+ "slot_index": 0
365
+ }
366
+ ],
367
+ "properties": {
368
+ "Node name for S&R": "FluxGuidance",
369
+ "cnr_id": "comfy-core",
370
+ "ver": "0.27.0"
371
+ },
372
+ "widgets_values": [
373
+ 10.0
374
+ ]
375
+ },
376
+ {
377
+ "id": 11,
378
+ "type": "ConditioningZeroOut",
379
+ "pos": [
380
+ 140,
381
+ 170
382
+ ],
383
+ "size": [
384
+ 290,
385
+ 48
386
+ ],
387
+ "flags": {},
388
+ "order": 10,
389
+ "mode": 0,
390
+ "inputs": [
391
+ {
392
+ "name": "conditioning",
393
+ "type": "CONDITIONING",
394
+ "link": 5
395
+ }
396
+ ],
397
+ "outputs": [
398
+ {
399
+ "name": "CONDITIONING",
400
+ "type": "CONDITIONING",
401
+ "links": [
402
+ 12
403
+ ],
404
+ "slot_index": 0
405
+ }
406
+ ],
407
+ "properties": {
408
+ "Node name for S&R": "ConditioningZeroOut",
409
+ "cnr_id": "comfy-core",
410
+ "ver": "0.27.0"
411
+ }
412
+ },
413
+ {
414
+ "id": 12,
415
+ "type": "StyleModelApply",
416
+ "pos": [
417
+ 140,
418
+ 300
419
+ ],
420
+ "size": [
421
+ 320,
422
+ 102
423
+ ],
424
+ "flags": {},
425
+ "order": 11,
426
+ "mode": 0,
427
+ "inputs": [
428
+ {
429
+ "name": "conditioning",
430
+ "type": "CONDITIONING",
431
+ "link": 6
432
+ },
433
+ {
434
+ "name": "style_model",
435
+ "type": "STYLE_MODEL",
436
+ "link": 7
437
+ },
438
+ {
439
+ "name": "clip_vision_output",
440
+ "type": "CLIP_VISION_OUTPUT",
441
+ "link": 8
442
+ }
443
+ ],
444
+ "outputs": [
445
+ {
446
+ "name": "CONDITIONING",
447
+ "type": "CONDITIONING",
448
+ "links": [
449
+ 11
450
+ ],
451
+ "slot_index": 0
452
+ }
453
+ ],
454
+ "properties": {
455
+ "Node name for S&R": "StyleModelApply",
456
+ "cnr_id": "comfy-core",
457
+ "ver": "0.27.0"
458
+ },
459
+ "widgets_values": [
460
+ 0.5,
461
+ "attn_bias"
462
+ ]
463
+ },
464
+ {
465
+ "id": 13,
466
+ "type": "LoadImage",
467
+ "pos": [
468
+ -720,
469
+ 1000
470
+ ],
471
+ "size": [
472
+ 274,
473
+ 314
474
+ ],
475
+ "flags": {},
476
+ "order": 12,
477
+ "mode": 0,
478
+ "inputs": [],
479
+ "outputs": [
480
+ {
481
+ "name": "IMAGE",
482
+ "type": "IMAGE",
483
+ "links": [
484
+ 9
485
+ ],
486
+ "slot_index": 0
487
+ },
488
+ {
489
+ "name": "MASK",
490
+ "type": "MASK",
491
+ "links": [],
492
+ "slot_index": 1
493
+ }
494
+ ],
495
+ "properties": {
496
+ "Node name for S&R": "LoadImage",
497
+ "cnr_id": "comfy-core",
498
+ "ver": "0.27.0"
499
+ },
500
+ "title": "Composition reference (Image B)",
501
+ "widgets_values": [
502
+ "composition_ref.png",
503
+ "image"
504
+ ]
505
+ },
506
+ {
507
+ "id": 14,
508
+ "type": "DepthAnythingV2Preprocessor",
509
+ "pos": [
510
+ -300,
511
+ 1030
512
+ ],
513
+ "size": [
514
+ 330,
515
+ 82
516
+ ],
517
+ "flags": {},
518
+ "order": 13,
519
+ "mode": 0,
520
+ "inputs": [
521
+ {
522
+ "name": "image",
523
+ "type": "IMAGE",
524
+ "link": 9
525
+ }
526
+ ],
527
+ "outputs": [
528
+ {
529
+ "name": "IMAGE",
530
+ "type": "IMAGE",
531
+ "links": [
532
+ 10,
533
+ 14
534
+ ],
535
+ "slot_index": 0
536
+ }
537
+ ],
538
+ "properties": {
539
+ "Node name for S&R": "DepthAnythingV2Preprocessor",
540
+ "cnr_id": "comfyui_controlnet_aux"
541
+ },
542
+ "widgets_values": [
543
+ "depth_anything_v2_vitl.pth",
544
+ 1024
545
+ ]
546
+ },
547
+ {
548
+ "id": 15,
549
+ "type": "PreviewImage",
550
+ "pos": [
551
+ -300,
552
+ 1180
553
+ ],
554
+ "size": [
555
+ 300,
556
+ 300
557
+ ],
558
+ "flags": {},
559
+ "order": 14,
560
+ "mode": 0,
561
+ "inputs": [
562
+ {
563
+ "name": "images",
564
+ "type": "IMAGE",
565
+ "link": 10
566
+ }
567
+ ],
568
+ "outputs": [],
569
+ "properties": {
570
+ "Node name for S&R": "PreviewImage",
571
+ "cnr_id": "comfy-core",
572
+ "ver": "0.27.0"
573
+ },
574
+ "title": "Depth map preview"
575
+ },
576
+ {
577
+ "id": 16,
578
+ "type": "InstructPixToPixConditioning",
579
+ "pos": [
580
+ 560,
581
+ 300
582
+ ],
583
+ "size": [
584
+ 300,
585
+ 106
586
+ ],
587
+ "flags": {},
588
+ "order": 15,
589
+ "mode": 0,
590
+ "inputs": [
591
+ {
592
+ "name": "positive",
593
+ "type": "CONDITIONING",
594
+ "link": 11
595
+ },
596
+ {
597
+ "name": "negative",
598
+ "type": "CONDITIONING",
599
+ "link": 12
600
+ },
601
+ {
602
+ "name": "vae",
603
+ "type": "VAE",
604
+ "link": 13
605
+ },
606
+ {
607
+ "name": "pixels",
608
+ "type": "IMAGE",
609
+ "link": 14
610
+ }
611
+ ],
612
+ "outputs": [
613
+ {
614
+ "name": "positive",
615
+ "type": "CONDITIONING",
616
+ "links": [
617
+ 18
618
+ ],
619
+ "slot_index": 0
620
+ },
621
+ {
622
+ "name": "negative",
623
+ "type": "CONDITIONING",
624
+ "links": [
625
+ 19
626
+ ],
627
+ "slot_index": 1
628
+ },
629
+ {
630
+ "name": "latent",
631
+ "type": "LATENT",
632
+ "links": [
633
+ 20
634
+ ],
635
+ "slot_index": 2
636
+ }
637
+ ],
638
+ "properties": {
639
+ "Node name for S&R": "InstructPixToPixConditioning",
640
+ "cnr_id": "comfy-core",
641
+ "ver": "0.27.0"
642
+ }
643
+ },
644
+ {
645
+ "id": 17,
646
+ "type": "LoraLoaderModelOnly",
647
+ "pos": [
648
+ -300,
649
+ -160
650
+ ],
651
+ "size": [
652
+ 340,
653
+ 82
654
+ ],
655
+ "flags": {},
656
+ "order": 16,
657
+ "mode": 0,
658
+ "inputs": [
659
+ {
660
+ "name": "model",
661
+ "type": "MODEL",
662
+ "link": 15
663
+ }
664
+ ],
665
+ "outputs": [
666
+ {
667
+ "name": "MODEL",
668
+ "type": "MODEL",
669
+ "links": [
670
+ 16
671
+ ],
672
+ "slot_index": 0
673
+ }
674
+ ],
675
+ "properties": {
676
+ "Node name for S&R": "LoraLoaderModelOnly",
677
+ "cnr_id": "comfy-core",
678
+ "ver": "0.27.0"
679
+ },
680
+ "title": "BFL Depth LoRA",
681
+ "widgets_values": [
682
+ "flux1-depth-dev-lora.safetensors",
683
+ 1.0
684
+ ]
685
+ },
686
+ {
687
+ "id": 18,
688
+ "type": "ModelSamplingFlux",
689
+ "pos": [
690
+ 140,
691
+ -160
692
+ ],
693
+ "size": [
694
+ 300,
695
+ 130
696
+ ],
697
+ "flags": {},
698
+ "order": 17,
699
+ "mode": 0,
700
+ "inputs": [
701
+ {
702
+ "name": "model",
703
+ "type": "MODEL",
704
+ "link": 16
705
+ }
706
+ ],
707
+ "outputs": [
708
+ {
709
+ "name": "MODEL",
710
+ "type": "MODEL",
711
+ "links": [
712
+ 17
713
+ ],
714
+ "slot_index": 0
715
+ }
716
+ ],
717
+ "properties": {
718
+ "Node name for S&R": "ModelSamplingFlux",
719
+ "cnr_id": "comfy-core",
720
+ "ver": "0.27.0"
721
+ },
722
+ "widgets_values": [
723
+ 1.15,
724
+ 0.5,
725
+ 1024,
726
+ 1024
727
+ ]
728
+ },
729
+ {
730
+ "id": 19,
731
+ "type": "KSampler",
732
+ "pos": [
733
+ 980,
734
+ 300
735
+ ],
736
+ "size": [
737
+ 300,
738
+ 262
739
+ ],
740
+ "flags": {},
741
+ "order": 18,
742
+ "mode": 0,
743
+ "inputs": [
744
+ {
745
+ "name": "model",
746
+ "type": "MODEL",
747
+ "link": 17
748
+ },
749
+ {
750
+ "name": "positive",
751
+ "type": "CONDITIONING",
752
+ "link": 18
753
+ },
754
+ {
755
+ "name": "negative",
756
+ "type": "CONDITIONING",
757
+ "link": 19
758
+ },
759
+ {
760
+ "name": "latent_image",
761
+ "type": "LATENT",
762
+ "link": 20
763
+ }
764
+ ],
765
+ "outputs": [
766
+ {
767
+ "name": "LATENT",
768
+ "type": "LATENT",
769
+ "links": [
770
+ 21
771
+ ],
772
+ "slot_index": 0
773
+ }
774
+ ],
775
+ "properties": {
776
+ "Node name for S&R": "KSampler",
777
+ "cnr_id": "comfy-core",
778
+ "ver": "0.27.0"
779
+ },
780
+ "widgets_values": [
781
+ 0,
782
+ "randomize",
783
+ 28,
784
+ 1.0,
785
+ "euler",
786
+ "simple",
787
+ 1.0
788
+ ]
789
+ },
790
+ {
791
+ "id": 20,
792
+ "type": "VAEDecode",
793
+ "pos": [
794
+ 1320,
795
+ 300
796
+ ],
797
+ "size": [
798
+ 210,
799
+ 66
800
+ ],
801
+ "flags": {},
802
+ "order": 19,
803
+ "mode": 0,
804
+ "inputs": [
805
+ {
806
+ "name": "samples",
807
+ "type": "LATENT",
808
+ "link": 21
809
+ },
810
+ {
811
+ "name": "vae",
812
+ "type": "VAE",
813
+ "link": 22
814
+ }
815
+ ],
816
+ "outputs": [
817
+ {
818
+ "name": "IMAGE",
819
+ "type": "IMAGE",
820
+ "links": [
821
+ 23
822
+ ],
823
+ "slot_index": 0
824
+ }
825
+ ],
826
+ "properties": {
827
+ "Node name for S&R": "VAEDecode",
828
+ "cnr_id": "comfy-core",
829
+ "ver": "0.27.0"
830
+ }
831
+ },
832
+ {
833
+ "id": 21,
834
+ "type": "SaveImage",
835
+ "pos": [
836
+ 1320,
837
+ 420
838
+ ],
839
+ "size": [
840
+ 400,
841
+ 400
842
+ ],
843
+ "flags": {},
844
+ "order": 20,
845
+ "mode": 0,
846
+ "inputs": [
847
+ {
848
+ "name": "images",
849
+ "type": "IMAGE",
850
+ "link": 23
851
+ }
852
+ ],
853
+ "outputs": [],
854
+ "properties": {
855
+ "Node name for S&R": "SaveImage",
856
+ "cnr_id": "comfy-core",
857
+ "ver": "0.27.0"
858
+ },
859
+ "widgets_values": [
860
+ "flux-redux/style-comp-bfl"
861
+ ]
862
+ }
863
+ ],
864
+ "links": [
865
+ [
866
+ 1,
867
+ 6,
868
+ 0,
869
+ 7,
870
+ 0,
871
+ "CLIP_VISION"
872
+ ],
873
+ [
874
+ 2,
875
+ 5,
876
+ 0,
877
+ 7,
878
+ 1,
879
+ "IMAGE"
880
+ ],
881
+ [
882
+ 3,
883
+ 3,
884
+ 0,
885
+ 9,
886
+ 0,
887
+ "CLIP"
888
+ ],
889
+ [
890
+ 4,
891
+ 9,
892
+ 0,
893
+ 10,
894
+ 0,
895
+ "CONDITIONING"
896
+ ],
897
+ [
898
+ 5,
899
+ 10,
900
+ 0,
901
+ 11,
902
+ 0,
903
+ "CONDITIONING"
904
+ ],
905
+ [
906
+ 6,
907
+ 10,
908
+ 0,
909
+ 12,
910
+ 0,
911
+ "CONDITIONING"
912
+ ],
913
+ [
914
+ 7,
915
+ 8,
916
+ 0,
917
+ 12,
918
+ 1,
919
+ "STYLE_MODEL"
920
+ ],
921
+ [
922
+ 8,
923
+ 7,
924
+ 0,
925
+ 12,
926
+ 2,
927
+ "CLIP_VISION_OUTPUT"
928
+ ],
929
+ [
930
+ 9,
931
+ 13,
932
+ 0,
933
+ 14,
934
+ 0,
935
+ "IMAGE"
936
+ ],
937
+ [
938
+ 10,
939
+ 14,
940
+ 0,
941
+ 15,
942
+ 0,
943
+ "IMAGE"
944
+ ],
945
+ [
946
+ 11,
947
+ 12,
948
+ 0,
949
+ 16,
950
+ 0,
951
+ "CONDITIONING"
952
+ ],
953
+ [
954
+ 12,
955
+ 11,
956
+ 0,
957
+ 16,
958
+ 1,
959
+ "CONDITIONING"
960
+ ],
961
+ [
962
+ 13,
963
+ 4,
964
+ 0,
965
+ 16,
966
+ 2,
967
+ "VAE"
968
+ ],
969
+ [
970
+ 14,
971
+ 14,
972
+ 0,
973
+ 16,
974
+ 3,
975
+ "IMAGE"
976
+ ],
977
+ [
978
+ 15,
979
+ 2,
980
+ 0,
981
+ 17,
982
+ 0,
983
+ "MODEL"
984
+ ],
985
+ [
986
+ 16,
987
+ 17,
988
+ 0,
989
+ 18,
990
+ 0,
991
+ "MODEL"
992
+ ],
993
+ [
994
+ 17,
995
+ 18,
996
+ 0,
997
+ 19,
998
+ 0,
999
+ "MODEL"
1000
+ ],
1001
+ [
1002
+ 18,
1003
+ 16,
1004
+ 0,
1005
+ 19,
1006
+ 1,
1007
+ "CONDITIONING"
1008
+ ],
1009
+ [
1010
+ 19,
1011
+ 16,
1012
+ 1,
1013
+ 19,
1014
+ 2,
1015
+ "CONDITIONING"
1016
+ ],
1017
+ [
1018
+ 20,
1019
+ 16,
1020
+ 2,
1021
+ 19,
1022
+ 3,
1023
+ "LATENT"
1024
+ ],
1025
+ [
1026
+ 21,
1027
+ 19,
1028
+ 0,
1029
+ 20,
1030
+ 0,
1031
+ "LATENT"
1032
+ ],
1033
+ [
1034
+ 22,
1035
+ 4,
1036
+ 0,
1037
+ 20,
1038
+ 1,
1039
+ "VAE"
1040
+ ],
1041
+ [
1042
+ 23,
1043
+ 20,
1044
+ 0,
1045
+ 21,
1046
+ 0,
1047
+ "IMAGE"
1048
+ ]
1049
+ ],
1050
+ "groups": [
1051
+ {
1052
+ "id": 1,
1053
+ "title": "STYLE REFERENCE \u2014 Redux",
1054
+ "bounding": [
1055
+ -740,
1056
+ 340,
1057
+ 940,
1058
+ 700
1059
+ ],
1060
+ "color": "#3f789e",
1061
+ "font_size": 24,
1062
+ "flags": {}
1063
+ },
1064
+ {
1065
+ "id": 2,
1066
+ "title": "COMPOSITION \u2014 BFL Depth LoRA",
1067
+ "bounding": [
1068
+ -740,
1069
+ 900,
1070
+ 1220,
1071
+ 500
1072
+ ],
1073
+ "color": "#8f5b34",
1074
+ "font_size": 24,
1075
+ "flags": {}
1076
+ }
1077
+ ],
1078
+ "config": {},
1079
+ "extra": {},
1080
+ "version": 0.4
1081
+ }
workflows/flux-redux-style-composition.json ADDED
@@ -0,0 +1,1449 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "00000000-0000-0000-0000-000000000000",
3
+ "revision": 0,
4
+ "last_node_id": 26,
5
+ "last_link_id": 34,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1340,
12
+ -120
13
+ ],
14
+ "size": [
15
+ 580,
16
+ 700
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "properties": {
24
+ "Node name for S&R": "MarkdownNote",
25
+ "cnr_id": "comfy-core",
26
+ "ver": "0.27.0"
27
+ },
28
+ "widgets_values": [
29
+ "## FLUX Redux + ControlNet \u2014 style + composition (v1 draft)\n\n**Image A (style)** supplies aesthetic/palette/lighting via **FLUX.1 Redux**; **Image B\n(composition)** supplies layout via **Depth** (Shakker-Labs ControlNet **Union-Pro-2.0** \u2014 mode\ninferred from the control image, do NOT add SetUnionControlNetType). Optional text prompt.\n\n**Models** (HF `aleph65/ComfyUI`):\n- `diffusion_models/flux1-dev.safetensors` (bf16) \u00b7 `text_encoders/t5xxl_fp16.safetensors` +\n `clip_l.safetensors` \u00b7 `vae/ae.safetensors`\n- `style_models/flux1-redux-dev.safetensors` \u00b7 `clip_vision/sigclip_vision_patch14_384.safetensors`\n- `controlnet/FLUX.1-dev-ControlNet-Union-Pro-2.0.safetensors`\n- bypassed extras: `loras/flux1-turbo-alpha.safetensors`\n- `depth_anything_v2_vitl.pth` auto-downloads into `custom_nodes/comfyui_controlnet_aux/ckpts/`\n\n**Knobs**\n- *Apply Style Model* `strength` = Redux influence, `attn_bias` mode: 0.3\u20130.7 (start 0.5).\n Raise if style too weak; lower (or use the ReduxAdvanced group) if Image A's layout leaks.\n- *Depth ControlNet* strength 0.6\u20130.8, end_percent 0.8 (official 2.0 rec: 0.8/0.8).\n- **Canny group (bypassed)**: enable to stack hard contour lock at LOW strength 0.25\u20130.4, or\n use instead of depth (rewire). Union-Pro-2.0 handles both from the same loader.\n- **ReduxAdvanced group (bypassed)**: alternative style isolation via token downsampling\n (factor 3). To use: connect its CONDITIONING output to the depth Apply ControlNet `positive`\n (replacing Apply Style Model) and enable the node.\n- **Turbo group (bypassed)**: enable turbo-alpha LoRA + set steps to 8 for fast previews.\n- Sampler: euler / simple / 28 steps / CFG 1.0 / FluxGuidance 3.5 / denoise 1.0.\n\nPrompt may be empty; a short scene description usually helps. Match latent aspect to Image B.\n"
30
+ ]
31
+ },
32
+ {
33
+ "id": 2,
34
+ "type": "UNETLoader",
35
+ "pos": [
36
+ -720,
37
+ -80
38
+ ],
39
+ "size": [
40
+ 340,
41
+ 82
42
+ ],
43
+ "flags": {},
44
+ "order": 1,
45
+ "mode": 0,
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "MODEL",
50
+ "type": "MODEL",
51
+ "links": [
52
+ 26
53
+ ],
54
+ "slot_index": 0
55
+ }
56
+ ],
57
+ "properties": {
58
+ "Node name for S&R": "UNETLoader",
59
+ "cnr_id": "comfy-core",
60
+ "ver": "0.27.0"
61
+ },
62
+ "widgets_values": [
63
+ "flux1-dev.safetensors",
64
+ "default"
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "DualCLIPLoader",
70
+ "pos": [
71
+ -720,
72
+ 60
73
+ ],
74
+ "size": [
75
+ 340,
76
+ 130
77
+ ],
78
+ "flags": {},
79
+ "order": 2,
80
+ "mode": 0,
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "CLIP",
85
+ "type": "CLIP",
86
+ "links": [
87
+ 3
88
+ ],
89
+ "slot_index": 0
90
+ }
91
+ ],
92
+ "properties": {
93
+ "Node name for S&R": "DualCLIPLoader",
94
+ "cnr_id": "comfy-core",
95
+ "ver": "0.27.0"
96
+ },
97
+ "widgets_values": [
98
+ "t5xxl_fp16.safetensors",
99
+ "clip_l.safetensors",
100
+ "flux",
101
+ "default"
102
+ ]
103
+ },
104
+ {
105
+ "id": 4,
106
+ "type": "VAELoader",
107
+ "pos": [
108
+ -720,
109
+ 250
110
+ ],
111
+ "size": [
112
+ 340,
113
+ 58
114
+ ],
115
+ "flags": {},
116
+ "order": 3,
117
+ "mode": 0,
118
+ "inputs": [],
119
+ "outputs": [
120
+ {
121
+ "name": "VAE",
122
+ "type": "VAE",
123
+ "links": [
124
+ 19,
125
+ 24,
126
+ 33
127
+ ],
128
+ "slot_index": 0
129
+ }
130
+ ],
131
+ "properties": {
132
+ "Node name for S&R": "VAELoader",
133
+ "cnr_id": "comfy-core",
134
+ "ver": "0.27.0"
135
+ },
136
+ "widgets_values": [
137
+ "ae.safetensors"
138
+ ]
139
+ },
140
+ {
141
+ "id": 5,
142
+ "type": "LoadImage",
143
+ "pos": [
144
+ -720,
145
+ 420
146
+ ],
147
+ "size": [
148
+ 274,
149
+ 314
150
+ ],
151
+ "flags": {},
152
+ "order": 4,
153
+ "mode": 0,
154
+ "inputs": [],
155
+ "outputs": [
156
+ {
157
+ "name": "IMAGE",
158
+ "type": "IMAGE",
159
+ "links": [
160
+ 2,
161
+ 12
162
+ ],
163
+ "slot_index": 0
164
+ },
165
+ {
166
+ "name": "MASK",
167
+ "type": "MASK",
168
+ "links": [],
169
+ "slot_index": 1
170
+ }
171
+ ],
172
+ "properties": {
173
+ "Node name for S&R": "LoadImage",
174
+ "cnr_id": "comfy-core",
175
+ "ver": "0.27.0"
176
+ },
177
+ "title": "Style reference (Image A)",
178
+ "widgets_values": [
179
+ "style_ref.png",
180
+ "image"
181
+ ]
182
+ },
183
+ {
184
+ "id": 6,
185
+ "type": "CLIPVisionLoader",
186
+ "pos": [
187
+ -720,
188
+ 780
189
+ ],
190
+ "size": [
191
+ 340,
192
+ 58
193
+ ],
194
+ "flags": {},
195
+ "order": 5,
196
+ "mode": 0,
197
+ "inputs": [],
198
+ "outputs": [
199
+ {
200
+ "name": "CLIP_VISION",
201
+ "type": "CLIP_VISION",
202
+ "links": [
203
+ 1,
204
+ 11
205
+ ],
206
+ "slot_index": 0
207
+ }
208
+ ],
209
+ "properties": {
210
+ "Node name for S&R": "CLIPVisionLoader",
211
+ "cnr_id": "comfy-core",
212
+ "ver": "0.27.0"
213
+ },
214
+ "widgets_values": [
215
+ "sigclip_vision_patch14_384.safetensors"
216
+ ]
217
+ },
218
+ {
219
+ "id": 7,
220
+ "type": "CLIPVisionEncode",
221
+ "pos": [
222
+ -340,
223
+ 480
224
+ ],
225
+ "size": [
226
+ 290,
227
+ 78
228
+ ],
229
+ "flags": {},
230
+ "order": 6,
231
+ "mode": 0,
232
+ "inputs": [
233
+ {
234
+ "name": "clip_vision",
235
+ "type": "CLIP_VISION",
236
+ "link": 1
237
+ },
238
+ {
239
+ "name": "image",
240
+ "type": "IMAGE",
241
+ "link": 2
242
+ }
243
+ ],
244
+ "outputs": [
245
+ {
246
+ "name": "CLIP_VISION_OUTPUT",
247
+ "type": "CLIP_VISION_OUTPUT",
248
+ "links": [
249
+ 8
250
+ ],
251
+ "slot_index": 0
252
+ }
253
+ ],
254
+ "properties": {
255
+ "Node name for S&R": "CLIPVisionEncode",
256
+ "cnr_id": "comfy-core",
257
+ "ver": "0.27.0"
258
+ },
259
+ "widgets_values": [
260
+ "center"
261
+ ]
262
+ },
263
+ {
264
+ "id": 8,
265
+ "type": "StyleModelLoader",
266
+ "pos": [
267
+ -720,
268
+ 870
269
+ ],
270
+ "size": [
271
+ 340,
272
+ 58
273
+ ],
274
+ "flags": {},
275
+ "order": 7,
276
+ "mode": 0,
277
+ "inputs": [],
278
+ "outputs": [
279
+ {
280
+ "name": "STYLE_MODEL",
281
+ "type": "STYLE_MODEL",
282
+ "links": [
283
+ 7,
284
+ 10
285
+ ],
286
+ "slot_index": 0
287
+ }
288
+ ],
289
+ "properties": {
290
+ "Node name for S&R": "StyleModelLoader",
291
+ "cnr_id": "comfy-core",
292
+ "ver": "0.27.0"
293
+ },
294
+ "widgets_values": [
295
+ "flux1-redux-dev.safetensors"
296
+ ]
297
+ },
298
+ {
299
+ "id": 9,
300
+ "type": "CLIPTextEncode",
301
+ "pos": [
302
+ -300,
303
+ 60
304
+ ],
305
+ "size": [
306
+ 400,
307
+ 160
308
+ ],
309
+ "flags": {},
310
+ "order": 8,
311
+ "mode": 0,
312
+ "inputs": [
313
+ {
314
+ "name": "clip",
315
+ "type": "CLIP",
316
+ "link": 3
317
+ }
318
+ ],
319
+ "outputs": [
320
+ {
321
+ "name": "CONDITIONING",
322
+ "type": "CONDITIONING",
323
+ "links": [
324
+ 4
325
+ ],
326
+ "slot_index": 0
327
+ }
328
+ ],
329
+ "properties": {
330
+ "Node name for S&R": "CLIPTextEncode",
331
+ "cnr_id": "comfy-core",
332
+ "ver": "0.27.0"
333
+ },
334
+ "title": "Prompt (optional \u2014 may stay empty)",
335
+ "widgets_values": [
336
+ ""
337
+ ]
338
+ },
339
+ {
340
+ "id": 10,
341
+ "type": "FluxGuidance",
342
+ "pos": [
343
+ 140,
344
+ 60
345
+ ],
346
+ "size": [
347
+ 290,
348
+ 58
349
+ ],
350
+ "flags": {},
351
+ "order": 9,
352
+ "mode": 0,
353
+ "inputs": [
354
+ {
355
+ "name": "conditioning",
356
+ "type": "CONDITIONING",
357
+ "link": 4
358
+ }
359
+ ],
360
+ "outputs": [
361
+ {
362
+ "name": "CONDITIONING",
363
+ "type": "CONDITIONING",
364
+ "links": [
365
+ 5,
366
+ 6,
367
+ 9
368
+ ],
369
+ "slot_index": 0
370
+ }
371
+ ],
372
+ "properties": {
373
+ "Node name for S&R": "FluxGuidance",
374
+ "cnr_id": "comfy-core",
375
+ "ver": "0.27.0"
376
+ },
377
+ "widgets_values": [
378
+ 3.5
379
+ ]
380
+ },
381
+ {
382
+ "id": 11,
383
+ "type": "ConditioningZeroOut",
384
+ "pos": [
385
+ 140,
386
+ 170
387
+ ],
388
+ "size": [
389
+ 290,
390
+ 48
391
+ ],
392
+ "flags": {},
393
+ "order": 10,
394
+ "mode": 0,
395
+ "inputs": [
396
+ {
397
+ "name": "conditioning",
398
+ "type": "CONDITIONING",
399
+ "link": 5
400
+ }
401
+ ],
402
+ "outputs": [
403
+ {
404
+ "name": "CONDITIONING",
405
+ "type": "CONDITIONING",
406
+ "links": [
407
+ 17
408
+ ],
409
+ "slot_index": 0
410
+ }
411
+ ],
412
+ "properties": {
413
+ "Node name for S&R": "ConditioningZeroOut",
414
+ "cnr_id": "comfy-core",
415
+ "ver": "0.27.0"
416
+ }
417
+ },
418
+ {
419
+ "id": 12,
420
+ "type": "StyleModelApply",
421
+ "pos": [
422
+ 140,
423
+ 300
424
+ ],
425
+ "size": [
426
+ 320,
427
+ 102
428
+ ],
429
+ "flags": {},
430
+ "order": 11,
431
+ "mode": 0,
432
+ "inputs": [
433
+ {
434
+ "name": "conditioning",
435
+ "type": "CONDITIONING",
436
+ "link": 6
437
+ },
438
+ {
439
+ "name": "style_model",
440
+ "type": "STYLE_MODEL",
441
+ "link": 7
442
+ },
443
+ {
444
+ "name": "clip_vision_output",
445
+ "type": "CLIP_VISION_OUTPUT",
446
+ "link": 8
447
+ }
448
+ ],
449
+ "outputs": [
450
+ {
451
+ "name": "CONDITIONING",
452
+ "type": "CONDITIONING",
453
+ "links": [
454
+ 16
455
+ ],
456
+ "slot_index": 0
457
+ }
458
+ ],
459
+ "properties": {
460
+ "Node name for S&R": "StyleModelApply",
461
+ "cnr_id": "comfy-core",
462
+ "ver": "0.27.0"
463
+ },
464
+ "widgets_values": [
465
+ 0.5,
466
+ "attn_bias"
467
+ ]
468
+ },
469
+ {
470
+ "id": 13,
471
+ "type": "ReduxAdvanced",
472
+ "pos": [
473
+ 140,
474
+ 520
475
+ ],
476
+ "size": [
477
+ 320,
478
+ 190
479
+ ],
480
+ "flags": {},
481
+ "order": 12,
482
+ "mode": 4,
483
+ "inputs": [
484
+ {
485
+ "name": "conditioning",
486
+ "type": "CONDITIONING",
487
+ "link": 9
488
+ },
489
+ {
490
+ "name": "style_model",
491
+ "type": "STYLE_MODEL",
492
+ "link": 10
493
+ },
494
+ {
495
+ "name": "clip_vision",
496
+ "type": "CLIP_VISION",
497
+ "link": 11
498
+ },
499
+ {
500
+ "name": "image",
501
+ "type": "IMAGE",
502
+ "link": 12
503
+ },
504
+ {
505
+ "name": "mask",
506
+ "type": "MASK",
507
+ "link": null
508
+ }
509
+ ],
510
+ "outputs": [
511
+ {
512
+ "name": "CONDITIONING",
513
+ "type": "CONDITIONING",
514
+ "links": [],
515
+ "slot_index": 0
516
+ },
517
+ {
518
+ "name": "IMAGE",
519
+ "type": "IMAGE",
520
+ "links": [],
521
+ "slot_index": 1
522
+ },
523
+ {
524
+ "name": "MASK",
525
+ "type": "MASK",
526
+ "links": [],
527
+ "slot_index": 2
528
+ }
529
+ ],
530
+ "properties": {
531
+ "Node name for S&R": "ReduxAdvanced",
532
+ "aux_id": "kaibioinfo/ComfyUI_AdvancedRefluxControl"
533
+ },
534
+ "title": "ALT: ReduxAdvanced (rewire to use)",
535
+ "widgets_values": [
536
+ 3,
537
+ "area",
538
+ "center crop (square)",
539
+ 1.0,
540
+ 0.1
541
+ ]
542
+ },
543
+ {
544
+ "id": 14,
545
+ "type": "LoadImage",
546
+ "pos": [
547
+ -720,
548
+ 1000
549
+ ],
550
+ "size": [
551
+ 274,
552
+ 314
553
+ ],
554
+ "flags": {},
555
+ "order": 13,
556
+ "mode": 0,
557
+ "inputs": [],
558
+ "outputs": [
559
+ {
560
+ "name": "IMAGE",
561
+ "type": "IMAGE",
562
+ "links": [
563
+ 13,
564
+ 15
565
+ ],
566
+ "slot_index": 0
567
+ },
568
+ {
569
+ "name": "MASK",
570
+ "type": "MASK",
571
+ "links": [],
572
+ "slot_index": 1
573
+ }
574
+ ],
575
+ "properties": {
576
+ "Node name for S&R": "LoadImage",
577
+ "cnr_id": "comfy-core",
578
+ "ver": "0.27.0"
579
+ },
580
+ "title": "Composition reference (Image B)",
581
+ "widgets_values": [
582
+ "composition_ref.png",
583
+ "image"
584
+ ]
585
+ },
586
+ {
587
+ "id": 15,
588
+ "type": "DepthAnythingV2Preprocessor",
589
+ "pos": [
590
+ -300,
591
+ 1030
592
+ ],
593
+ "size": [
594
+ 330,
595
+ 82
596
+ ],
597
+ "flags": {},
598
+ "order": 14,
599
+ "mode": 0,
600
+ "inputs": [
601
+ {
602
+ "name": "image",
603
+ "type": "IMAGE",
604
+ "link": 13
605
+ }
606
+ ],
607
+ "outputs": [
608
+ {
609
+ "name": "IMAGE",
610
+ "type": "IMAGE",
611
+ "links": [
612
+ 14,
613
+ 20
614
+ ],
615
+ "slot_index": 0
616
+ }
617
+ ],
618
+ "properties": {
619
+ "Node name for S&R": "DepthAnythingV2Preprocessor",
620
+ "cnr_id": "comfyui_controlnet_aux"
621
+ },
622
+ "widgets_values": [
623
+ "depth_anything_v2_vitl.pth",
624
+ 1024
625
+ ]
626
+ },
627
+ {
628
+ "id": 16,
629
+ "type": "PreviewImage",
630
+ "pos": [
631
+ -300,
632
+ 1180
633
+ ],
634
+ "size": [
635
+ 300,
636
+ 300
637
+ ],
638
+ "flags": {},
639
+ "order": 15,
640
+ "mode": 0,
641
+ "inputs": [
642
+ {
643
+ "name": "images",
644
+ "type": "IMAGE",
645
+ "link": 14
646
+ }
647
+ ],
648
+ "outputs": [],
649
+ "properties": {
650
+ "Node name for S&R": "PreviewImage",
651
+ "cnr_id": "comfy-core",
652
+ "ver": "0.27.0"
653
+ },
654
+ "title": "Depth map preview"
655
+ },
656
+ {
657
+ "id": 17,
658
+ "type": "Canny",
659
+ "pos": [
660
+ -300,
661
+ 1540
662
+ ],
663
+ "size": [
664
+ 290,
665
+ 82
666
+ ],
667
+ "flags": {},
668
+ "order": 16,
669
+ "mode": 4,
670
+ "inputs": [
671
+ {
672
+ "name": "image",
673
+ "type": "IMAGE",
674
+ "link": 15
675
+ }
676
+ ],
677
+ "outputs": [
678
+ {
679
+ "name": "IMAGE",
680
+ "type": "IMAGE",
681
+ "links": [
682
+ 25
683
+ ],
684
+ "slot_index": 0
685
+ }
686
+ ],
687
+ "properties": {
688
+ "Node name for S&R": "Canny",
689
+ "cnr_id": "comfy-core",
690
+ "ver": "0.27.0"
691
+ },
692
+ "title": "OPTIONAL: canny edges",
693
+ "widgets_values": [
694
+ 0.2,
695
+ 0.5
696
+ ]
697
+ },
698
+ {
699
+ "id": 18,
700
+ "type": "ControlNetLoader",
701
+ "pos": [
702
+ 140,
703
+ 950
704
+ ],
705
+ "size": [
706
+ 380,
707
+ 58
708
+ ],
709
+ "flags": {},
710
+ "order": 17,
711
+ "mode": 0,
712
+ "inputs": [],
713
+ "outputs": [
714
+ {
715
+ "name": "CONTROL_NET",
716
+ "type": "CONTROL_NET",
717
+ "links": [
718
+ 18,
719
+ 23
720
+ ],
721
+ "slot_index": 0
722
+ }
723
+ ],
724
+ "properties": {
725
+ "Node name for S&R": "ControlNetLoader",
726
+ "cnr_id": "comfy-core",
727
+ "ver": "0.27.0"
728
+ },
729
+ "widgets_values": [
730
+ "FLUX.1-dev-ControlNet-Union-Pro-2.0.safetensors"
731
+ ]
732
+ },
733
+ {
734
+ "id": 19,
735
+ "type": "ControlNetApplySD3",
736
+ "pos": [
737
+ 560,
738
+ 300
739
+ ],
740
+ "size": [
741
+ 320,
742
+ 166
743
+ ],
744
+ "flags": {},
745
+ "order": 18,
746
+ "mode": 0,
747
+ "inputs": [
748
+ {
749
+ "name": "positive",
750
+ "type": "CONDITIONING",
751
+ "link": 16
752
+ },
753
+ {
754
+ "name": "negative",
755
+ "type": "CONDITIONING",
756
+ "link": 17
757
+ },
758
+ {
759
+ "name": "control_net",
760
+ "type": "CONTROL_NET",
761
+ "link": 18
762
+ },
763
+ {
764
+ "name": "vae",
765
+ "type": "VAE",
766
+ "link": 19
767
+ },
768
+ {
769
+ "name": "image",
770
+ "type": "IMAGE",
771
+ "link": 20
772
+ }
773
+ ],
774
+ "outputs": [
775
+ {
776
+ "name": "positive",
777
+ "type": "CONDITIONING",
778
+ "links": [
779
+ 21
780
+ ],
781
+ "slot_index": 0
782
+ },
783
+ {
784
+ "name": "negative",
785
+ "type": "CONDITIONING",
786
+ "links": [
787
+ 22
788
+ ],
789
+ "slot_index": 1
790
+ }
791
+ ],
792
+ "properties": {
793
+ "Node name for S&R": "ControlNetApplySD3",
794
+ "cnr_id": "comfy-core",
795
+ "ver": "0.27.0"
796
+ },
797
+ "title": "Apply ControlNet \u2014 DEPTH",
798
+ "widgets_values": [
799
+ 0.7,
800
+ 0.0,
801
+ 0.8
802
+ ]
803
+ },
804
+ {
805
+ "id": 20,
806
+ "type": "ControlNetApplySD3",
807
+ "pos": [
808
+ 560,
809
+ 560
810
+ ],
811
+ "size": [
812
+ 320,
813
+ 166
814
+ ],
815
+ "flags": {},
816
+ "order": 19,
817
+ "mode": 4,
818
+ "inputs": [
819
+ {
820
+ "name": "positive",
821
+ "type": "CONDITIONING",
822
+ "link": 21
823
+ },
824
+ {
825
+ "name": "negative",
826
+ "type": "CONDITIONING",
827
+ "link": 22
828
+ },
829
+ {
830
+ "name": "control_net",
831
+ "type": "CONTROL_NET",
832
+ "link": 23
833
+ },
834
+ {
835
+ "name": "vae",
836
+ "type": "VAE",
837
+ "link": 24
838
+ },
839
+ {
840
+ "name": "image",
841
+ "type": "IMAGE",
842
+ "link": 25
843
+ }
844
+ ],
845
+ "outputs": [
846
+ {
847
+ "name": "positive",
848
+ "type": "CONDITIONING",
849
+ "links": [
850
+ 29
851
+ ],
852
+ "slot_index": 0
853
+ },
854
+ {
855
+ "name": "negative",
856
+ "type": "CONDITIONING",
857
+ "links": [
858
+ 30
859
+ ],
860
+ "slot_index": 1
861
+ }
862
+ ],
863
+ "properties": {
864
+ "Node name for S&R": "ControlNetApplySD3",
865
+ "cnr_id": "comfy-core",
866
+ "ver": "0.27.0"
867
+ },
868
+ "title": "OPTIONAL: Apply ControlNet \u2014 CANNY (stack)",
869
+ "widgets_values": [
870
+ 0.35,
871
+ 0.0,
872
+ 0.6
873
+ ]
874
+ },
875
+ {
876
+ "id": 21,
877
+ "type": "LoraLoaderModelOnly",
878
+ "pos": [
879
+ -300,
880
+ -160
881
+ ],
882
+ "size": [
883
+ 340,
884
+ 82
885
+ ],
886
+ "flags": {},
887
+ "order": 20,
888
+ "mode": 4,
889
+ "inputs": [
890
+ {
891
+ "name": "model",
892
+ "type": "MODEL",
893
+ "link": 26
894
+ }
895
+ ],
896
+ "outputs": [
897
+ {
898
+ "name": "MODEL",
899
+ "type": "MODEL",
900
+ "links": [
901
+ 27
902
+ ],
903
+ "slot_index": 0
904
+ }
905
+ ],
906
+ "properties": {
907
+ "Node name for S&R": "LoraLoaderModelOnly",
908
+ "cnr_id": "comfy-core",
909
+ "ver": "0.27.0"
910
+ },
911
+ "title": "FAST PREVIEW: turbo LoRA (set steps 8)",
912
+ "widgets_values": [
913
+ "flux1-turbo-alpha.safetensors",
914
+ 1.0
915
+ ]
916
+ },
917
+ {
918
+ "id": 22,
919
+ "type": "ModelSamplingFlux",
920
+ "pos": [
921
+ 140,
922
+ -160
923
+ ],
924
+ "size": [
925
+ 300,
926
+ 130
927
+ ],
928
+ "flags": {},
929
+ "order": 21,
930
+ "mode": 0,
931
+ "inputs": [
932
+ {
933
+ "name": "model",
934
+ "type": "MODEL",
935
+ "link": 27
936
+ }
937
+ ],
938
+ "outputs": [
939
+ {
940
+ "name": "MODEL",
941
+ "type": "MODEL",
942
+ "links": [
943
+ 28
944
+ ],
945
+ "slot_index": 0
946
+ }
947
+ ],
948
+ "properties": {
949
+ "Node name for S&R": "ModelSamplingFlux",
950
+ "cnr_id": "comfy-core",
951
+ "ver": "0.27.0"
952
+ },
953
+ "widgets_values": [
954
+ 1.15,
955
+ 0.5,
956
+ 1024,
957
+ 1024
958
+ ]
959
+ },
960
+ {
961
+ "id": 23,
962
+ "type": "EmptySD3LatentImage",
963
+ "pos": [
964
+ 560,
965
+ 950
966
+ ],
967
+ "size": [
968
+ 290,
969
+ 106
970
+ ],
971
+ "flags": {},
972
+ "order": 22,
973
+ "mode": 0,
974
+ "inputs": [],
975
+ "outputs": [
976
+ {
977
+ "name": "LATENT",
978
+ "type": "LATENT",
979
+ "links": [
980
+ 31
981
+ ],
982
+ "slot_index": 0
983
+ }
984
+ ],
985
+ "properties": {
986
+ "Node name for S&R": "EmptySD3LatentImage",
987
+ "cnr_id": "comfy-core",
988
+ "ver": "0.27.0"
989
+ },
990
+ "widgets_values": [
991
+ 1024,
992
+ 1024,
993
+ 1
994
+ ]
995
+ },
996
+ {
997
+ "id": 24,
998
+ "type": "KSampler",
999
+ "pos": [
1000
+ 980,
1001
+ 300
1002
+ ],
1003
+ "size": [
1004
+ 300,
1005
+ 262
1006
+ ],
1007
+ "flags": {},
1008
+ "order": 23,
1009
+ "mode": 0,
1010
+ "inputs": [
1011
+ {
1012
+ "name": "model",
1013
+ "type": "MODEL",
1014
+ "link": 28
1015
+ },
1016
+ {
1017
+ "name": "positive",
1018
+ "type": "CONDITIONING",
1019
+ "link": 29
1020
+ },
1021
+ {
1022
+ "name": "negative",
1023
+ "type": "CONDITIONING",
1024
+ "link": 30
1025
+ },
1026
+ {
1027
+ "name": "latent_image",
1028
+ "type": "LATENT",
1029
+ "link": 31
1030
+ }
1031
+ ],
1032
+ "outputs": [
1033
+ {
1034
+ "name": "LATENT",
1035
+ "type": "LATENT",
1036
+ "links": [
1037
+ 32
1038
+ ],
1039
+ "slot_index": 0
1040
+ }
1041
+ ],
1042
+ "properties": {
1043
+ "Node name for S&R": "KSampler",
1044
+ "cnr_id": "comfy-core",
1045
+ "ver": "0.27.0"
1046
+ },
1047
+ "widgets_values": [
1048
+ 0,
1049
+ "randomize",
1050
+ 28,
1051
+ 1.0,
1052
+ "euler",
1053
+ "simple",
1054
+ 1.0
1055
+ ]
1056
+ },
1057
+ {
1058
+ "id": 25,
1059
+ "type": "VAEDecode",
1060
+ "pos": [
1061
+ 1320,
1062
+ 300
1063
+ ],
1064
+ "size": [
1065
+ 210,
1066
+ 66
1067
+ ],
1068
+ "flags": {},
1069
+ "order": 24,
1070
+ "mode": 0,
1071
+ "inputs": [
1072
+ {
1073
+ "name": "samples",
1074
+ "type": "LATENT",
1075
+ "link": 32
1076
+ },
1077
+ {
1078
+ "name": "vae",
1079
+ "type": "VAE",
1080
+ "link": 33
1081
+ }
1082
+ ],
1083
+ "outputs": [
1084
+ {
1085
+ "name": "IMAGE",
1086
+ "type": "IMAGE",
1087
+ "links": [
1088
+ 34
1089
+ ],
1090
+ "slot_index": 0
1091
+ }
1092
+ ],
1093
+ "properties": {
1094
+ "Node name for S&R": "VAEDecode",
1095
+ "cnr_id": "comfy-core",
1096
+ "ver": "0.27.0"
1097
+ }
1098
+ },
1099
+ {
1100
+ "id": 26,
1101
+ "type": "SaveImage",
1102
+ "pos": [
1103
+ 1320,
1104
+ 420
1105
+ ],
1106
+ "size": [
1107
+ 400,
1108
+ 400
1109
+ ],
1110
+ "flags": {},
1111
+ "order": 25,
1112
+ "mode": 0,
1113
+ "inputs": [
1114
+ {
1115
+ "name": "images",
1116
+ "type": "IMAGE",
1117
+ "link": 34
1118
+ }
1119
+ ],
1120
+ "outputs": [],
1121
+ "properties": {
1122
+ "Node name for S&R": "SaveImage",
1123
+ "cnr_id": "comfy-core",
1124
+ "ver": "0.27.0"
1125
+ },
1126
+ "widgets_values": [
1127
+ "flux-redux/style-comp"
1128
+ ]
1129
+ }
1130
+ ],
1131
+ "links": [
1132
+ [
1133
+ 1,
1134
+ 6,
1135
+ 0,
1136
+ 7,
1137
+ 0,
1138
+ "CLIP_VISION"
1139
+ ],
1140
+ [
1141
+ 2,
1142
+ 5,
1143
+ 0,
1144
+ 7,
1145
+ 1,
1146
+ "IMAGE"
1147
+ ],
1148
+ [
1149
+ 3,
1150
+ 3,
1151
+ 0,
1152
+ 9,
1153
+ 0,
1154
+ "CLIP"
1155
+ ],
1156
+ [
1157
+ 4,
1158
+ 9,
1159
+ 0,
1160
+ 10,
1161
+ 0,
1162
+ "CONDITIONING"
1163
+ ],
1164
+ [
1165
+ 5,
1166
+ 10,
1167
+ 0,
1168
+ 11,
1169
+ 0,
1170
+ "CONDITIONING"
1171
+ ],
1172
+ [
1173
+ 6,
1174
+ 10,
1175
+ 0,
1176
+ 12,
1177
+ 0,
1178
+ "CONDITIONING"
1179
+ ],
1180
+ [
1181
+ 7,
1182
+ 8,
1183
+ 0,
1184
+ 12,
1185
+ 1,
1186
+ "STYLE_MODEL"
1187
+ ],
1188
+ [
1189
+ 8,
1190
+ 7,
1191
+ 0,
1192
+ 12,
1193
+ 2,
1194
+ "CLIP_VISION_OUTPUT"
1195
+ ],
1196
+ [
1197
+ 9,
1198
+ 10,
1199
+ 0,
1200
+ 13,
1201
+ 0,
1202
+ "CONDITIONING"
1203
+ ],
1204
+ [
1205
+ 10,
1206
+ 8,
1207
+ 0,
1208
+ 13,
1209
+ 1,
1210
+ "STYLE_MODEL"
1211
+ ],
1212
+ [
1213
+ 11,
1214
+ 6,
1215
+ 0,
1216
+ 13,
1217
+ 2,
1218
+ "CLIP_VISION"
1219
+ ],
1220
+ [
1221
+ 12,
1222
+ 5,
1223
+ 0,
1224
+ 13,
1225
+ 3,
1226
+ "IMAGE"
1227
+ ],
1228
+ [
1229
+ 13,
1230
+ 14,
1231
+ 0,
1232
+ 15,
1233
+ 0,
1234
+ "IMAGE"
1235
+ ],
1236
+ [
1237
+ 14,
1238
+ 15,
1239
+ 0,
1240
+ 16,
1241
+ 0,
1242
+ "IMAGE"
1243
+ ],
1244
+ [
1245
+ 15,
1246
+ 14,
1247
+ 0,
1248
+ 17,
1249
+ 0,
1250
+ "IMAGE"
1251
+ ],
1252
+ [
1253
+ 16,
1254
+ 12,
1255
+ 0,
1256
+ 19,
1257
+ 0,
1258
+ "CONDITIONING"
1259
+ ],
1260
+ [
1261
+ 17,
1262
+ 11,
1263
+ 0,
1264
+ 19,
1265
+ 1,
1266
+ "CONDITIONING"
1267
+ ],
1268
+ [
1269
+ 18,
1270
+ 18,
1271
+ 0,
1272
+ 19,
1273
+ 2,
1274
+ "CONTROL_NET"
1275
+ ],
1276
+ [
1277
+ 19,
1278
+ 4,
1279
+ 0,
1280
+ 19,
1281
+ 3,
1282
+ "VAE"
1283
+ ],
1284
+ [
1285
+ 20,
1286
+ 15,
1287
+ 0,
1288
+ 19,
1289
+ 4,
1290
+ "IMAGE"
1291
+ ],
1292
+ [
1293
+ 21,
1294
+ 19,
1295
+ 0,
1296
+ 20,
1297
+ 0,
1298
+ "CONDITIONING"
1299
+ ],
1300
+ [
1301
+ 22,
1302
+ 19,
1303
+ 1,
1304
+ 20,
1305
+ 1,
1306
+ "CONDITIONING"
1307
+ ],
1308
+ [
1309
+ 23,
1310
+ 18,
1311
+ 0,
1312
+ 20,
1313
+ 2,
1314
+ "CONTROL_NET"
1315
+ ],
1316
+ [
1317
+ 24,
1318
+ 4,
1319
+ 0,
1320
+ 20,
1321
+ 3,
1322
+ "VAE"
1323
+ ],
1324
+ [
1325
+ 25,
1326
+ 17,
1327
+ 0,
1328
+ 20,
1329
+ 4,
1330
+ "IMAGE"
1331
+ ],
1332
+ [
1333
+ 26,
1334
+ 2,
1335
+ 0,
1336
+ 21,
1337
+ 0,
1338
+ "MODEL"
1339
+ ],
1340
+ [
1341
+ 27,
1342
+ 21,
1343
+ 0,
1344
+ 22,
1345
+ 0,
1346
+ "MODEL"
1347
+ ],
1348
+ [
1349
+ 28,
1350
+ 22,
1351
+ 0,
1352
+ 24,
1353
+ 0,
1354
+ "MODEL"
1355
+ ],
1356
+ [
1357
+ 29,
1358
+ 20,
1359
+ 0,
1360
+ 24,
1361
+ 1,
1362
+ "CONDITIONING"
1363
+ ],
1364
+ [
1365
+ 30,
1366
+ 20,
1367
+ 1,
1368
+ 24,
1369
+ 2,
1370
+ "CONDITIONING"
1371
+ ],
1372
+ [
1373
+ 31,
1374
+ 23,
1375
+ 0,
1376
+ 24,
1377
+ 3,
1378
+ "LATENT"
1379
+ ],
1380
+ [
1381
+ 32,
1382
+ 24,
1383
+ 0,
1384
+ 25,
1385
+ 0,
1386
+ "LATENT"
1387
+ ],
1388
+ [
1389
+ 33,
1390
+ 4,
1391
+ 0,
1392
+ 25,
1393
+ 1,
1394
+ "VAE"
1395
+ ],
1396
+ [
1397
+ 34,
1398
+ 25,
1399
+ 0,
1400
+ 26,
1401
+ 0,
1402
+ "IMAGE"
1403
+ ]
1404
+ ],
1405
+ "groups": [
1406
+ {
1407
+ "id": 1,
1408
+ "title": "STYLE REFERENCE \u2014 Redux",
1409
+ "bounding": [
1410
+ -740,
1411
+ 340,
1412
+ 1220,
1413
+ 700
1414
+ ],
1415
+ "color": "#3f789e",
1416
+ "font_size": 24,
1417
+ "flags": {}
1418
+ },
1419
+ {
1420
+ "id": 2,
1421
+ "title": "COMPOSITION REFERENCE \u2014 Union-Pro-2.0",
1422
+ "bounding": [
1423
+ -740,
1424
+ 900,
1425
+ 1220,
1426
+ 800
1427
+ ],
1428
+ "color": "#8f5b34",
1429
+ "font_size": 24,
1430
+ "flags": {}
1431
+ },
1432
+ {
1433
+ "id": 3,
1434
+ "title": "SAMPLING",
1435
+ "bounding": [
1436
+ 940,
1437
+ 200,
1438
+ 800,
1439
+ 700
1440
+ ],
1441
+ "color": "#444",
1442
+ "font_size": 24,
1443
+ "flags": {}
1444
+ }
1445
+ ],
1446
+ "config": {},
1447
+ "extra": {},
1448
+ "version": 0.4
1449
+ }