ComfyPilotComfyPilot
工作流 / 视频 / Seedance2.0 真人:FLF2V
Seedance2.0 真人:FLF2V

Seedance2.0 真人:FLF2V

Seedance2.0 Real Human: FLF2V

上传一张真实人物的参考图用于身份验证,并使用Seedance2.0 FLF2V生成一个带有首帧和尾帧控制的个性化视频。

视频 13 个节点 2 个输入 9 次使用 ComfyUI ≥ 0.26.2 ComfyUI 16 KB

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

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

节点构成

PreviewAny × 4
MarkdownNote × 3
ByteDanceCreateImageAsset × 2
LoadImage × 2
SaveVideo × 1
ByteDance2FirstLastFrameNode × 1

官方标注的模型

Seedance 2.0

工作流 JSON

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

1{
2 "id": "14af6003-d4ee-4dee-8e3d-cbff2e5519b3",
3 "revision": 0,
4 "last_node_id": 41,
5 "last_link_id": 62,
6 "nodes": [
7 {
8 "id": 15,
9 "type": "SaveVideo",
10 "pos": [
11 3160,
12 4810
13 ],
14 "size": [
15 490,
16 590
17 ],
18 "flags": [],
19 "order": 12,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "video",
24 "type": "VIDEO",
25 "link": 62
26 }
27 ],
28 "outputs": [],
29 "properties": {
30 "cnr_id": "comfy-core",
31 "ver": "0.19.3",
32 "ue_properties": {
33 "widget_ue_connectable": [],
34 "version": "7.7",
35 "input_ue_unconnectable": []
36 }
37 },
38 "widgets_values": [
39 "video/Seedance2.0",
40 "auto",
41 "auto"
42 ]
43 },
44 {
45 "id": 9,
46 "type": "ByteDanceCreateImageAsset",
47 "pos": [
48 1700,
49 4810
50 ],
51 "size": [
52 390,
53 140
54 ],
55 "flags": [],
56 "order": 5,
57 "mode": 0,
58 "inputs": [
59 {
60 "name": "image",
61 "type": "IMAGE",
62 "link": 32
63 }
64 ],
65 "outputs": [
66 {
67 "name": "asset_id",
68 "type": "STRING",
69 "links": [
70 30
71 ]
72 },
73 {
74 "name": "group_id",
75 "type": "STRING",
76 "links": [
77 10
78 ]
79 }
80 ],
81 "properties": {
82 "Node name for S&R": "ByteDanceCreateImageAsset",
83 "cnr_id": "comfy-core",
84 "ver": "0.19.3",
85 "ue_properties": {
86 "widget_ue_connectable": [],
87 "version": "7.7",
88 "input_ue_unconnectable": []
89 }
90 },
91 "widgets_values": [
92 ""
93 ],
94 "color": "#322",
95 "bgcolor": "#533"
96 },
97 {
98 "id": 20,
99 "type": "LoadImage",
100 "pos": [
101 1250,
102 4800
103 ],
104 "size": [
105 420,
106 550
107 ],
108 "flags": [],
109 "order": 0,
110 "mode": 0,
111 "inputs": [],
112 "outputs": [
113 {
114 "name": "IMAGE",
115 "type": "IMAGE",
116 "links": [
117 32
118 ]
119 },
120 {
121 "name": "MASK",
122 "type": "MASK",
123 "links": null
124 }
125 ],
126 "title": "Load Image (Real Human)",
127 "properties": {
128 "Node name for S&R": "LoadImage",
129 "cnr_id": "comfy-core",
130 "ver": "0.19.3",
131 "ue_properties": {
132 "widget_ue_connectable": [],
133 "version": "7.7",
134 "input_ue_unconnectable": []
135 }
136 },
137 "widgets_values": [
138 "flf2v_demo_first_frame.png",
139 "image"
140 ]
141 },
142 {
143 "id": 12,
144 "type": "PreviewAny",
145 "pos": [
146 2150,
147 5120
148 ],
149 "size": [
150 390,
151 200
152 ],
153 "flags": [],
154 "order": 8,
155 "mode": 0,
156 "inputs": [
157 {
158 "name": "source",
159 "type": "*",
160 "link": 10
161 }
162 ],
163 "outputs": [
164 {
165 "name": "STRING",
166 "type": "STRING",
167 "links": null
168 }
169 ],
170 "title": "Preview as Text (group_id)",
171 "properties": {
172 "Node name for S&R": "PreviewAny",
173 "cnr_id": "comfy-core",
174 "ver": "0.19.3",
175 "ue_properties": {
176 "widget_ue_connectable": [],
177 "version": "7.7",
178 "input_ue_unconnectable": []
179 }
180 },
181 "widgets_values": [
182 null,
183 null,
184 null
185 ]
186 },
187 {
188 "id": 29,
189 "type": "MarkdownNote",
190 "pos": [
191 600,
192 4750
193 ],
194 "size": [
195 600,
196 550
197 ],
198 "flags": [],
199 "order": 1,
200 "mode": 0,
201 "inputs": [],
202 "outputs": [],
203 "title": "Guide",
204 "properties": {
205 "ue_properties": {
206 "widget_ue_connectable": [],
207 "version": "7.7",
208 "input_ue_unconnectable": []
209 }
210 },
211 "widgets_values": [
212 "### [How to Use Real-Human Assets for Seedance2.0](https://docs.comfy.org/tutorials/partner-nodes/bytedance/seedance-2-0)\n\nTo comply with the model provider’s legal requirements, real-human assets must be verified before use. \n\n1. **First-Time Asset Upload & Verification**: Use \"Load Image\" to upload a real-human image. Run the workflow; the \"ByteDance Create Image Asset\" or \"ByteDance Create Video Asset\" node generates a verification link. Complete verification to obtain an Asset ID and a Group ID. \n2. **Reuse the Same Person’s Assets**: Save the Group ID. For future uploads of the same person’s images/videos, enter the saved Group ID in the \"Create Image/Video Asset\" node to skip verification, since the person is already verified. \n3. **Video Generation**: Use the Asset ID in the \"ByteDance Seedance 2.0\" node to generate a video with a real human as a reference.\n---\n- A Group ID verified by a single account is usable only by that account and does not support cross-account use.\n- Please ensure the image/video used to create assets contains only one character\n"
213 ],
214 "color": "#222",
215 "bgcolor": "#000"
216 },
217 {
218 "id": 32,
219 "type": "MarkdownNote",
220 "pos": [
221 1700,
222 5070
223 ],
224 "size": [
225 390,
226 280
227 ],
228 "flags": [],
229 "order": 2,
230 "mode": 0,
231 "inputs": [],
232 "outputs": [],
233 "title": "Note: group_id",
234 "properties": {
235 "ue_properties": {
236 "widget_ue_connectable": [],
237 "version": "7.7",
238 "input_ue_unconnectable": []
239 }
240 },
241 "widgets_values": [
242 "### Group ID Explanation \n- **Purpose**: Groups same-person real-human assets for backend recognition. \n- **Generation**: Auto-generated after the first verification via the \"ByteDance Create Image/Video Asset\" node. \n- **Usage**: Save the Group ID. For future same-person assets, entering this ID skips verification."
243 ],
244 "color": "#222",
245 "bgcolor": "#000"
246 },
247 {
248 "id": 18,
249 "type": "PreviewAny",
250 "pos": [
251 2150,
252 4840
253 ],
254 "size": [
255 380,
256 180
257 ],
258 "flags": [],
259 "order": 7,
260 "mode": 0,
261 "inputs": [
262 {
263 "name": "source",
264 "type": "*",
265 "link": 30
266 }
267 ],
268 "outputs": [
269 {
270 "name": "STRING",
271 "type": "STRING",
272 "links": [
273 61
274 ]
275 }
276 ],
277 "title": "Preview as Text (asset_id)",
278 "properties": {
279 "Node name for S&R": "PreviewAny",
280 "cnr_id": "comfy-core",
281 "ver": "0.19.3",
282 "ue_properties": {
283 "widget_ue_connectable": [],
284 "version": "7.7",
285 "input_ue_unconnectable": []
286 }
287 },
288 "widgets_values": [
289 null,
290 null,
291 null
292 ]
293 },
294 {
295 "id": 35,
296 "type": "MarkdownNote",
297 "pos": [
298 2670,
299 5350
300 ],
301 "size": [
302 440,
303 260
304 ],
305 "flags": [],
306 "order": 3,
307 "mode": 0,
308 "inputs": [],
309 "outputs": [],
310 "title": "Note: Input limit",
311 "properties": {
312 "ue_properties": {
313 "widget_ue_connectable": [],
314 "version": "7.7",
315 "input_ue_unconnectable": []
316 }
317 },
318 "widgets_values": [
319 "1. An access ID is equivalent to an image input.\n2. For the first frame, if you use an access ID input, you cannot use an image input simultaneously. The same applies to the last frame.\n3. You don't need to use the asset ID for both the first and last frames. This workflow is just an example of how to use real human assets."
320 ],
321 "color": "#222",
322 "bgcolor": "#000"
323 },
324 {
325 "id": 36,
326 "type": "ByteDance2FirstLastFrameNode",
327 "pos": [
328 2660,
329 4810
330 ],
331 "size": [
332 450,
333 460.96875
334 ],
335 "flags": [],
336 "order": 11,
337 "mode": 0,
338 "inputs": [
339 {
340 "name": "first_frame",
341 "shape": 7,
342 "type": "IMAGE",
343 "link": null
344 },
345 {
346 "name": "last_frame",
347 "shape": 7,
348 "type": "IMAGE",
349 "link": null
350 },
351 {
352 "name": "first_frame_asset_id",
353 "shape": 7,
354 "type": "STRING",
355 "widget": {
356 "name": "first_frame_asset_id"
357 },
358 "link": 61
359 },
360 {
361 "name": "last_frame_asset_id",
362 "shape": 7,
363 "type": "STRING",
364 "widget": {
365 "name": "last_frame_asset_id"
366 },
367 "link": 60
368 }
369 ],
370 "outputs": [
371 {
372 "name": "VIDEO",
373 "type": "VIDEO",
374 "links": [
375 62
376 ]
377 }
378 ],
379 "properties": {
380 "Node name for S&R": "ByteDance2FirstLastFrameNode",
381 "cnr_id": "comfy-core",
382 "ver": "0.19.3",
383 "ue_properties": {
384 "widget_ue_connectable": [],
385 "input_ue_unconnectable": [],
386 "version": "7.7"
387 }
388 },
389 "widgets_values": [
390 "Seedance 2.0",
391 "[Style] Futuristic magical water observatory, 8K ultra-clear, Photorealistic, High-fashion Editorial, circular fountain platform, suspended liquid membranes, aurora color gradients, dreamlike sci-fi elegance, Unreal Engine 5 fluid simulation and atmospheric glow.\n\nProtagonist note:\nA female fashion model, mid-20s, editorial silhouette: shoulder-length auburn hair in loose waves, tall lean build, calm confident posture.\n\n[Duration] 5 seconds.\n\n[Scene] A circular observatory suspended above a dark luminous void; a ring-shaped fountain surrounds the platform; thin vertical water membranes hover like transparent walls, and the ceiling glows with aurora colors.\n\n[00:00-00:02] Shot 1: Fountain ring.\nCamera: medium-wide orbit around the circular platform; water ring and figure share the frame.\nAction: She walks along the fountain rim; the thin water membranes around the platform shimmer with the ceiling colors.\nEffect: The nearest water membranes begin to peel away from the fountain ring into soft liquid sheets that resemble miniature aurora walls.\n\n[00:02-00:04] Shot 2: Membrane rise.\nCamera: medium three-quarter on torso, the fountain rim, and nearby water curtain.\nAction: She raises both hands slowly.\nEffect: The liquid membranes peel fully away from the fountain ring and rise into tall aurora-tinted sheets, matching the observatory geometry.\n\n[00:04-00:05] Shot 3: Observatory dissolve.\nCamera: crane up into a top view of the circular space.\nAction: She remains in the center while the sheets expand beyond her.\nEffect: The fountain ring, floor circle, and hovering water walls all soften into luminous aurora washes, and the observatory disappears into a vast magical liquid sky.",
392 "480p",
393 "16:9",
394 7,
395 true,
396 0,
397 "randomize",
398 false,
399 "",
400 ""
401 ],
402 "color": "#432",
403 "bgcolor": "#653"
404 },
405 {
406 "id": 37,
407 "type": "ByteDanceCreateImageAsset",
408 "pos": [
409 1700,
410 5500
411 ],
412 "size": [
413 390,
414 140
415 ],
416 "flags": [],
417 "order": 6,
418 "mode": 0,
419 "inputs": [
420 {
421 "name": "image",
422 "type": "IMAGE",
423 "link": 57
424 }
425 ],
426 "outputs": [
427 {
428 "name": "asset_id",
429 "type": "STRING",
430 "links": [
431 59
432 ]
433 },
434 {
435 "name": "group_id",
436 "type": "STRING",
437 "links": [
438 58
439 ]
440 }
441 ],
442 "properties": {
443 "Node name for S&R": "ByteDanceCreateImageAsset",
444 "cnr_id": "comfy-core",
445 "ver": "0.19.3",
446 "ue_properties": {
447 "widget_ue_connectable": [],
448 "version": "7.7",
449 "input_ue_unconnectable": []
450 }
451 },
452 "widgets_values": [
453 ""
454 ],
455 "color": "#322",
456 "bgcolor": "#533"
457 },
458 {
459 "id": 38,
460 "type": "LoadImage",
461 "pos": [
462 1250,
463 5480
464 ],
465 "size": [
466 420,
467 550
468 ],
469 "flags": [],
470 "order": 4,
471 "mode": 0,
472 "inputs": [],
473 "outputs": [
474 {
475 "name": "IMAGE",
476 "type": "IMAGE",
477 "links": [
478 57
479 ]
480 },
481 {
482 "name": "MASK",
483 "type": "MASK",
484 "links": null
485 }
486 ],
487 "title": "Load Image (Real Human)",
488 "properties": {
489 "Node name for S&R": "LoadImage",
490 "cnr_id": "comfy-core",
491 "ver": "0.19.3",
492 "ue_properties": {
493 "widget_ue_connectable": [],
494 "version": "7.7",
495 "input_ue_unconnectable": []
496 }
497 },
498 "widgets_values": [
499 "flf2v_demo_last_frame.png",
500 "image"
501 ]
502 },
503 {
504 "id": 39,
505 "type": "PreviewAny",
506 "pos": [
507 2150,
508 5800
509 ],
510 "size": [
511 390,
512 200
513 ],
514 "flags": [],
515 "order": 10,
516 "mode": 0,
517 "inputs": [
518 {
519 "name": "source",
520 "type": "*",
521 "link": 58
522 }
523 ],
524 "outputs": [
525 {
526 "name": "STRING",
527 "type": "STRING",
528 "links": null
529 }
530 ],
531 "title": "Preview as Text (group_id)",
532 "properties": {
533 "Node name for S&R": "PreviewAny",
534 "cnr_id": "comfy-core",
535 "ver": "0.19.3",
536 "ue_properties": {
537 "widget_ue_connectable": [],
538 "version": "7.7",
539 "input_ue_unconnectable": []
540 }
541 },
542 "widgets_values": [
543 null,
544 null,
545 null
546 ]
547 },
548 {
549 "id": 41,
550 "type": "PreviewAny",
551 "pos": [
552 2150,
553 5520
554 ],
555 "size": [
556 380,
557 180
558 ],
559 "flags": [],
560 "order": 9,
561 "mode": 0,
562 "inputs": [
563 {
564 "name": "source",
565 "type": "*",
566 "link": 59
567 }
568 ],
569 "outputs": [
570 {
571 "name": "STRING",
572 "type": "STRING",
573 "links": [
574 60
575 ]
576 }
577 ],
578 "title": "Preview as Text (asset_id)",
579 "properties": {
580 "Node name for S&R": "PreviewAny",
581 "cnr_id": "comfy-core",
582 "ver": "0.19.3",
583 "ue_properties": {
584 "widget_ue_connectable": [],
585 "version": "7.7",
586 "input_ue_unconnectable": []
587 }
588 },
589 "widgets_values": [
590 null,
591 null,
592 null
593 ]
594 }
595 ],
596 "links": [
597 [
598 10,
599 9,
600 1,
601 12,
602 0,
603 "STRING"
604 ],
605 [
606 30,
607 9,
608 0,
609 18,
610 0,
611 "STRING"
612 ],
613 [
614 32,
615 20,
616 0,
617 9,
618 0,
619 "IMAGE"
620 ],
621 [
622 57,
623 38,
624 0,
625 37,
626 0,
627 "IMAGE"
628 ],
629 [
630 58,
631 37,
632 1,
633 39,
634 0,
635 "STRING"
636 ],
637 [
638 59,
639 37,
640 0,
641 41,
642 0,
643 "STRING"
644 ],
645 [
646 60,
647 41,
648 0,
649 36,
650 3,
651 "STRING"
652 ],
653 [
654 61,
655 18,
656 0,
657 36,
658 2,
659 "STRING"
660 ],
661 [
662 62,
663 36,
664 0,
665 15,
666 0,
667 "VIDEO"
668 ]
669 ],
670 "groups": [
671 {
672 "id": 4,
673 "title": "Real Human asset creation",
674 "bounding": [
675 1240,
676 4720,
677 1320,
678 643.6
679 ],
680 "color": "#3f789e",
681 "flags": []
682 },
683 {
684 "id": 1,
685 "title": "Save IDs for future reuse",
686 "bounding": [
687 2130,
688 4760,
689 420,
690 580
691 ],
692 "color": "#3f789e",
693 "flags": []
694 },
695 {
696 "id": 5,
697 "title": "Real Human asset creation",
698 "bounding": [
699 1240,
700 5400,
701 1320,
702 643.6
703 ],
704 "color": "#3f789e",
705 "flags": []
706 },
707 {
708 "id": 6,
709 "title": "Save IDs for future reuse",
710 "bounding": [
711 2130,
712 5440,
713 420,
714 580
715 ],
716 "color": "#3f789e",
717 "flags": []
718 }
719 ],
720 "config": [],
721 "extra": {
722 "ds": {
723 "scale": 0.3104538131955991,
724 "offset": [
725 412.9491023287951,
726 -3754.9991078755293
727 ]
728 },
729 "frontendVersion": "1.44.18",
730 "workflowRendererVersion": "LG",
731 "VHS_latentpreview": false,
732 "VHS_latentpreviewrate": 0,
733 "VHS_MetadataImage": true,
734 "VHS_KeepIntermediate": true,
735 "ue_links": []
736 },
737 "version": 0.4
738}