工作流 /
品牌与设计 /
游戏资源风格迁移精灵图生成器

游戏资源风格迁移精灵图生成器
Game Asset Style Transfer Sprite Generator
使用轮廓参考和风格参考作为输入,生成2D精灵作为模型纹理。适用于2D/2.5D游戏的背景布景。
品牌与设计
13 个节点 2 个输入 14 次使用 ComfyUI ≥ 0.9.0 shane 14 KB
节点构成
PrimitiveStringMultiline
× 3
StringConcatenate
× 2
LoadImage
× 2
SaveImage
× 2
RecraftRemoveBackgroundNode
× 1
BatchImagesNode
× 1
GeminiImage2Node
× 1
ImageCompare
× 1
官方标注的模型
Nano Banana Pro
工作流 JSON
和上面「下载工作流 JSON」是同一份文件。
1{
2 "id": "00000000-0000-0000-0000-000000000000",
3 "revision": 0,
4 "last_node_id": 22,
5 "last_link_id": 24,
6 "nodes": [
7 {
8 "id": 4,
9 "type": "RecraftRemoveBackgroundNode",
10 "pos": [
11 1418.6668600237565,
12 708.3334349890728
13 ],
14 "size": [
15 408.33333333333337,
16 60.1171875
17 ],
18 "flags": [],
19 "order": 9,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "image",
24 "type": "IMAGE",
25 "link": 2
26 }
27 ],
28 "outputs": [
29 {
30 "name": "IMAGE",
31 "type": "IMAGE",
32 "links": [
33 1
34 ]
35 },
36 {
37 "name": "MASK",
38 "type": "MASK",
39 "links": null
40 }
41 ],
42 "properties": {
43 "Node name for S&R": "RecraftRemoveBackgroundNode",
44 "cnr_id": "comfy-core",
45 "ver": "0.9.2",
46 "widget_ue_connectable": []
47 },
48 "widgets_values": [],
49 "color": "#432",
50 "bgcolor": "#653"
51 },
52 {
53 "id": 20,
54 "type": "PrimitiveStringMultiline",
55 "pos": [
56 600,
57 760
58 ],
59 "size": [
60 210,
61 88
62 ],
63 "flags": {
64 "collapsed": true
65 },
66 "order": 0,
67 "mode": 0,
68 "inputs": [],
69 "outputs": [
70 {
71 "name": "STRING",
72 "type": "STRING",
73 "links": [
74 22
75 ]
76 }
77 ],
78 "properties": {
79 "Node name for S&R": "PrimitiveStringMultiline",
80 "cnr_id": "comfy-core",
81 "ver": "0.16.1"
82 },
83 "widgets_values": [
84 " and restyle into the style of image 2. Black background"
85 ]
86 },
87 {
88 "id": 17,
89 "type": "StringConcatenate",
90 "pos": [
91 600.3334135376938,
92 598.3335141500406
93 ],
94 "size": [
95 210,
96 166
97 ],
98 "flags": {
99 "collapsed": true
100 },
101 "order": 6,
102 "mode": 0,
103 "inputs": [
104 {
105 "name": "string_a",
106 "type": "STRING",
107 "widget": {
108 "name": "string_a"
109 },
110 "link": 17
111 },
112 {
113 "name": "string_b",
114 "type": "STRING",
115 "widget": {
116 "name": "string_b"
117 },
118 "link": 23
119 }
120 ],
121 "outputs": [
122 {
123 "name": "STRING",
124 "type": "STRING",
125 "links": [
126 21
127 ]
128 }
129 ],
130 "properties": {
131 "Node name for S&R": "StringConcatenate",
132 "cnr_id": "comfy-core",
133 "ver": "0.16.1"
134 },
135 "widgets_values": [
136 "",
137 "",
138 ""
139 ]
140 },
141 {
142 "id": 19,
143 "type": "PrimitiveStringMultiline",
144 "pos": [
145 600.3334135376938,
146 528.3334090032613
147 ],
148 "size": [
149 210,
150 88
151 ],
152 "flags": {
153 "collapsed": true
154 },
155 "order": 1,
156 "mode": 0,
157 "inputs": [],
158 "outputs": [
159 {
160 "name": "STRING",
161 "type": "STRING",
162 "links": [
163 17
164 ]
165 }
166 ],
167 "properties": {
168 "Node name for S&R": "PrimitiveStringMultiline",
169 "cnr_id": "comfy-core",
170 "ver": "0.16.1"
171 },
172 "widgets_values": [
173 "strictly preserve the composition and outline of image 1. Reskin image 1 as "
174 ]
175 },
176 {
177 "id": 21,
178 "type": "StringConcatenate",
179 "pos": [
180 600,
181 680
182 ],
183 "size": [
184 210,
185 166
186 ],
187 "flags": {
188 "collapsed": true
189 },
190 "order": 7,
191 "mode": 0,
192 "inputs": [
193 {
194 "name": "string_a",
195 "type": "STRING",
196 "widget": {
197 "name": "string_a"
198 },
199 "link": 21
200 },
201 {
202 "name": "string_b",
203 "type": "STRING",
204 "widget": {
205 "name": "string_b"
206 },
207 "link": 22
208 }
209 ],
210 "outputs": [
211 {
212 "name": "STRING",
213 "type": "STRING",
214 "links": [
215 24
216 ]
217 }
218 ],
219 "properties": {
220 "Node name for S&R": "StringConcatenate",
221 "cnr_id": "comfy-core",
222 "ver": "0.16.1"
223 },
224 "widgets_values": [
225 "",
226 "",
227 ""
228 ]
229 },
230 {
231 "id": 1,
232 "type": "LoadImage",
233 "pos": [
234 230.33333210691532,
235 648.3334193402364
236 ],
237 "size": [
238 274.0494791666667,
239 314
240 ],
241 "flags": [],
242 "order": 2,
243 "mode": 0,
244 "inputs": [],
245 "outputs": [
246 {
247 "name": "IMAGE",
248 "type": "IMAGE",
249 "links": [
250 15
251 ]
252 },
253 {
254 "name": "MASK",
255 "type": "MASK",
256 "links": null
257 }
258 ],
259 "title": "Style Reference",
260 "properties": {
261 "Node name for S&R": "LoadImage",
262 "cnr_id": "comfy-core",
263 "ver": "0.3.52",
264 "widget_ue_connectable": [],
265 "ue_properties": {
266 "input_ue_unconnectable": [],
267 "version": "7.1",
268 "widget_ue_connectable": []
269 }
270 },
271 "widgets_values": [
272 "game_style.png",
273 "image"
274 ]
275 },
276 {
277 "id": 16,
278 "type": "BatchImagesNode",
279 "pos": [
280 600.3334135376938,
281 288.33338832931116
282 ],
283 "size": [
284 187.5,
285 86
286 ],
287 "flags": [],
288 "order": 5,
289 "mode": 0,
290 "inputs": [
291 {
292 "label": "image0",
293 "name": "images.image0",
294 "type": "IMAGE",
295 "link": 14
296 },
297 {
298 "label": "image1",
299 "name": "images.image1",
300 "type": "IMAGE",
301 "link": 15
302 },
303 {
304 "label": "image2",
305 "name": "images.image2",
306 "shape": 7,
307 "type": "IMAGE",
308 "link": null
309 }
310 ],
311 "outputs": [
312 {
313 "name": "IMAGE",
314 "type": "IMAGE",
315 "links": [
316 16
317 ]
318 }
319 ],
320 "properties": {
321 "Node name for S&R": "BatchImagesNode",
322 "cnr_id": "comfy-core",
323 "ver": "0.16.1"
324 },
325 "widgets_values": []
326 },
327 {
328 "id": 8,
329 "type": "GeminiImage2Node",
330 "pos": [
331 850.3333359561814,
332 288.33338832931116
333 ],
334 "size": [
335 409.97395833333337,
336 469.97395833333337
337 ],
338 "flags": [],
339 "order": 8,
340 "mode": 0,
341 "inputs": [
342 {
343 "name": "images",
344 "shape": 7,
345 "type": "IMAGE",
346 "link": 16
347 },
348 {
349 "name": "files",
350 "shape": 7,
351 "type": "GEMINI_INPUT_FILES",
352 "link": null
353 },
354 {
355 "name": "prompt",
356 "type": "STRING",
357 "widget": {
358 "name": "prompt"
359 },
360 "link": 24
361 }
362 ],
363 "outputs": [
364 {
365 "name": "IMAGE",
366 "type": "IMAGE",
367 "links": [
368 2,
369 3,
370 7
371 ]
372 },
373 {
374 "name": "STRING",
375 "type": "STRING",
376 "links": null
377 }
378 ],
379 "properties": {
380 "Node name for S&R": "GeminiImage2Node",
381 "cnr_id": "comfy-core",
382 "ver": "0.9.2",
383 "widget_ue_connectable": []
384 },
385 "widgets_values": [
386 "",
387 "gemini-3-pro-image-preview",
388 605332021762553,
389 "randomize",
390 "1:1",
391 "1K",
392 "IMAGE",
393 "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."
394 ],
395 "color": "#432",
396 "bgcolor": "#653"
397 },
398 {
399 "id": 2,
400 "type": "LoadImage",
401 "pos": [
402 230.33333210691532,
403 288.33338832931116
404 ],
405 "size": [
406 274.0494791666667,
407 314
408 ],
409 "flags": [],
410 "order": 3,
411 "mode": 0,
412 "inputs": [],
413 "outputs": [
414 {
415 "name": "IMAGE",
416 "type": "IMAGE",
417 "links": [
418 6,
419 14
420 ]
421 },
422 {
423 "name": "MASK",
424 "type": "MASK",
425 "links": null
426 }
427 ],
428 "title": "Sprite Reference",
429 "properties": {
430 "Node name for S&R": "LoadImage",
431 "cnr_id": "comfy-core",
432 "ver": "0.3.52",
433 "widget_ue_connectable": [],
434 "ue_properties": {
435 "input_ue_unconnectable": [],
436 "version": "7.1",
437 "widget_ue_connectable": []
438 }
439 },
440 "widgets_values": [
441 "gas_lamp.png",
442 "image"
443 ]
444 },
445 {
446 "id": 7,
447 "type": "ImageCompare",
448 "pos": [
449 1420.33348417369,
450 288.33338832931116
451 ],
452 "size": [
453 403.02083333333337,
454 342.3307291666667
455 ],
456 "flags": [],
457 "order": 11,
458 "mode": 0,
459 "inputs": [
460 {
461 "name": "image_a",
462 "shape": 7,
463 "type": "IMAGE",
464 "link": 6
465 },
466 {
467 "name": "image_b",
468 "shape": 7,
469 "type": "IMAGE",
470 "link": 7
471 }
472 ],
473 "outputs": [],
474 "properties": {
475 "Node name for S&R": "ImageCompare",
476 "cnr_id": "comfy-core",
477 "ver": "0.9.2",
478 "widget_ue_connectable": []
479 },
480 "widgets_values": []
481 },
482 {
483 "id": 5,
484 "type": "SaveImage",
485 "pos": [
486 1890,
487 288.33338832931116
488 ],
489 "size": [
490 341.6666666666667,
491 425
492 ],
493 "flags": [],
494 "order": 10,
495 "mode": 0,
496 "inputs": [
497 {
498 "name": "images",
499 "type": "IMAGE",
500 "link": 3
501 }
502 ],
503 "outputs": [],
504 "title": "Save texture",
505 "properties": {
506 "Node name for S&R": "SaveImage",
507 "cnr_id": "comfy-core",
508 "ver": "0.5.1",
509 "widget_ue_connectable": [],
510 "enableTabs": false,
511 "hasSecondTab": false,
512 "secondTabOffset": 80,
513 "secondTabText": "Send Back",
514 "secondTabWidth": 65,
515 "tabWidth": 65,
516 "tabXOffset": 10
517 },
518 "widgets_values": [
519 "texture"
520 ]
521 },
522 {
523 "id": 3,
524 "type": "SaveImage",
525 "pos": [
526 2260,
527 288.33338832931116
528 ],
529 "size": [
530 341.6666666666667,
531 425
532 ],
533 "flags": [],
534 "order": 12,
535 "mode": 0,
536 "inputs": [
537 {
538 "name": "images",
539 "type": "IMAGE",
540 "link": 1
541 }
542 ],
543 "outputs": [],
544 "title": "Save texture with alpha",
545 "properties": {
546 "Node name for S&R": "SaveImage",
547 "cnr_id": "comfy-core",
548 "ver": "0.5.1",
549 "widget_ue_connectable": [],
550 "enableTabs": false,
551 "hasSecondTab": false,
552 "secondTabOffset": 80,
553 "secondTabText": "Send Back",
554 "secondTabWidth": 65,
555 "tabWidth": 65,
556 "tabXOffset": 10
557 },
558 "widgets_values": [
559 "texture_alpha"
560 ]
561 },
562 {
563 "id": 22,
564 "type": "PrimitiveStringMultiline",
565 "pos": [
566 220.3332816870621,
567 1088.333358125601
568 ],
569 "size": [
570 300,
571 104.70052083333334
572 ],
573 "flags": {
574 "collapsed": false
575 },
576 "order": 4,
577 "mode": 0,
578 "inputs": [],
579 "outputs": [
580 {
581 "name": "STRING",
582 "type": "STRING",
583 "links": [
584 23
585 ]
586 }
587 ],
588 "title": "Object Prompt",
589 "properties": {
590 "Node name for S&R": "PrimitiveStringMultiline",
591 "cnr_id": "comfy-core",
592 "ver": "0.16.1"
593 },
594 "widgets_values": [
595 "copper gas lamp"
596 ]
597 }
598 ],
599 "links": [
600 [
601 1,
602 4,
603 0,
604 3,
605 0,
606 "IMAGE"
607 ],
608 [
609 2,
610 8,
611 0,
612 4,
613 0,
614 "IMAGE"
615 ],
616 [
617 3,
618 8,
619 0,
620 5,
621 0,
622 "IMAGE"
623 ],
624 [
625 6,
626 2,
627 0,
628 7,
629 0,
630 "IMAGE"
631 ],
632 [
633 7,
634 8,
635 0,
636 7,
637 1,
638 "IMAGE"
639 ],
640 [
641 14,
642 2,
643 0,
644 16,
645 0,
646 "IMAGE"
647 ],
648 [
649 15,
650 1,
651 0,
652 16,
653 1,
654 "IMAGE"
655 ],
656 [
657 16,
658 16,
659 0,
660 8,
661 0,
662 "IMAGE"
663 ],
664 [
665 17,
666 19,
667 0,
668 17,
669 0,
670 "STRING"
671 ],
672 [
673 21,
674 17,
675 0,
676 21,
677 0,
678 "STRING"
679 ],
680 [
681 22,
682 20,
683 0,
684 21,
685 1,
686 "STRING"
687 ],
688 [
689 23,
690 22,
691 0,
692 17,
693 1,
694 "STRING"
695 ],
696 [
697 24,
698 21,
699 0,
700 8,
701 2,
702 "STRING"
703 ]
704 ],
705 "groups": [
706 {
707 "id": 1,
708 "title": "Input Images",
709 "bounding": [
710 210,
711 200,
712 330,
713 790
714 ],
715 "color": "#8A8",
716 "font_size": 24,
717 "flags": []
718 },
719 {
720 "id": 2,
721 "title": "Run Nano Banana",
722 "bounding": [
723 570,
724 200,
725 790,
726 620
727 ],
728 "color": "#3f789e",
729 "font_size": 24,
730 "flags": []
731 },
732 {
733 "id": 3,
734 "title": "Output Textures",
735 "bounding": [
736 1870,
737 200,
738 750,
739 616.6666666666667
740 ],
741 "color": "#b58b2a",
742 "font_size": 24,
743 "flags": []
744 },
745 {
746 "id": 4,
747 "title": "Input Object",
748 "bounding": [
749 210,
750 1020,
751 327.8434594166669,
752 190.3785690833333
753 ],
754 "color": "#8A8",
755 "font_size": 24,
756 "flags": []
757 }
758 ],
759 "config": [],
760 "extra": {
761 "ds": {
762 "scale": 0.33123273087111704,
763 "offset": [
764 816.6334586543387,
765 645.1786028964514
766 ]
767 },
768 "frontendVersion": "1.42.1",
769 "workflowRendererVersion": "LG",
770 "linearData": {
771 "inputs": [
772 [
773 2,
774 "image"
775 ],
776 [
777 1,
778 "image"
779 ]
780 ],
781 "outputs": [
782 7,
783 5,
784 3
785 ]
786 },
787 "ue_links": [],
788 "VHS_latentpreview": false,
789 "VHS_latentpreviewrate": 0,
790 "VHS_MetadataImage": true,
791 "VHS_KeepIntermediate": true,
792 "linearMode": true
793 },
794 "version": 0.4
795}