工作流 /
角色与时尚 /
步骤 2:联系表工作流

步骤 2:联系表工作流
Step 2: Contact Sheet Workflow
上传时尚大片与产品图,仅需 2 次 Nano Banana 生成,即可得到 8 种不同角度且产品一致的变体。
角色与时尚
25 个节点 2 个输入 8 次使用 ComfyUI ≥ 0.8.0 hellorob 74 KB
节点构成
SaveImage
× 8
PrimitiveStringMultiline
× 4
PrimitiveNode
× 3
LoadImage
× 2
GeminiImage2Node
× 2
BatchImagesNode
× 2
RegexReplace
× 2
68c58c16-e698-45a4-97f9-54ae8eb9dee9
× 1
487baed2-dc27-49c3-a6b2-0bf45a53e64d
× 1
官方标注的模型
Nano Banana Pro
工作流 JSON
和上面「下载工作流 JSON」是同一份文件。
1{
2 "id": "64759302-c98f-4f1c-8f18-5798aa64833e",
3 "revision": 0,
4 "last_node_id": 279,
5 "last_link_id": 321,
6 "nodes": [
7 {
8 "id": 16,
9 "type": "LoadImage",
10 "pos": [
11 2319.999985345572,
12 849.9999992457198
13 ],
14 "size": [
15 440,
16 630
17 ],
18 "flags": [],
19 "order": 0,
20 "mode": 0,
21 "inputs": [
22 {
23 "label": "Character Image",
24 "name": "image",
25 "type": "COMBO",
26 "widget": {
27 "name": "image"
28 },
29 "link": null
30 }
31 ],
32 "outputs": [
33 {
34 "name": "IMAGE",
35 "type": "IMAGE",
36 "links": [
37 262,
38 265
39 ]
40 },
41 {
42 "name": "MASK",
43 "type": "MASK",
44 "links": null
45 }
46 ],
47 "title": "Load Character Image",
48 "properties": {
49 "Node name for S&R": "LoadImage",
50 "cnr_id": "comfy-core",
51 "ver": "0.3.76"
52 },
53 "widgets_values": [
54 "contact_sheet_app_input_1.png",
55 "image"
56 ],
57 "color": "#232",
58 "bgcolor": "#353"
59 },
60 {
61 "id": 88,
62 "type": "SaveImage",
63 "pos": [
64 4320.000106394407,
65 1890.0000515832876
66 ],
67 "size": [
68 540,
69 410
70 ],
71 "flags": [],
72 "order": 21,
73 "mode": 0,
74 "inputs": [
75 {
76 "name": "images",
77 "type": "IMAGE",
78 "link": 258
79 }
80 ],
81 "outputs": [],
82 "properties": {
83 "Node name for S&R": "SaveImage",
84 "cnr_id": "comfy-core",
85 "ver": "0.3.76"
86 },
87 "widgets_values": [
88 "ComfyUI-image_5"
89 ]
90 },
91 {
92 "id": 89,
93 "type": "SaveImage",
94 "pos": [
95 4879.999991778512,
96 1890.0000515832876
97 ],
98 "size": [
99 530,
100 410
101 ],
102 "flags": [],
103 "order": 22,
104 "mode": 0,
105 "inputs": [
106 {
107 "name": "images",
108 "type": "IMAGE",
109 "link": 259
110 }
111 ],
112 "outputs": [],
113 "properties": {
114 "Node name for S&R": "SaveImage",
115 "cnr_id": "comfy-core",
116 "ver": "0.3.76"
117 },
118 "widgets_values": [
119 "ComfyUI-image_6"
120 ]
121 },
122 {
123 "id": 90,
124 "type": "SaveImage",
125 "pos": [
126 4320.000106394407,
127 2410.000121951348
128 ],
129 "size": [
130 540,
131 410
132 ],
133 "flags": [],
134 "order": 23,
135 "mode": 0,
136 "inputs": [
137 {
138 "name": "images",
139 "type": "IMAGE",
140 "link": 260
141 }
142 ],
143 "outputs": [],
144 "properties": {
145 "Node name for S&R": "SaveImage",
146 "cnr_id": "comfy-core",
147 "ver": "0.3.76"
148 },
149 "widgets_values": [
150 "ComfyUI-image_7"
151 ]
152 },
153 {
154 "id": 91,
155 "type": "SaveImage",
156 "pos": [
157 4879.999991778512,
158 2410.000121951348
159 ],
160 "size": [
161 530,
162 410
163 ],
164 "flags": [],
165 "order": 24,
166 "mode": 0,
167 "inputs": [
168 {
169 "name": "images",
170 "type": "IMAGE",
171 "link": 261
172 }
173 ],
174 "outputs": [],
175 "properties": {
176 "Node name for S&R": "SaveImage",
177 "cnr_id": "comfy-core",
178 "ver": "0.3.76"
179 },
180 "widgets_values": [
181 "ComfyUI-image_8"
182 ]
183 },
184 {
185 "id": 26,
186 "type": "LoadImage",
187 "pos": [
188 2319.999985345572,
189 1520.0001273116475
190 ],
191 "size": [
192 440,
193 600
194 ],
195 "flags": [],
196 "order": 1,
197 "mode": 0,
198 "inputs": [
199 {
200 "label": "Product Image",
201 "name": "image",
202 "type": "COMBO",
203 "widget": {
204 "name": "image"
205 },
206 "link": null
207 }
208 ],
209 "outputs": [
210 {
211 "name": "IMAGE",
212 "type": "IMAGE",
213 "links": [
214 263,
215 266
216 ]
217 },
218 {
219 "name": "MASK",
220 "type": "MASK",
221 "links": null
222 }
223 ],
224 "title": "Load Product Image",
225 "properties": {
226 "Node name for S&R": "LoadImage",
227 "cnr_id": "comfy-core",
228 "ver": "0.3.76"
229 },
230 "widgets_values": [
231 "brown_moisturizer_bottle.jpg",
232 "image"
233 ],
234 "color": "#232",
235 "bgcolor": "#353"
236 },
237 {
238 "id": 30,
239 "type": "GeminiImage2Node",
240 "pos": [
241 3600,
242 410
243 ],
244 "size": [
245 430,
246 750
247 ],
248 "flags": [],
249 "order": 13,
250 "mode": 0,
251 "inputs": [
252 {
253 "name": "images",
254 "shape": 7,
255 "type": "IMAGE",
256 "link": 264
257 },
258 {
259 "name": "files",
260 "shape": 7,
261 "type": "GEMINI_INPUT_FILES",
262 "link": null
263 },
264 {
265 "name": "prompt",
266 "type": "STRING",
267 "widget": {
268 "name": "prompt"
269 },
270 "link": 276
271 },
272 {
273 "name": "model",
274 "type": "COMBO",
275 "widget": {
276 "name": "model"
277 },
278 "link": 282
279 },
280 {
281 "name": "aspect_ratio",
282 "type": "COMBO",
283 "widget": {
284 "name": "aspect_ratio"
285 },
286 "link": 278
287 },
288 {
289 "name": "resolution",
290 "type": "COMBO",
291 "widget": {
292 "name": "resolution"
293 },
294 "link": 320
295 }
296 ],
297 "outputs": [
298 {
299 "name": "IMAGE",
300 "type": "IMAGE",
301 "links": [
302 315
303 ]
304 },
305 {
306 "name": "STRING",
307 "type": "STRING",
308 "links": null
309 }
310 ],
311 "properties": {
312 "Node name for S&R": "GeminiImage2Node",
313 "cnr_id": "comfy-core",
314 "ver": "0.3.76"
315 },
316 "widgets_values": [
317 "",
318 "gemini-3-pro-image-preview",
319 586933274482026,
320 "randomize",
321 "9:16",
322 "4K",
323 "IMAGE+TEXT",
324 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
325 ],
326 "color": "#432",
327 "bgcolor": "#653"
328 },
329 {
330 "id": 62,
331 "type": "PrimitiveStringMultiline",
332 "pos": [
333 3170,
334 1960
335 ],
336 "size": [
337 400,
338 140
339 ],
340 "flags": {
341 "collapsed": false
342 },
343 "order": 2,
344 "mode": 0,
345 "inputs": [],
346 "outputs": [
347 {
348 "name": "STRING",
349 "type": "STRING",
350 "links": [
351 283
352 ]
353 }
354 ],
355 "title": "Prompt Template V2",
356 "properties": {
357 "Node name for S&R": "PrimitiveStringMultiline",
358 "cnr_id": "comfy-core",
359 "ver": "0.3.76"
360 },
361 "widgets_values": [
362 "Analyze the input images and inventory all fashion-critical details: the subject(s) from image 1, exact wardrobe pieces, facial features, materials, colors, textures, accessories, hair, makeup, body proportions, environment, set geometry, light direction, and shadow quality.\nAll wardrobe, styling, hair, makeup, lighting, environment, and color grade must remain 100% unchanged across all frames. The character from image 1 is holding the product from image 2, maintain exact representation of the product, text legibility and relative size as seen in image 1.\nDo not add or remove anything (unless specified in the prompt).\nDo not generate with visible gutters/padding between grid images.\n \nYour visible output must be:\n \nOne 2×2 grid (4 frames).\n \nThen a keyframe breakdown for each frame.\n \nEach frame must represent a resting point after a dramatic camera move — only describe the final camera position and what the subject is doing, never the motion itself.\n \nThe four frames must be spatially dynamic, non-linear, and visually distinct.\n \nRequired 4-Frame Shot List \n{grid_descriptions}\n \nContinuity & Technical Requirements\n \nMaintain perfect wardrobe fidelity in every frame: exact garment type, silhouette, material, color, texture, stitching, accessories, closures, jewelry, shoes, hair, and makeup.\n \nEnvironment, textures, and lighting must remain consistent.\n \nDepth of field shifts naturally with focal length (deep for distant shots, shallow for close/detail shots).\n \nPhoto real textures and physically plausible light behavior required.\n \nFrames must feel like different camera placements within the same scene, not different scenes.\n \nAll keyframes must be the exact same aspect ratio, and exactly 4 keyframes should be output. Maintain the exact visual style in all keyframes, where the image is shot on fuji velvia film with a hard flash, the light is concentrated on the subject and fades slightly toward the edges of the frame. The image is over exposed showing significant film grain and is oversaturated. The skin appears shiny (almost oily), and there are harsh white reflections on the glasses frames.\n \nOutput Format\nA) 2×2 Contact Sheet Image (Mandatory)"
363 ]
364 },
365 {
366 "id": 34,
367 "type": "PrimitiveStringMultiline",
368 "pos": [
369 3150,
370 500
371 ],
372 "size": [
373 400,
374 140
375 ],
376 "flags": {
377 "collapsed": false
378 },
379 "order": 3,
380 "mode": 0,
381 "inputs": [],
382 "outputs": [
383 {
384 "name": "STRING",
385 "type": "STRING",
386 "links": [
387 275
388 ]
389 }
390 ],
391 "title": "Prompt Template V1",
392 "properties": {
393 "Node name for S&R": "PrimitiveStringMultiline",
394 "cnr_id": "comfy-core",
395 "ver": "0.3.76"
396 },
397 "widgets_values": [
398 "Analyze the input images and silently inventory all fashion-critical details: the subject(s) from image 1, exact wardrobe pieces, facial features, materials, colors, textures, accessories, hair, makeup, body proportions, environment, set geometry, light direction, and shadow quality.\nAll wardrobe, styling, hair, makeup, lighting, environment, and color grade must remain 100% unchanged across all frames. The character from image 1 is holding the product from image 2, maintain exact representation of the product, text legibility and relative size as seen in image 1.\nDo not add or remove anything (unless specified in the prompt).\nDo not generate with visible gutters/padding between grid images.\n \nYour visible output must be:\n \nOne 2×2 grid image (4 frames).\n \nThen a keyframe breakdown for each frame.\n \nEach frame must represent a resting point after a dramatic camera move — only describe the final camera position and what the subject is doing, never the motion itself.\n \nThe four frames must be spatially dynamic, non-linear, and visually distinct.\n \nRequired 4-Frame Shot List \n{grid_descriptions}\n\n \nContinuity & Technical Requirements\n \nMaintain perfect wardrobe fidelity in every frame: exact garment type, silhouette, material, color, texture, stitching, accessories, closures, jewelry, shoes, hair, and makeup.\n \nEnvironment, textures, and lighting must remain consistent.\n \nDepth of field shifts naturally with focal length (deep for distant shots, shallow for close/detail shots).\n \nPhoto real textures and physically plausible light behavior required.\n \nFrames must feel like different camera placements within the same scene, not different scenes.\n \nAll keyframes must be the exact same aspect ratio, and exactly 4 keyframes should be output. Maintain the exact visual style in all keyframes, where the image is shot on fuji velvia film with a hard flash, the light is concentrated on the subject and fades slightly toward the edges of the frame. The image is over exposed showing significant film grain and is oversaturated. The skin appears shiny (almost oily), and there are harsh white reflections on the glasses frames.\n \nOutput Format\nA) 2×2 Contact Sheet Image (Mandatory)"
399 ]
400 },
401 {
402 "id": 61,
403 "type": "GeminiImage2Node",
404 "pos": [
405 3609.999898116776,
406 1890.0000515832876
407 ],
408 "size": [
409 430,
410 750
411 ],
412 "flags": [],
413 "order": 14,
414 "mode": 0,
415 "inputs": [
416 {
417 "name": "images",
418 "shape": 7,
419 "type": "IMAGE",
420 "link": 267
421 },
422 {
423 "name": "files",
424 "shape": 7,
425 "type": "GEMINI_INPUT_FILES",
426 "link": null
427 },
428 {
429 "name": "prompt",
430 "type": "STRING",
431 "widget": {
432 "name": "prompt"
433 },
434 "link": 285
435 },
436 {
437 "name": "model",
438 "type": "COMBO",
439 "widget": {
440 "name": "model"
441 },
442 "link": 281
443 },
444 {
445 "name": "aspect_ratio",
446 "type": "COMBO",
447 "widget": {
448 "name": "aspect_ratio"
449 },
450 "link": 279
451 },
452 {
453 "name": "resolution",
454 "type": "COMBO",
455 "widget": {
456 "name": "resolution"
457 },
458 "link": 321
459 }
460 ],
461 "outputs": [
462 {
463 "name": "IMAGE",
464 "type": "IMAGE",
465 "links": [
466 253
467 ]
468 },
469 {
470 "name": "STRING",
471 "type": "STRING",
472 "links": []
473 }
474 ],
475 "properties": {
476 "Node name for S&R": "GeminiImage2Node",
477 "cnr_id": "comfy-core",
478 "ver": "0.3.76"
479 },
480 "widgets_values": [
481 "",
482 "gemini-3-pro-image-preview",
483 363592989122759,
484 "randomize",
485 "9:16",
486 "4K",
487 "IMAGE+TEXT",
488 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
489 ],
490 "color": "#432",
491 "bgcolor": "#653"
492 },
493 {
494 "id": 228,
495 "type": "68c58c16-e698-45a4-97f9-54ae8eb9dee9",
496 "pos": [
497 4070,
498 1890
499 ],
500 "size": [
501 230,
502 144
503 ],
504 "flags": {
505 "collapsed": false
506 },
507 "order": 16,
508 "mode": 0,
509 "inputs": [
510 {
511 "name": "image",
512 "type": "IMAGE",
513 "link": 253
514 }
515 ],
516 "outputs": [
517 {
518 "label": "IMAGE_1",
519 "name": "IMAGE",
520 "type": "IMAGE",
521 "links": [
522 258
523 ]
524 },
525 {
526 "label": "IMAGE_2",
527 "name": "IMAGE_1",
528 "type": "IMAGE",
529 "links": [
530 259
531 ]
532 },
533 {
534 "label": "IMAGE_3",
535 "name": "IMAGE_2",
536 "type": "IMAGE",
537 "links": [
538 260
539 ]
540 },
541 {
542 "label": "IMAGE_4",
543 "name": "IMAGE_3",
544 "type": "IMAGE",
545 "links": [
546 261
547 ]
548 }
549 ],
550 "properties": {
551 "proxyWidgets": [],
552 "cnr_id": "comfy-core",
553 "ver": "0.3.76"
554 },
555 "widgets_values": []
556 },
557 {
558 "id": 229,
559 "type": "BatchImagesNode",
560 "pos": [
561 3150,
562 440
563 ],
564 "size": [
565 230,
566 120
567 ],
568 "flags": {
569 "collapsed": true
570 },
571 "order": 9,
572 "mode": 0,
573 "inputs": [
574 {
575 "label": "image0",
576 "name": "images.image0",
577 "type": "IMAGE",
578 "link": 262
579 },
580 {
581 "label": "image1",
582 "name": "images.image1",
583 "type": "IMAGE",
584 "link": 263
585 },
586 {
587 "label": "image2",
588 "name": "images.image2",
589 "shape": 7,
590 "type": "IMAGE",
591 "link": null
592 }
593 ],
594 "outputs": [
595 {
596 "name": "IMAGE",
597 "type": "IMAGE",
598 "links": [
599 264
600 ]
601 }
602 ],
603 "properties": {
604 "Node name for S&R": "BatchImagesNode"
605 },
606 "widgets_values": []
607 },
608 {
609 "id": 230,
610 "type": "BatchImagesNode",
611 "pos": [
612 3160,
613 1900
614 ],
615 "size": [
616 230,
617 120
618 ],
619 "flags": {
620 "collapsed": true
621 },
622 "order": 10,
623 "mode": 0,
624 "inputs": [
625 {
626 "label": "image0",
627 "name": "images.image0",
628 "type": "IMAGE",
629 "link": 265
630 },
631 {
632 "label": "image1",
633 "name": "images.image1",
634 "type": "IMAGE",
635 "link": 266
636 },
637 {
638 "label": "image2",
639 "name": "images.image2",
640 "shape": 7,
641 "type": "IMAGE",
642 "link": null
643 }
644 ],
645 "outputs": [
646 {
647 "name": "IMAGE",
648 "type": "IMAGE",
649 "links": [
650 267
651 ]
652 }
653 ],
654 "properties": {
655 "Node name for S&R": "BatchImagesNode"
656 },
657 "widgets_values": []
658 },
659 {
660 "id": 239,
661 "type": "SaveImage",
662 "pos": [
663 4310,
664 410
665 ],
666 "size": [
667 540,
668 410
669 ],
670 "flags": [],
671 "order": 17,
672 "mode": 0,
673 "inputs": [
674 {
675 "name": "images",
676 "type": "IMAGE",
677 "link": 316
678 }
679 ],
680 "outputs": [],
681 "properties": {
682 "Node name for S&R": "SaveImage",
683 "cnr_id": "comfy-core",
684 "ver": "0.3.76"
685 },
686 "widgets_values": [
687 "ComfyUI-image_1"
688 ]
689 },
690 {
691 "id": 240,
692 "type": "SaveImage",
693 "pos": [
694 4880,
695 410
696 ],
697 "size": [
698 530,
699 410
700 ],
701 "flags": [],
702 "order": 18,
703 "mode": 0,
704 "inputs": [
705 {
706 "name": "images",
707 "type": "IMAGE",
708 "link": 317
709 }
710 ],
711 "outputs": [],
712 "properties": {
713 "Node name for S&R": "SaveImage",
714 "cnr_id": "comfy-core",
715 "ver": "0.3.76"
716 },
717 "widgets_values": [
718 "ComfyUI-image_2"
719 ]
720 },
721 {
722 "id": 241,
723 "type": "SaveImage",
724 "pos": [
725 4310,
726 910
727 ],
728 "size": [
729 540,
730 410
731 ],
732 "flags": [],
733 "order": 19,
734 "mode": 0,
735 "inputs": [
736 {
737 "name": "images",
738 "type": "IMAGE",
739 "link": 318
740 }
741 ],
742 "outputs": [],
743 "properties": {
744 "Node name for S&R": "SaveImage",
745 "cnr_id": "comfy-core",
746 "ver": "0.3.76"
747 },
748 "widgets_values": [
749 "ComfyUI-image_3"
750 ]
751 },
752 {
753 "id": 242,
754 "type": "SaveImage",
755 "pos": [
756 4880,
757 910
758 ],
759 "size": [
760 530,
761 410
762 ],
763 "flags": [],
764 "order": 20,
765 "mode": 0,
766 "inputs": [
767 {
768 "name": "images",
769 "type": "IMAGE",
770 "link": 319
771 }
772 ],
773 "outputs": [],
774 "properties": {
775 "Node name for S&R": "SaveImage",
776 "cnr_id": "comfy-core",
777 "ver": "0.3.76"
778 },
779 "widgets_values": [
780 "ComfyUI-image_4"
781 ]
782 },
783 {
784 "id": 245,
785 "type": "PrimitiveStringMultiline",
786 "pos": [
787 3159.999990218835,
788 770.0000156194193
789 ],
790 "size": [
791 400,
792 490
793 ],
794 "flags": {
795 "collapsed": false
796 },
797 "order": 4,
798 "mode": 0,
799 "inputs": [
800 {
801 "label": "Prompt grid images 1",
802 "name": "value",
803 "type": "STRING",
804 "widget": {
805 "name": "value"
806 },
807 "link": null
808 }
809 ],
810 "outputs": [
811 {
812 "name": "STRING",
813 "type": "STRING",
814 "links": [
815 274
816 ]
817 }
818 ],
819 "title": "Prompt Grid Images V1",
820 "properties": {
821 "Node name for S&R": "PrimitiveStringMultiline",
822 "cnr_id": "comfy-core",
823 "ver": "0.3.76"
824 },
825 "widgets_values": [
826 "1. High-Fashion Beauty Portrait (Close, Editorial, Intimate)\n \nCamera positioned very close to the subject's face, slightly above or slightly below eye level, using an elegant offset angle that enhances bone structure and highlights key wardrobe elements near the neckline. Shallow depth of field, flawless texture rendering, and a sculptural fashion-forward composition.\n \n2. High-Angle Three-Quarter Frame\n \nCamera positioned overhead but off-center, capturing the subject from a diagonal downward angle.\nThis frame should create strong shape abstraction and reveal wardrobe details from above.\n \n3. Low-Angle Oblique Full-Body Frame\n \nCamera positioned low to the ground and angled obliquely toward the subject.\nThis elongates the silhouette, emphasizes footwear, and creates a dramatic perspective distinct from Frames 1 and 2.\n \n4. Side-On Compression Frame (Long Lens)\n \nCamera placed far to one side of the subject, using a tighter focal length to compress space.\nThe subject appears in clean profile or near-profile, showcasing garment structure in a flattened, editorial manner."
827 ],
828 "color": "#232",
829 "bgcolor": "#353"
830 },
831 {
832 "id": 248,
833 "type": "RegexReplace",
834 "pos": [
835 3320,
836 690
837 ],
838 "size": [
839 210,
840 40
841 ],
842 "flags": {
843 "collapsed": true
844 },
845 "order": 11,
846 "mode": 0,
847 "showAdvanced": true,
848 "inputs": [
849 {
850 "name": "string",
851 "type": "STRING",
852 "widget": {
853 "name": "string"
854 },
855 "link": 275
856 },
857 {
858 "name": "replace",
859 "type": "STRING",
860 "widget": {
861 "name": "replace"
862 },
863 "link": 274
864 }
865 ],
866 "outputs": [
867 {
868 "name": "STRING",
869 "type": "STRING",
870 "links": [
871 276
872 ]
873 }
874 ],
875 "properties": {
876 "Node name for S&R": "RegexReplace"
877 },
878 "widgets_values": [
879 "",
880 "{grid_descriptions}\n",
881 "",
882 true,
883 false,
884 false,
885 0
886 ]
887 },
888 {
889 "id": 249,
890 "type": "PrimitiveStringMultiline",
891 "pos": [
892 3170,
893 2240
894 ],
895 "size": [
896 400,
897 470
898 ],
899 "flags": {
900 "collapsed": false
901 },
902 "order": 5,
903 "mode": 0,
904 "inputs": [
905 {
906 "label": "Prompt grid images 2",
907 "name": "value",
908 "type": "STRING",
909 "widget": {
910 "name": "value"
911 },
912 "link": null
913 }
914 ],
915 "outputs": [
916 {
917 "name": "STRING",
918 "type": "STRING",
919 "links": [
920 284
921 ]
922 }
923 ],
924 "title": "Prompt Grid Images V2",
925 "properties": {
926 "Node name for S&R": "PrimitiveStringMultiline",
927 "cnr_id": "comfy-core",
928 "ver": "0.3.76"
929 },
930 "widgets_values": [
931 " 1. Intimate Close Portrait From an Unexpected Height\n \nCamera positioned very close to the subject's face (or upper torso) but slightly above or below eye level.\nThe angle should feel fashion-editorial, not conventional — offset, elegant, and expressive.\n \n2. Extreme Detail Frame From a Non-Intuitive Angle\n \nCamera positioned extremely close to a wardrobe detail, accessory, or texture, but from an unusual spatial direction (e.g., from below, from behind, from the side of a neckline).\nThis must be a striking, abstract, editorial detail frame.\n\n3. Extreme depth perception of the subject holding item (INTRODUCE A NEW ITEM IF PROMPTED)\n\nA dynamic, high-energy photograph shot from an extreme low-angle worm’s-eye view using forced perspective. The man is thrusting the product from image 2 toward the camera lens, making the device appear larger than life in the foreground. His free hand is raised in a casual peace sign. \n\n4. Extreme Low Angle Shot from Perspective of the Subject's Shoe.\n\nCamera positioned extremely low with main focus on the characters shoe in the immediate foreground. Extreme foreshortening makes the sneaker in the immediate foreground appear massive and highly detailed, dominating the bottom half of the frame, while the subject's body tapers upward towards a smaller head. Infer from the rest of the outfit what shoe the subject is wearing."
932 ],
933 "color": "#232",
934 "bgcolor": "#353"
935 },
936 {
937 "id": 252,
938 "type": "PrimitiveNode",
939 "pos": [
940 3159.999990218835,
941 1509.9999525612532
942 ],
943 "size": [
944 400,
945 142.65625
946 ],
947 "flags": [],
948 "order": 6,
949 "mode": 0,
950 "inputs": [],
951 "outputs": [
952 {
953 "name": "COMBO",
954 "type": "COMBO",
955 "widget": {
956 "name": "aspect_ratio"
957 },
958 "links": [
959 278,
960 279
961 ]
962 }
963 ],
964 "title": "aspect_ratio",
965 "properties": {
966 "Run widget replace on values": false
967 },
968 "widgets_values": [
969 "9:16",
970 "fixed",
971 ""
972 ],
973 "color": "#232",
974 "bgcolor": "#353"
975 },
976 {
977 "id": 254,
978 "type": "PrimitiveNode",
979 "pos": [
980 3160,
981 1320
982 ],
983 "size": [
984 400,
985 142.65625
986 ],
987 "flags": [],
988 "order": 7,
989 "mode": 0,
990 "inputs": [],
991 "outputs": [
992 {
993 "name": "COMBO",
994 "type": "COMBO",
995 "widget": {
996 "name": "model"
997 },
998 "links": [
999 281,
1000 282
1001 ]
1002 }
1003 ],
1004 "title": "model",
1005 "properties": {
1006 "Run widget replace on values": false
1007 },
1008 "widgets_values": [
1009 "gemini-3-pro-image-preview",
1010 "fixed",
1011 ""
1012 ],
1013 "color": "#232",
1014 "bgcolor": "#353"
1015 },
1016 {
1017 "id": 255,
1018 "type": "RegexReplace",
1019 "pos": [
1020 3340,
1021 2150
1022 ],
1023 "size": [
1024 210,
1025 40
1026 ],
1027 "flags": {
1028 "collapsed": true
1029 },
1030 "order": 12,
1031 "mode": 0,
1032 "showAdvanced": false,
1033 "inputs": [
1034 {
1035 "name": "string",
1036 "type": "STRING",
1037 "widget": {
1038 "name": "string"
1039 },
1040 "link": 283
1041 },
1042 {
1043 "name": "replace",
1044 "type": "STRING",
1045 "widget": {
1046 "name": "replace"
1047 },
1048 "link": 284
1049 }
1050 ],
1051 "outputs": [
1052 {
1053 "name": "STRING",
1054 "type": "STRING",
1055 "links": [
1056 285
1057 ]
1058 }
1059 ],
1060 "properties": {
1061 "Node name for S&R": "RegexReplace"
1062 },
1063 "widgets_values": [
1064 "",
1065 "{grid_descriptions}\n",
1066 "",
1067 true,
1068 false,
1069 false,
1070 0
1071 ]
1072 },
1073 {
1074 "id": 278,
1075 "type": "487baed2-dc27-49c3-a6b2-0bf45a53e64d",
1076 "pos": [
1077 4070,
1078 410
1079 ],
1080 "size": [
1081 230,
1082 144
1083 ],
1084 "flags": {
1085 "collapsed": false
1086 },
1087 "order": 15,
1088 "mode": 0,
1089 "inputs": [
1090 {
1091 "name": "image",
1092 "type": "IMAGE",
1093 "link": 315
1094 }
1095 ],
1096 "outputs": [
1097 {
1098 "label": "IMAGE_1",
1099 "name": "IMAGE",
1100 "type": "IMAGE",
1101 "links": [
1102 316
1103 ]
1104 },
1105 {
1106 "label": "IMAGE_2",
1107 "name": "IMAGE_1",
1108 "type": "IMAGE",
1109 "links": [
1110 317
1111 ]
1112 },
1113 {
1114 "label": "IMAGE_3",
1115 "name": "IMAGE_2",
1116 "type": "IMAGE",
1117 "links": [
1118 318
1119 ]
1120 },
1121 {
1122 "label": "IMAGE_4",
1123 "name": "IMAGE_3",
1124 "type": "IMAGE",
1125 "links": [
1126 319
1127 ]
1128 }
1129 ],
1130 "properties": {
1131 "proxyWidgets": [],
1132 "cnr_id": "comfy-core",
1133 "ver": "0.3.76"
1134 },
1135 "widgets_values": []
1136 },
1137 {
1138 "id": 279,
1139 "type": "PrimitiveNode",
1140 "pos": [
1141 3160,
1142 1710
1143 ],
1144 "size": [
1145 400,
1146 142.65625
1147 ],
1148 "flags": [],
1149 "order": 8,
1150 "mode": 0,
1151 "inputs": [],
1152 "outputs": [
1153 {
1154 "name": "COMBO",
1155 "type": "COMBO",
1156 "widget": {
1157 "name": "resolution"
1158 },
1159 "links": [
1160 320,
1161 321
1162 ]
1163 }
1164 ],
1165 "title": "resolution",
1166 "properties": {
1167 "Run widget replace on values": false
1168 },
1169 "widgets_values": [
1170 "4K",
1171 "fixed",
1172 ""
1173 ],
1174 "color": "#232",
1175 "bgcolor": "#353"
1176 }
1177 ],
1178 "links": [
1179 [
1180 253,
1181 61,
1182 0,
1183 228,
1184 0,
1185 "IMAGE"
1186 ],
1187 [
1188 258,
1189 228,
1190 0,
1191 88,
1192 0,
1193 "IMAGE"
1194 ],
1195 [
1196 259,
1197 228,
1198 1,
1199 89,
1200 0,
1201 "IMAGE"
1202 ],
1203 [
1204 260,
1205 228,
1206 2,
1207 90,
1208 0,
1209 "IMAGE"
1210 ],
1211 [
1212 261,
1213 228,
1214 3,
1215 91,
1216 0,
1217 "IMAGE"
1218 ],
1219 [
1220 262,
1221 16,
1222 0,
1223 229,
1224 0,
1225 "IMAGE"
1226 ],
1227 [
1228 263,
1229 26,
1230 0,
1231 229,
1232 1,
1233 "IMAGE"
1234 ],
1235 [
1236 264,
1237 229,
1238 0,
1239 30,
1240 0,
1241 "IMAGE"
1242 ],
1243 [
1244 265,
1245 16,
1246 0,
1247 230,
1248 0,
1249 "IMAGE"
1250 ],
1251 [
1252 266,
1253 26,
1254 0,
1255 230,
1256 1,
1257 "IMAGE"
1258 ],
1259 [
1260 267,
1261 230,
1262 0,
1263 61,
1264 0,
1265 "IMAGE"
1266 ],
1267 [
1268 274,
1269 245,
1270 0,
1271 248,
1272 1,
1273 "STRING"
1274 ],
1275 [
1276 275,
1277 34,
1278 0,
1279 248,
1280 0,
1281 "STRING"
1282 ],
1283 [
1284 276,
1285 248,
1286 0,
1287 30,
1288 2,
1289 "STRING"
1290 ],
1291 [
1292 278,
1293 252,
1294 0,
1295 30,
1296 4,
1297 "COMBO"
1298 ],
1299 [
1300 279,
1301 252,
1302 0,
1303 61,
1304 4,
1305 "COMBO"
1306 ],
1307 [
1308 281,
1309 254,
1310 0,
1311 61,
1312 3,
1313 "COMBO"
1314 ],
1315 [
1316 282,
1317 254,
1318 0,
1319 30,
1320 3,
1321 "COMBO"
1322 ],
1323 [
1324 283,
1325 62,
1326 0,
1327 255,
1328 0,
1329 "STRING"
1330 ],
1331 [
1332 284,
1333 249,
1334 0,
1335 255,
1336 1,
1337 "STRING"
1338 ],
1339 [
1340 285,
1341 255,
1342 0,
1343 61,
1344 2,
1345 "STRING"
1346 ],
1347 [
1348 315,
1349 30,
1350 0,
1351 278,
1352 0,
1353 "IMAGE"
1354 ],
1355 [
1356 316,
1357 278,
1358 0,
1359 239,
1360 0,
1361 "IMAGE"
1362 ],
1363 [
1364 317,
1365 278,
1366 1,
1367 240,
1368 0,
1369 "IMAGE"
1370 ],
1371 [
1372 318,
1373 278,
1374 2,
1375 241,
1376 0,
1377 "IMAGE"
1378 ],
1379 [
1380 319,
1381 278,
1382 3,
1383 242,
1384 0,
1385 "IMAGE"
1386 ],
1387 [
1388 320,
1389 279,
1390 0,
1391 30,
1392 5,
1393 "COMBO"
1394 ],
1395 [
1396 321,
1397 279,
1398 0,
1399 61,
1400 5,
1401 "COMBO"
1402 ]
1403 ],
1404 "groups": [],
1405 "definitions": {
1406 "subgraphs": [
1407 {
1408 "id": "68c58c16-e698-45a4-97f9-54ae8eb9dee9",
1409 "version": 1,
1410 "state": {
1411 "lastGroupId": 0,
1412 "lastNodeId": 279,
1413 "lastLinkId": 321,
1414 "lastRerouteId": 0
1415 },
1416 "revision": 0,
1417 "config": [],
1418 "name": "Crop Images",
1419 "inputNode": {
1420 "id": -10,
1421 "bounding": [
1422 1070,
1423 360,
1424 100,
1425 50
1426 ]
1427 },
1428 "outputNode": {
1429 "id": -20,
1430 "bounding": [
1431 2870,
1432 310,
1433 100,
1434 100
1435 ]
1436 },
1437 "inputs": [
1438 {
1439 "id": "eb15a6da-be18-49ea-81f2-dba4711d5c28",
1440 "name": "image",
1441 "type": "IMAGE",
1442 "linkIds": [
1443 27,
1444 294,
1445 298,
1446 308,
1447 309
1448 ],
1449 "localized_name": "image",
1450 "pos": [
1451 1380,
1452 450
1453 ]
1454 }
1455 ],
1456 "outputs": [
1457 {
1458 "id": "8ec6c1d4-c30e-4d27-9afc-d53cb8950a80",
1459 "name": "IMAGE",
1460 "type": "IMAGE",
1461 "linkIds": [
1462 314
1463 ],
1464 "label": "IMAGE_1",
1465 "pos": [
1466 3470,
1467 390
1468 ]
1469 },
1470 {
1471 "id": "b5bfbdce-26ef-489c-8851-c100001380a0",
1472 "name": "IMAGE_1",
1473 "type": "IMAGE",
1474 "linkIds": [
1475 313
1476 ],
1477 "label": "IMAGE_2",
1478 "pos": [
1479 3470,
1480 410
1481 ]
1482 },
1483 {
1484 "id": "ae6073b1-db37-4141-88fa-6cf4ba5dce26",
1485 "name": "IMAGE_2",
1486 "type": "IMAGE",
1487 "linkIds": [
1488 312
1489 ],
1490 "label": "IMAGE_3",
1491 "pos": [
1492 3470,
1493 430
1494 ]
1495 },
1496 {
1497 "id": "404edd1c-fa1b-4e9f-bb64-a05a8b3ddcee",
1498 "name": "IMAGE_3",
1499 "type": "IMAGE",
1500 "linkIds": [
1501 311
1502 ],
1503 "label": "IMAGE_4",
1504 "pos": [
1505 3470,
1506 450
1507 ]
1508 }
1509 ],
1510 "widgets": [],
1511 "nodes": [
1512 {
1513 "id": 226,
1514 "type": "SimpleMath+",
1515 "pos": [
1516 1520,
1517 50
1518 ],
1519 "size": [
1520 280,
1521 120
1522 ],
1523 "flags": [],
1524 "order": 3,
1525 "mode": 0,
1526 "inputs": [
1527 {
1528 "localized_name": "a",
1529 "name": "a",
1530 "shape": 7,
1531 "type": "INT,FLOAT",
1532 "link": 25
1533 },
1534 {
1535 "localized_name": "b",
1536 "name": "b",
1537 "shape": 7,
1538 "type": "INT,FLOAT",
1539 "link": null
1540 }
1541 ],
1542 "outputs": [
1543 {
1544 "localized_name": "INT",
1545 "name": "INT",
1546 "type": "INT",
1547 "links": [
1548 19,
1549 296,
1550 300,
1551 303,
1552 305
1553 ]
1554 },
1555 {
1556 "localized_name": "FLOAT",
1557 "name": "FLOAT",
1558 "type": "FLOAT",
1559 "links": null
1560 }
1561 ],
1562 "title": "HEIGHT",
1563 "properties": {
1564 "Node name for S&R": "SimpleMath+",
1565 "cnr_id": "comfyui_essentials",
1566 "ver": "1.1.0"
1567 },
1568 "widgets_values": [
1569 "a / 2"
1570 ]
1571 },
1572 {
1573 "id": 83,
1574 "type": "SimpleMath+",
1575 "pos": [
1576 1520,
1577 -130
1578 ],
1579 "size": [
1580 280,
1581 120
1582 ],
1583 "flags": [],
1584 "order": 1,
1585 "mode": 0,
1586 "inputs": [
1587 {
1588 "localized_name": "a",
1589 "name": "a",
1590 "shape": 7,
1591 "type": "INT,FLOAT",
1592 "link": 23
1593 },
1594 {
1595 "localized_name": "b",
1596 "name": "b",
1597 "shape": 7,
1598 "type": "INT,FLOAT",
1599 "link": null
1600 }
1601 ],
1602 "outputs": [
1603 {
1604 "localized_name": "INT",
1605 "name": "INT",
1606 "type": "INT",
1607 "links": [
1608 295,
1609 299,
1610 301,
1611 302,
1612 304,
1613 306
1614 ]
1615 },
1616 {
1617 "localized_name": "FLOAT",
1618 "name": "FLOAT",
1619 "type": "FLOAT",
1620 "links": null
1621 }
1622 ],
1623 "title": "WIDTH",
1624 "properties": {
1625 "Node name for S&R": "SimpleMath+",
1626 "cnr_id": "comfyui_essentials",
1627 "ver": "1.1.0"
1628 },
1629 "widgets_values": [
1630 "a / 2"
1631 ]
1632 },
1633 {
1634 "id": 17,
1635 "type": "GetImageSize",
1636 "pos": [
1637 1270,
1638 -130
1639 ],
1640 "size": [
1641 200,
1642 90
1643 ],
1644 "flags": {
1645 "collapsed": false
1646 },
1647 "order": 0,
1648 "mode": 0,
1649 "inputs": [
1650 {
1651 "localized_name": "image",
1652 "name": "image",
1653 "type": "IMAGE",
1654 "link": 27
1655 }
1656 ],
1657 "outputs": [
1658 {
1659 "localized_name": "width",
1660 "name": "width",
1661 "type": "INT",
1662 "links": [
1663 23
1664 ]
1665 },
1666 {
1667 "localized_name": "height",
1668 "name": "height",
1669 "type": "INT",
1670 "links": [
1671 25
1672 ]
1673 },
1674 {
1675 "localized_name": "batch_size",
1676 "name": "batch_size",
1677 "type": "INT",
1678 "links": null
1679 }
1680 ],
1681 "properties": {
1682 "Node name for S&R": "GetImageSize",
1683 "cnr_id": "comfy-core",
1684 "ver": "0.3.71"
1685 },
1686 "widgets_values": []
1687 },
1688 {
1689 "id": 87,
1690 "type": "SimpleMath+",
1691 "pos": [
1692 1650,
1693 520
1694 ],
1695 "size": [
1696 220,
1697 120
1698 ],
1699 "flags": [],
1700 "order": 2,
1701 "mode": 0,
1702 "inputs": [
1703 {
1704 "localized_name": "a",
1705 "name": "a",
1706 "shape": 7,
1707 "type": "INT,FLOAT",
1708 "link": 19
1709 },
1710 {
1711 "localized_name": "b",
1712 "name": "b",
1713 "shape": 7,
1714 "type": "INT,FLOAT",
1715 "link": null
1716 }
1717 ],
1718 "outputs": [
1719 {
1720 "localized_name": "INT",
1721 "name": "INT",
1722 "type": "INT",
1723 "links": [
1724 307,
1725 310
1726 ]
1727 },
1728 {
1729 "localized_name": "FLOAT",
1730 "name": "FLOAT",
1731 "type": "FLOAT",
1732 "links": null
1733 }
1734 ],
1735 "title": "Row 2 - Y val",
1736 "properties": {
1737 "Node name for S&R": "SimpleMath+",
1738 "cnr_id": "comfyui_essentials",
1739 "ver": "1.1.0"
1740 },
1741 "widgets_values": [
1742 "a + (b/2)"
1743 ]
1744 },
1745 {
1746 "id": 264,
1747 "type": "ImageCrop+",
1748 "pos": [
1749 1970,
1750 210
1751 ],
1752 "size": [
1753 230,
1754 250
1755 ],
1756 "flags": [],
1757 "order": 4,
1758 "mode": 0,
1759 "inputs": [
1760 {
1761 "localized_name": "image",
1762 "name": "image",
1763 "type": "IMAGE",
1764 "link": 294
1765 },
1766 {
1767 "localized_name": "width",
1768 "name": "width",
1769 "type": "INT",
1770 "widget": {
1771 "name": "width"
1772 },
1773 "link": 295
1774 },
1775 {
1776 "localized_name": "height",
1777 "name": "height",
1778 "type": "INT",
1779 "widget": {
1780 "name": "height"
1781 },
1782 "link": 296
1783 }
1784 ],
1785 "outputs": [
1786 {
1787 "localized_name": "IMAGE",
1788 "name": "IMAGE",
1789 "type": "IMAGE",
1790 "links": [
1791 314
1792 ]
1793 },
1794 {
1795 "localized_name": "x",
1796 "name": "x",
1797 "type": "INT",
1798 "links": null
1799 },
1800 {
1801 "localized_name": "y",
1802 "name": "y",
1803 "type": "INT",
1804 "links": null
1805 }
1806 ],
1807 "title": "Crop Grid 1",
1808 "properties": {
1809 "Node name for S&R": "ImageCrop+"
1810 },
1811 "widgets_values": [
1812 256,
1813 256,
1814 "top-left",
1815 0,
1816 0
1817 ]
1818 },
1819 {
1820 "id": 265,
1821 "type": "ImageCrop+",
1822 "pos": [
1823 2310,
1824 210
1825 ],
1826 "size": [
1827 230,
1828 250
1829 ],
1830 "flags": [],
1831 "order": 5,
1832 "mode": 0,
1833 "inputs": [
1834 {
1835 "localized_name": "image",
1836 "name": "image",
1837 "type": "IMAGE",
1838 "link": 298
1839 },
1840 {
1841 "localized_name": "width",
1842 "name": "width",
1843 "type": "INT",
1844 "widget": {
1845 "name": "width"
1846 },
1847 "link": 299
1848 },
1849 {
1850 "localized_name": "height",
1851 "name": "height",
1852 "type": "INT",
1853 "widget": {
1854 "name": "height"
1855 },
1856 "link": 300
1857 },
1858 {
1859 "localized_name": "x_offset",
1860 "name": "x_offset",
1861 "type": "INT",
1862 "widget": {
1863 "name": "x_offset"
1864 },
1865 "link": 301
1866 }
1867 ],
1868 "outputs": [
1869 {
1870 "localized_name": "IMAGE",
1871 "name": "IMAGE",
1872 "type": "IMAGE",
1873 "links": [
1874 313
1875 ]
1876 },
1877 {
1878 "localized_name": "x",
1879 "name": "x",
1880 "type": "INT",
1881 "links": null
1882 },
1883 {
1884 "localized_name": "y",
1885 "name": "y",
1886 "type": "INT",
1887 "links": null
1888 }
1889 ],
1890 "title": "Crop Grid 2",
1891 "properties": {
1892 "Node name for S&R": "ImageCrop+"
1893 },
1894 "widgets_values": [
1895 256,
1896 256,
1897 "top-left",
1898 0,
1899 0
1900 ]
1901 },
1902 {
1903 "id": 268,
1904 "type": "ImageCrop+",
1905 "pos": [
1906 1980,
1907 520
1908 ],
1909 "size": [
1910 230,
1911 250
1912 ],
1913 "flags": [],
1914 "order": 6,
1915 "mode": 0,
1916 "inputs": [
1917 {
1918 "localized_name": "image",
1919 "name": "image",
1920 "type": "IMAGE",
1921 "link": 308
1922 },
1923 {
1924 "localized_name": "width",
1925 "name": "width",
1926 "type": "INT",
1927 "widget": {
1928 "name": "width"
1929 },
1930 "link": 302
1931 },
1932 {
1933 "localized_name": "height",
1934 "name": "height",
1935 "type": "INT",
1936 "widget": {
1937 "name": "height"
1938 },
1939 "link": 303
1940 },
1941 {
1942 "localized_name": "y_offset",
1943 "name": "y_offset",
1944 "type": "INT",
1945 "widget": {
1946 "name": "y_offset"
1947 },
1948 "link": 307
1949 }
1950 ],
1951 "outputs": [
1952 {
1953 "localized_name": "IMAGE",
1954 "name": "IMAGE",
1955 "type": "IMAGE",
1956 "links": [
1957 312
1958 ]
1959 },
1960 {
1961 "localized_name": "x",
1962 "name": "x",
1963 "type": "INT",
1964 "links": null
1965 },
1966 {
1967 "localized_name": "y",
1968 "name": "y",
1969 "type": "INT",
1970 "links": null
1971 }
1972 ],
1973 "title": "Crop Grid 3",
1974 "properties": {
1975 "Node name for S&R": "ImageCrop+"
1976 },
1977 "widgets_values": [
1978 256,
1979 256,
1980 "top-left",
1981 0,
1982 0
1983 ]
1984 },
1985 {
1986 "id": 269,
1987 "type": "ImageCrop+",
1988 "pos": [
1989 2320,
1990 530
1991 ],
1992 "size": [
1993 230,
1994 250
1995 ],
1996 "flags": [],
1997 "order": 7,
1998 "mode": 0,
1999 "inputs": [
2000 {
2001 "localized_name": "image",
2002 "name": "image",
2003 "type": "IMAGE",
2004 "link": 309
2005 },
2006 {
2007 "localized_name": "width",
2008 "name": "width",
2009 "type": "INT",
2010 "widget": {
2011 "name": "width"
2012 },
2013 "link": 304
2014 },
2015 {
2016 "localized_name": "height",
2017 "name": "height",
2018 "type": "INT",
2019 "widget": {
2020 "name": "height"
2021 },
2022 "link": 305
2023 },
2024 {
2025 "localized_name": "x_offset",
2026 "name": "x_offset",
2027 "type": "INT",
2028 "widget": {
2029 "name": "x_offset"
2030 },
2031 "link": 306
2032 },
2033 {
2034 "localized_name": "y_offset",
2035 "name": "y_offset",
2036 "type": "INT",
2037 "widget": {
2038 "name": "y_offset"
2039 },
2040 "link": 310
2041 }
2042 ],
2043 "outputs": [
2044 {
2045 "localized_name": "IMAGE",
2046 "name": "IMAGE",
2047 "type": "IMAGE",
2048 "links": [
2049 311
2050 ]
2051 },
2052 {
2053 "localized_name": "x",
2054 "name": "x",
2055 "type": "INT",
2056 "links": null
2057 },
2058 {
2059 "localized_name": "y",
2060 "name": "y",
2061 "type": "INT",
2062 "links": null
2063 }
2064 ],
2065 "title": "Crop Grid 4",
2066 "properties": {
2067 "Node name for S&R": "ImageCrop+"
2068 },
2069 "widgets_values": [
2070 256,
2071 256,
2072 "top-left",
2073 0,
2074 0
2075 ]
2076 }
2077 ],
2078 "groups": [],
2079 "links": [
2080 {
2081 "id": 25,
2082 "origin_id": 17,
2083 "origin_slot": 1,
2084 "target_id": 226,
2085 "target_slot": 0,
2086 "type": "INT,FLOAT"
2087 },
2088 {
2089 "id": 19,
2090 "origin_id": 226,
2091 "origin_slot": 0,
2092 "target_id": 87,
2093 "target_slot": 0,
2094 "type": "INT,FLOAT"
2095 },
2096 {
2097 "id": 23,
2098 "origin_id": 17,
2099 "origin_slot": 0,
2100 "target_id": 83,
2101 "target_slot": 0,
2102 "type": "INT,FLOAT"
2103 },
2104 {
2105 "id": 27,
2106 "origin_id": -10,
2107 "origin_slot": 0,
2108 "target_id": 17,
2109 "target_slot": 0,
2110 "type": "IMAGE"
2111 },
2112 {
2113 "id": 294,
2114 "origin_id": -10,
2115 "origin_slot": 0,
2116 "target_id": 264,
2117 "target_slot": 0,
2118 "type": "IMAGE"
2119 },
2120 {
2121 "id": 295,
2122 "origin_id": 83,
2123 "origin_slot": 0,
2124 "target_id": 264,
2125 "target_slot": 1,
2126 "type": "INT"
2127 },
2128 {
2129 "id": 296,
2130 "origin_id": 226,
2131 "origin_slot": 0,
2132 "target_id": 264,
2133 "target_slot": 2,
2134 "type": "INT"
2135 },
2136 {
2137 "id": 298,
2138 "origin_id": -10,
2139 "origin_slot": 0,
2140 "target_id": 265,
2141 "target_slot": 0,
2142 "type": "IMAGE"
2143 },
2144 {
2145 "id": 299,
2146 "origin_id": 83,
2147 "origin_slot": 0,
2148 "target_id": 265,
2149 "target_slot": 1,
2150 "type": "INT"
2151 },
2152 {
2153 "id": 300,
2154 "origin_id": 226,
2155 "origin_slot": 0,
2156 "target_id": 265,
2157 "target_slot": 2,
2158 "type": "INT"
2159 },
2160 {
2161 "id": 301,
2162 "origin_id": 83,
2163 "origin_slot": 0,
2164 "target_id": 265,
2165 "target_slot": 3,
2166 "type": "INT"
2167 },
2168 {
2169 "id": 302,
2170 "origin_id": 83,
2171 "origin_slot": 0,
2172 "target_id": 268,
2173 "target_slot": 1,
2174 "type": "INT"
2175 },
2176 {
2177 "id": 303,
2178 "origin_id": 226,
2179 "origin_slot": 0,
2180 "target_id": 268,
2181 "target_slot": 2,
2182 "type": "INT"
2183 },
2184 {
2185 "id": 304,
2186 "origin_id": 83,
2187 "origin_slot": 0,
2188 "target_id": 269,
2189 "target_slot": 1,
2190 "type": "INT"
2191 },
2192 {
2193 "id": 305,
2194 "origin_id": 226,
2195 "origin_slot": 0,
2196 "target_id": 269,
2197 "target_slot": 2,
2198 "type": "INT"
2199 },
2200 {
2201 "id": 306,
2202 "origin_id": 83,
2203 "origin_slot": 0,
2204 "target_id": 269,
2205 "target_slot": 3,
2206 "type": "INT"
2207 },
2208 {
2209 "id": 307,
2210 "origin_id": 87,
2211 "origin_slot": 0,
2212 "target_id": 268,
2213 "target_slot": 3,
2214 "type": "INT"
2215 },
2216 {
2217 "id": 308,
2218 "origin_id": -10,
2219 "origin_slot": 0,
2220 "target_id": 268,
2221 "target_slot": 0,
2222 "type": "IMAGE"
2223 },
2224 {
2225 "id": 309,
2226 "origin_id": -10,
2227 "origin_slot": 0,
2228 "target_id": 269,
2229 "target_slot": 0,
2230 "type": "IMAGE"
2231 },
2232 {
2233 "id": 310,
2234 "origin_id": 87,
2235 "origin_slot": 0,
2236 "target_id": 269,
2237 "target_slot": 4,
2238 "type": "INT"
2239 },
2240 {
2241 "id": 311,
2242 "origin_id": 269,
2243 "origin_slot": 0,
2244 "target_id": -20,
2245 "target_slot": 3,
2246 "type": "IMAGE"
2247 },
2248 {
2249 "id": 312,
2250 "origin_id": 268,
2251 "origin_slot": 0,
2252 "target_id": -20,
2253 "target_slot": 2,
2254 "type": "IMAGE"
2255 },
2256 {
2257 "id": 313,
2258 "origin_id": 265,
2259 "origin_slot": 0,
2260 "target_id": -20,
2261 "target_slot": 1,
2262 "type": "IMAGE"
2263 },
2264 {
2265 "id": 314,
2266 "origin_id": 264,
2267 "origin_slot": 0,
2268 "target_id": -20,
2269 "target_slot": 0,
2270 "type": "IMAGE"
2271 }
2272 ],
2273 "extra": {
2274 "workflowRendererVersion": "Vue-corrected"
2275 }
2276 },
2277 {
2278 "id": "487baed2-dc27-49c3-a6b2-0bf45a53e64d",
2279 "version": 1,
2280 "state": {
2281 "lastGroupId": 0,
2282 "lastNodeId": 279,
2283 "lastLinkId": 321,
2284 "lastRerouteId": 0
2285 },
2286 "revision": 0,
2287 "config": [],
2288 "name": "Crop Images",
2289 "inputNode": {
2290 "id": -10,
2291 "bounding": [
2292 1070,
2293 360,
2294 100,
2295 50
2296 ]
2297 },
2298 "outputNode": {
2299 "id": -20,
2300 "bounding": [
2301 2870,
2302 310,
2303 100,
2304 100
2305 ]
2306 },
2307 "inputs": [
2308 {
2309 "id": "eb15a6da-be18-49ea-81f2-dba4711d5c28",
2310 "name": "image",
2311 "type": "IMAGE",
2312 "linkIds": [
2313 27,
2314 294,
2315 298,
2316 308,
2317 309
2318 ],
2319 "localized_name": "image",
2320 "pos": [
2321 1380,
2322 450
2323 ]
2324 }
2325 ],
2326 "outputs": [
2327 {
2328 "id": "8ec6c1d4-c30e-4d27-9afc-d53cb8950a80",
2329 "name": "IMAGE",
2330 "type": "IMAGE",
2331 "linkIds": [
2332 314
2333 ],
2334 "label": "IMAGE_1",
2335 "pos": [
2336 3470,
2337 390
2338 ]
2339 },
2340 {
2341 "id": "b5bfbdce-26ef-489c-8851-c100001380a0",
2342 "name": "IMAGE_1",
2343 "type": "IMAGE",
2344 "linkIds": [
2345 313
2346 ],
2347 "label": "IMAGE_2",
2348 "pos": [
2349 3470,
2350 410
2351 ]
2352 },
2353 {
2354 "id": "ae6073b1-db37-4141-88fa-6cf4ba5dce26",
2355 "name": "IMAGE_2",
2356 "type": "IMAGE",
2357 "linkIds": [
2358 312
2359 ],
2360 "label": "IMAGE_3",
2361 "pos": [
2362 3470,
2363 430
2364 ]
2365 },
2366 {
2367 "id": "404edd1c-fa1b-4e9f-bb64-a05a8b3ddcee",
2368 "name": "IMAGE_3",
2369 "type": "IMAGE",
2370 "linkIds": [
2371 311
2372 ],
2373 "label": "IMAGE_4",
2374 "pos": [
2375 3470,
2376 450
2377 ]
2378 }
2379 ],
2380 "widgets": [],
2381 "nodes": [
2382 {
2383 "id": 270,
2384 "type": "SimpleMath+",
2385 "pos": [
2386 1520,
2387 50
2388 ],
2389 "size": [
2390 280,
2391 120
2392 ],
2393 "flags": [],
2394 "order": 0,
2395 "mode": 0,
2396 "inputs": [
2397 {
2398 "localized_name": "a",
2399 "name": "a",
2400 "shape": 7,
2401 "type": "INT,FLOAT",
2402 "link": 25
2403 },
2404 {
2405 "localized_name": "b",
2406 "name": "b",
2407 "shape": 7,
2408 "type": "INT,FLOAT",
2409 "link": null
2410 }
2411 ],
2412 "outputs": [
2413 {
2414 "localized_name": "INT",
2415 "name": "INT",
2416 "type": "INT",
2417 "links": [
2418 19,
2419 296,
2420 300,
2421 303,
2422 305
2423 ]
2424 },
2425 {
2426 "localized_name": "FLOAT",
2427 "name": "FLOAT",
2428 "type": "FLOAT",
2429 "links": null
2430 }
2431 ],
2432 "title": "HEIGHT",
2433 "properties": {
2434 "Node name for S&R": "SimpleMath+",
2435 "cnr_id": "comfyui_essentials",
2436 "ver": "1.1.0"
2437 },
2438 "widgets_values": [
2439 "a / 2"
2440 ]
2441 },
2442 {
2443 "id": 271,
2444 "type": "SimpleMath+",
2445 "pos": [
2446 1520,
2447 -130
2448 ],
2449 "size": [
2450 280,
2451 120
2452 ],
2453 "flags": [],
2454 "order": 1,
2455 "mode": 0,
2456 "inputs": [
2457 {
2458 "localized_name": "a",
2459 "name": "a",
2460 "shape": 7,
2461 "type": "INT,FLOAT",
2462 "link": 23
2463 },
2464 {
2465 "localized_name": "b",
2466 "name": "b",
2467 "shape": 7,
2468 "type": "INT,FLOAT",
2469 "link": null
2470 }
2471 ],
2472 "outputs": [
2473 {
2474 "localized_name": "INT",
2475 "name": "INT",
2476 "type": "INT",
2477 "links": [
2478 295,
2479 299,
2480 301,
2481 302,
2482 304,
2483 306
2484 ]
2485 },
2486 {
2487 "localized_name": "FLOAT",
2488 "name": "FLOAT",
2489 "type": "FLOAT",
2490 "links": null
2491 }
2492 ],
2493 "title": "WIDTH",
2494 "properties": {
2495 "Node name for S&R": "SimpleMath+",
2496 "cnr_id": "comfyui_essentials",
2497 "ver": "1.1.0"
2498 },
2499 "widgets_values": [
2500 "a / 2"
2501 ]
2502 },
2503 {
2504 "id": 272,
2505 "type": "GetImageSize",
2506 "pos": [
2507 1270,
2508 -130
2509 ],
2510 "size": [
2511 200,
2512 90
2513 ],
2514 "flags": {
2515 "collapsed": false
2516 },
2517 "order": 2,
2518 "mode": 0,
2519 "inputs": [
2520 {
2521 "localized_name": "image",
2522 "name": "image",
2523 "type": "IMAGE",
2524 "link": 27
2525 }
2526 ],
2527 "outputs": [
2528 {
2529 "localized_name": "width",
2530 "name": "width",
2531 "type": "INT",
2532 "links": [
2533 23
2534 ]
2535 },
2536 {
2537 "localized_name": "height",
2538 "name": "height",
2539 "type": "INT",
2540 "links": [
2541 25
2542 ]
2543 },
2544 {
2545 "localized_name": "batch_size",
2546 "name": "batch_size",
2547 "type": "INT",
2548 "links": null
2549 }
2550 ],
2551 "properties": {
2552 "Node name for S&R": "GetImageSize",
2553 "cnr_id": "comfy-core",
2554 "ver": "0.3.71"
2555 },
2556 "widgets_values": []
2557 },
2558 {
2559 "id": 273,
2560 "type": "SimpleMath+",
2561 "pos": [
2562 1650,
2563 520
2564 ],
2565 "size": [
2566 220,
2567 120
2568 ],
2569 "flags": [],
2570 "order": 3,
2571 "mode": 0,
2572 "inputs": [
2573 {
2574 "localized_name": "a",
2575 "name": "a",
2576 "shape": 7,
2577 "type": "INT,FLOAT",
2578 "link": 19
2579 },
2580 {
2581 "localized_name": "b",
2582 "name": "b",
2583 "shape": 7,
2584 "type": "INT,FLOAT",
2585 "link": null
2586 }
2587 ],
2588 "outputs": [
2589 {
2590 "localized_name": "INT",
2591 "name": "INT",
2592 "type": "INT",
2593 "links": [
2594 307,
2595 310
2596 ]
2597 },
2598 {
2599 "localized_name": "FLOAT",
2600 "name": "FLOAT",
2601 "type": "FLOAT",
2602 "links": null
2603 }
2604 ],
2605 "title": "Row 2 - Y val",
2606 "properties": {
2607 "Node name for S&R": "SimpleMath+",
2608 "cnr_id": "comfyui_essentials",
2609 "ver": "1.1.0"
2610 },
2611 "widgets_values": [
2612 "a + (b/2)"
2613 ]
2614 },
2615 {
2616 "id": 274,
2617 "type": "ImageCrop+",
2618 "pos": [
2619 1970,
2620 210
2621 ],
2622 "size": [
2623 230,
2624 250
2625 ],
2626 "flags": [],
2627 "order": 4,
2628 "mode": 0,
2629 "inputs": [
2630 {
2631 "localized_name": "image",
2632 "name": "image",
2633 "type": "IMAGE",
2634 "link": 294
2635 },
2636 {
2637 "localized_name": "width",
2638 "name": "width",
2639 "type": "INT",
2640 "widget": {
2641 "name": "width"
2642 },
2643 "link": 295
2644 },
2645 {
2646 "localized_name": "height",
2647 "name": "height",
2648 "type": "INT",
2649 "widget": {
2650 "name": "height"
2651 },
2652 "link": 296
2653 }
2654 ],
2655 "outputs": [
2656 {
2657 "localized_name": "IMAGE",
2658 "name": "IMAGE",
2659 "type": "IMAGE",
2660 "links": [
2661 314
2662 ]
2663 },
2664 {
2665 "localized_name": "x",
2666 "name": "x",
2667 "type": "INT",
2668 "links": null
2669 },
2670 {
2671 "localized_name": "y",
2672 "name": "y",
2673 "type": "INT",
2674 "links": null
2675 }
2676 ],
2677 "title": "Crop Grid 1",
2678 "properties": {
2679 "Node name for S&R": "ImageCrop+"
2680 },
2681 "widgets_values": [
2682 256,
2683 256,
2684 "top-left",
2685 0,
2686 0
2687 ]
2688 },
2689 {
2690 "id": 275,
2691 "type": "ImageCrop+",
2692 "pos": [
2693 2310,
2694 210
2695 ],
2696 "size": [
2697 230,
2698 250
2699 ],
2700 "flags": [],
2701 "order": 5,
2702 "mode": 0,
2703 "inputs": [
2704 {
2705 "localized_name": "image",
2706 "name": "image",
2707 "type": "IMAGE",
2708 "link": 298
2709 },
2710 {
2711 "localized_name": "width",
2712 "name": "width",
2713 "type": "INT",
2714 "widget": {
2715 "name": "width"
2716 },
2717 "link": 299
2718 },
2719 {
2720 "localized_name": "height",
2721 "name": "height",
2722 "type": "INT",
2723 "widget": {
2724 "name": "height"
2725 },
2726 "link": 300
2727 },
2728 {
2729 "localized_name": "x_offset",
2730 "name": "x_offset",
2731 "type": "INT",
2732 "widget": {
2733 "name": "x_offset"
2734 },
2735 "link": 301
2736 }
2737 ],
2738 "outputs": [
2739 {
2740 "localized_name": "IMAGE",
2741 "name": "IMAGE",
2742 "type": "IMAGE",
2743 "links": [
2744 313
2745 ]
2746 },
2747 {
2748 "localized_name": "x",
2749 "name": "x",
2750 "type": "INT",
2751 "links": null
2752 },
2753 {
2754 "localized_name": "y",
2755 "name": "y",
2756 "type": "INT",
2757 "links": null
2758 }
2759 ],
2760 "title": "Crop Grid 2",
2761 "properties": {
2762 "Node name for S&R": "ImageCrop+"
2763 },
2764 "widgets_values": [
2765 256,
2766 256,
2767 "top-left",
2768 0,
2769 0
2770 ]
2771 },
2772 {
2773 "id": 276,
2774 "type": "ImageCrop+",
2775 "pos": [
2776 1980,
2777 520
2778 ],
2779 "size": [
2780 230,
2781 250
2782 ],
2783 "flags": [],
2784 "order": 6,
2785 "mode": 0,
2786 "inputs": [
2787 {
2788 "localized_name": "image",
2789 "name": "image",
2790 "type": "IMAGE",
2791 "link": 308
2792 },
2793 {
2794 "localized_name": "width",
2795 "name": "width",
2796 "type": "INT",
2797 "widget": {
2798 "name": "width"
2799 },
2800 "link": 302
2801 },
2802 {
2803 "localized_name": "height",
2804 "name": "height",
2805 "type": "INT",
2806 "widget": {
2807 "name": "height"
2808 },
2809 "link": 303
2810 },
2811 {
2812 "localized_name": "y_offset",
2813 "name": "y_offset",
2814 "type": "INT",
2815 "widget": {
2816 "name": "y_offset"
2817 },
2818 "link": 307
2819 }
2820 ],
2821 "outputs": [
2822 {
2823 "localized_name": "IMAGE",
2824 "name": "IMAGE",
2825 "type": "IMAGE",
2826 "links": [
2827 312
2828 ]
2829 },
2830 {
2831 "localized_name": "x",
2832 "name": "x",
2833 "type": "INT",
2834 "links": null
2835 },
2836 {
2837 "localized_name": "y",
2838 "name": "y",
2839 "type": "INT",
2840 "links": null
2841 }
2842 ],
2843 "title": "Crop Grid 3",
2844 "properties": {
2845 "Node name for S&R": "ImageCrop+"
2846 },
2847 "widgets_values": [
2848 256,
2849 256,
2850 "top-left",
2851 0,
2852 0
2853 ]
2854 },
2855 {
2856 "id": 277,
2857 "type": "ImageCrop+",
2858 "pos": [
2859 2320,
2860 530
2861 ],
2862 "size": [
2863 230,
2864 250
2865 ],
2866 "flags": [],
2867 "order": 7,
2868 "mode": 0,
2869 "inputs": [
2870 {
2871 "localized_name": "image",
2872 "name": "image",
2873 "type": "IMAGE",
2874 "link": 309
2875 },
2876 {
2877 "localized_name": "width",
2878 "name": "width",
2879 "type": "INT",
2880 "widget": {
2881 "name": "width"
2882 },
2883 "link": 304
2884 },
2885 {
2886 "localized_name": "height",
2887 "name": "height",
2888 "type": "INT",
2889 "widget": {
2890 "name": "height"
2891 },
2892 "link": 305
2893 },
2894 {
2895 "localized_name": "x_offset",
2896 "name": "x_offset",
2897 "type": "INT",
2898 "widget": {
2899 "name": "x_offset"
2900 },
2901 "link": 306
2902 },
2903 {
2904 "localized_name": "y_offset",
2905 "name": "y_offset",
2906 "type": "INT",
2907 "widget": {
2908 "name": "y_offset"
2909 },
2910 "link": 310
2911 }
2912 ],
2913 "outputs": [
2914 {
2915 "localized_name": "IMAGE",
2916 "name": "IMAGE",
2917 "type": "IMAGE",
2918 "links": [
2919 311
2920 ]
2921 },
2922 {
2923 "localized_name": "x",
2924 "name": "x",
2925 "type": "INT",
2926 "links": null
2927 },
2928 {
2929 "localized_name": "y",
2930 "name": "y",
2931 "type": "INT",
2932 "links": null
2933 }
2934 ],
2935 "title": "Crop Grid 4",
2936 "properties": {
2937 "Node name for S&R": "ImageCrop+"
2938 },
2939 "widgets_values": [
2940 256,
2941 256,
2942 "top-left",
2943 0,
2944 0
2945 ]
2946 }
2947 ],
2948 "groups": [],
2949 "links": [
2950 {
2951 "id": 25,
2952 "origin_id": 272,
2953 "origin_slot": 1,
2954 "target_id": 270,
2955 "target_slot": 0,
2956 "type": "INT,FLOAT"
2957 },
2958 {
2959 "id": 19,
2960 "origin_id": 270,
2961 "origin_slot": 0,
2962 "target_id": 273,
2963 "target_slot": 0,
2964 "type": "INT,FLOAT"
2965 },
2966 {
2967 "id": 23,
2968 "origin_id": 272,
2969 "origin_slot": 0,
2970 "target_id": 271,
2971 "target_slot": 0,
2972 "type": "INT,FLOAT"
2973 },
2974 {
2975 "id": 27,
2976 "origin_id": -10,
2977 "origin_slot": 0,
2978 "target_id": 272,
2979 "target_slot": 0,
2980 "type": "IMAGE"
2981 },
2982 {
2983 "id": 294,
2984 "origin_id": -10,
2985 "origin_slot": 0,
2986 "target_id": 274,
2987 "target_slot": 0,
2988 "type": "IMAGE"
2989 },
2990 {
2991 "id": 295,
2992 "origin_id": 271,
2993 "origin_slot": 0,
2994 "target_id": 274,
2995 "target_slot": 1,
2996 "type": "INT"
2997 },
2998 {
2999 "id": 296,
3000 "origin_id": 270,
3001 "origin_slot": 0,
3002 "target_id": 274,
3003 "target_slot": 2,
3004 "type": "INT"
3005 },
3006 {
3007 "id": 298,
3008 "origin_id": -10,
3009 "origin_slot": 0,
3010 "target_id": 275,
3011 "target_slot": 0,
3012 "type": "IMAGE"
3013 },
3014 {
3015 "id": 299,
3016 "origin_id": 271,
3017 "origin_slot": 0,
3018 "target_id": 275,
3019 "target_slot": 1,
3020 "type": "INT"
3021 },
3022 {
3023 "id": 300,
3024 "origin_id": 270,
3025 "origin_slot": 0,
3026 "target_id": 275,
3027 "target_slot": 2,
3028 "type": "INT"
3029 },
3030 {
3031 "id": 301,
3032 "origin_id": 271,
3033 "origin_slot": 0,
3034 "target_id": 275,
3035 "target_slot": 3,
3036 "type": "INT"
3037 },
3038 {
3039 "id": 302,
3040 "origin_id": 271,
3041 "origin_slot": 0,
3042 "target_id": 276,
3043 "target_slot": 1,
3044 "type": "INT"
3045 },
3046 {
3047 "id": 303,
3048 "origin_id": 270,
3049 "origin_slot": 0,
3050 "target_id": 276,
3051 "target_slot": 2,
3052 "type": "INT"
3053 },
3054 {
3055 "id": 304,
3056 "origin_id": 271,
3057 "origin_slot": 0,
3058 "target_id": 277,
3059 "target_slot": 1,
3060 "type": "INT"
3061 },
3062 {
3063 "id": 305,
3064 "origin_id": 270,
3065 "origin_slot": 0,
3066 "target_id": 277,
3067 "target_slot": 2,
3068 "type": "INT"
3069 },
3070 {
3071 "id": 306,
3072 "origin_id": 271,
3073 "origin_slot": 0,
3074 "target_id": 277,
3075 "target_slot": 3,
3076 "type": "INT"
3077 },
3078 {
3079 "id": 307,
3080 "origin_id": 273,
3081 "origin_slot": 0,
3082 "target_id": 276,
3083 "target_slot": 3,
3084 "type": "INT"
3085 },
3086 {
3087 "id": 308,
3088 "origin_id": -10,
3089 "origin_slot": 0,
3090 "target_id": 276,
3091 "target_slot": 0,
3092 "type": "IMAGE"
3093 },
3094 {
3095 "id": 309,
3096 "origin_id": -10,
3097 "origin_slot": 0,
3098 "target_id": 277,
3099 "target_slot": 0,
3100 "type": "IMAGE"
3101 },
3102 {
3103 "id": 310,
3104 "origin_id": 273,
3105 "origin_slot": 0,
3106 "target_id": 277,
3107 "target_slot": 4,
3108 "type": "INT"
3109 },
3110 {
3111 "id": 311,
3112 "origin_id": 277,
3113 "origin_slot": 0,
3114 "target_id": -20,
3115 "target_slot": 3,
3116 "type": "IMAGE"
3117 },
3118 {
3119 "id": 312,
3120 "origin_id": 276,
3121 "origin_slot": 0,
3122 "target_id": -20,
3123 "target_slot": 2,
3124 "type": "IMAGE"
3125 },
3126 {
3127 "id": 313,
3128 "origin_id": 275,
3129 "origin_slot": 0,
3130 "target_id": -20,
3131 "target_slot": 1,
3132 "type": "IMAGE"
3133 },
3134 {
3135 "id": 314,
3136 "origin_id": 274,
3137 "origin_slot": 0,
3138 "target_id": -20,
3139 "target_slot": 0,
3140 "type": "IMAGE"
3141 }
3142 ],
3143 "extra": {
3144 "workflowRendererVersion": "Vue-corrected"
3145 }
3146 }
3147 ]
3148 },
3149 "config": [],
3150 "extra": {
3151 "ds": {
3152 "scale": 0.3138428376721043,
3153 "offset": [
3154 -1386.7056797100024,
3155 107.43419186634657
3156 ]
3157 },
3158 "frontendVersion": "1.41.13",
3159 "workflowRendererVersion": "Vue-corrected",
3160 "linearData": {
3161 "inputs": [
3162 [
3163 "16",
3164 "image"
3165 ],
3166 [
3167 "26",
3168 "image"
3169 ],
3170 [
3171 "245",
3172 "value"
3173 ],
3174 [
3175 "249",
3176 "value"
3177 ],
3178 [
3179 "254",
3180 "value"
3181 ],
3182 [
3183 "252",
3184 "value"
3185 ]
3186 ],
3187 "outputs": [
3188 "239",
3189 "240",
3190 "241",
3191 "242",
3192 "88",
3193 "89",
3194 "90",
3195 "91"
3196 ]
3197 },
3198 "VHS_KeepIntermediate": true,
3199 "VHS_MetadataImage": true,
3200 "VHS_latentpreview": false,
3201 "VHS_latentpreviewrate": 0,
3202 "linearMode": true
3203 },
3204 "version": 0.4
3205}