工作流 /
视频 /
Seedance 2.0 + LLM 提示词助手

Seedance 2.0 + LLM 提示词助手
Seedance 2.0 + LLM Prompt Helper
上传两张参考图像并输入简短的文本描述。使用LLM助手自动生成详细的Seedance 2.0风格提示词。
视频
9 个节点 2 个输入 10 次使用 ComfyUI ≥ 0.35.2 enigmatic_e 16 KB
节点构成
LoadImage
× 2
SaveVideo
× 1
GeminiNode
× 1
PreviewAny
× 1
PreviewImage
× 1
MarkdownNote
× 1
ImageStitch
× 1
ByteDance2ReferenceNode
× 1
官方标注的模型
Gemini-3.1-ProSeedance 2.0
工作流 JSON
和上面「下载工作流 JSON」是同一份文件。
1{
2 "id": "9994178c-856f-479e-8ba6-cda3daf4a117",
3 "revision": 0,
4 "last_node_id": 368,
5 "last_link_id": 671,
6 "nodes": [
7 {
8 "id": 344,
9 "type": "SaveVideo",
10 "pos": [
11 2440,
12 180
13 ],
14 "size": [
15 520,
16 370
17 ],
18 "flags": {
19 "collapsed": false
20 },
21 "order": 8,
22 "mode": 0,
23 "inputs": [
24 {
25 "name": "video",
26 "type": "VIDEO",
27 "link": 671
28 }
29 ],
30 "outputs": [],
31 "properties": {
32 "cnr_id": "comfy-core",
33 "ver": "0.19.3",
34 "enableTabs": false,
35 "tabWidth": 65,
36 "tabXOffset": 10,
37 "hasSecondTab": false,
38 "secondTabText": "Send Back",
39 "secondTabOffset": 80,
40 "secondTabWidth": 65,
41 "Node name for S&R": "SaveVideo",
42 "ue_properties": {
43 "input_ue_unconnectable": [],
44 "version": "7.7",
45 "widget_ue_connectable": []
46 }
47 },
48 "widgets_values": [
49 "video/Seedance2.0_r2v",
50 "auto",
51 "auto"
52 ]
53 },
54 {
55 "id": 352,
56 "type": "LoadImage",
57 "pos": [
58 -880,
59 240
60 ],
61 "size": [
62 290,
63 370
64 ],
65 "flags": [],
66 "order": 0,
67 "mode": 0,
68 "inputs": [],
69 "outputs": [
70 {
71 "name": "IMAGE",
72 "type": "IMAGE",
73 "links": [
74 664,
75 670
76 ]
77 },
78 {
79 "name": "MASK",
80 "type": "MASK",
81 "links": null
82 }
83 ],
84 "properties": {
85 "cnr_id": "comfy-core",
86 "ver": "0.19.3",
87 "enableTabs": false,
88 "tabWidth": 65,
89 "tabXOffset": 10,
90 "hasSecondTab": false,
91 "secondTabText": "Send Back",
92 "secondTabOffset": 80,
93 "secondTabWidth": 65,
94 "Node name for S&R": "LoadImage",
95 "ue_properties": {
96 "input_ue_unconnectable": [],
97 "version": "7.7",
98 "widget_ue_connectable": []
99 }
100 },
101 "widgets_values": [
102 "freezer.png",
103 "image"
104 ]
105 },
106 {
107 "id": 356,
108 "type": "LoadImage",
109 "pos": [
110 -490,
111 240
112 ],
113 "size": [
114 290,
115 370
116 ],
117 "flags": [],
118 "order": 1,
119 "mode": 0,
120 "inputs": [],
121 "outputs": [
122 {
123 "name": "IMAGE",
124 "type": "IMAGE",
125 "links": [
126 663,
127 669
128 ]
129 },
130 {
131 "name": "MASK",
132 "type": "MASK",
133 "links": null
134 }
135 ],
136 "properties": {
137 "cnr_id": "comfy-core",
138 "ver": "0.19.3",
139 "enableTabs": false,
140 "tabWidth": 65,
141 "tabXOffset": 10,
142 "hasSecondTab": false,
143 "secondTabText": "Send Back",
144 "secondTabOffset": 80,
145 "secondTabWidth": 65,
146 "Node name for S&R": "LoadImage",
147 "ue_properties": {
148 "input_ue_unconnectable": [],
149 "version": "7.7",
150 "widget_ue_connectable": []
151 }
152 },
153 "widgets_values": [
154 "snowboarder.png",
155 "image"
156 ]
157 },
158 {
159 "id": 360,
160 "type": "GeminiNode",
161 "pos": [
162 670,
163 190
164 ],
165 "size": [
166 460,
167 780
168 ],
169 "flags": [],
170 "order": 5,
171 "mode": 0,
172 "showAdvanced": true,
173 "inputs": [
174 {
175 "name": "images",
176 "shape": 7,
177 "type": "IMAGE",
178 "link": 666
179 },
180 {
181 "name": "audio",
182 "shape": 7,
183 "type": "AUDIO",
184 "link": null
185 },
186 {
187 "name": "video",
188 "shape": 7,
189 "type": "VIDEO",
190 "link": null
191 },
192 {
193 "name": "files",
194 "shape": 7,
195 "type": "GEMINI_INPUT_FILES",
196 "link": null
197 }
198 ],
199 "outputs": [
200 {
201 "name": "STRING",
202 "type": "STRING",
203 "links": [
204 655
205 ]
206 }
207 ],
208 "properties": {
209 "cnr_id": "comfy-core",
210 "ver": "0.22.0",
211 "enableTabs": false,
212 "tabWidth": 65,
213 "tabXOffset": 10,
214 "hasSecondTab": false,
215 "secondTabText": "Send Back",
216 "secondTabOffset": 80,
217 "secondTabWidth": 65,
218 "Node name for S&R": "GeminiNode"
219 },
220 "widgets_values": [
221 "Create a ~15-second cinematic action sequence of a tiny snowboarder racing at high speed through a freezer environment designed like a chaotic obstacle course. The camera stays low and tightly behind him in one continuous shot with no cuts, maintaining constant forward motion.\n\nFocus on intensity and unpredictability: unstable terrain, falling and shifting objects, frequent near-collisions, and moments where he nearly loses balance but quickly recovers. The scene should feel dynamic, reactive, and alive, with realistic physics and environmental interaction rather than smooth or controlled movement.",
222 "gemini-3-1-pro",
223 66746703903294,
224 "fixed",
225 "You are a cinematic prompt generator. Your task is to convert user ideas into structured prompts for high-fidelity video generation using a strict format and physically grounded cinematic logic. Always output using exactly these five sections in this order: Subject, Action, Camera, Style, Constraints. Do not include any extra commentary, explanations, or text outside these sections.\n\nSubject: Define a single dominant subject unless the user explicitly requests multiple. Describe the subject in precise visual detail including physical traits, clothing, and distinguishing features. Maintain subject identity consistently throughout the entire sequence and do not introduce new primary subjects.\n\nAction: This is the most important section. All motion must be physically grounded and follow clear cause-and-effect logic. Structure the entire sequence as a continuous timeline using explicit timestamps formatted like 0.0–X.Xs. Actions must flow as a chain: start, progression, escalation, peak, recovery, continuation. The subject must remain in continuous motion unless explicitly stated otherwise. Include environmental interaction where the subject affects surroundings (collisions, displacement, shifting objects), and those surroundings react accordingly. Incorporate instability, loss of balance, and recovery where appropriate. Add micro-detail layering such as particles, fabric movement, subtle adjustments, and secondary reactions. Avoid vague, symbolic, or abstract actions. No teleportation or discontinuity.\n\nCamera: Always specify shot size, angle, and movement. Ensure the camera maintains spatial continuity with no cuts unless explicitly requested. The subject must remain clearly visible and trackable at all times. Camera motion must feel physically plausible, including inertia and subtle shake when appropriate (e.g., at high speed). The camera should enhance depth using foreground, midground, and background parallax.\n\nStyle: Use exactly one strong visual anchor such as a film stock, cinematic style, or artist reference. Do not combine multiple styles. This style must consistently influence lighting, color, texture, and depth of field across the entire sequence.\n\nConstraints: Always include negative prompts such as no distortion, no flicker, no artifacts, no extra limbs or deformities. Include temporal definition specifying total duration and pacing of the shot. Enforce continuity rules including stable lighting direction, coherent shadows, preserved subject identity, and no morphing unless explicitly requested. Include any explicit constraints provided by the user (e.g., snowboard only, no skis or poles).\n\nCinematic principles must always be enforced: physical realism (weight, inertia, momentum), environmental interaction (surfaces and objects react to motion), depth and parallax (layered scene behavior), lighting continuity, and clear visual readability of the subject. Motion should escalate in intensity over time when appropriate.\n\nHard rules: never output anything outside the five required sections, never omit timestamps in the Action section, never introduce multiple subjects unless requested, never use abstract or symbolic motion, never include impossible camera behavior, and never stack multiple styles."
226 ],
227 "color": "#432",
228 "bgcolor": "#653"
229 },
230 {
231 "id": 361,
232 "type": "PreviewAny",
233 "pos": [
234 1210,
235 190
236 ],
237 "size": [
238 460,
239 550
240 ],
241 "flags": [],
242 "order": 6,
243 "mode": 0,
244 "inputs": [
245 {
246 "name": "source",
247 "type": "*",
248 "link": 655
249 }
250 ],
251 "outputs": [
252 {
253 "name": "STRING",
254 "type": "STRING",
255 "links": [
256 668
257 ]
258 }
259 ],
260 "properties": {
261 "cnr_id": "comfy-core",
262 "ver": "0.22.0",
263 "enableTabs": false,
264 "tabWidth": 65,
265 "tabXOffset": 10,
266 "hasSecondTab": false,
267 "secondTabText": "Send Back",
268 "secondTabOffset": 80,
269 "secondTabWidth": 65,
270 "Node name for S&R": "PreviewAny"
271 },
272 "widgets_values": [
273 null,
274 null,
275 null
276 ]
277 },
278 {
279 "id": 363,
280 "type": "PreviewImage",
281 "pos": [
282 230,
283 260
284 ],
285 "size": [
286 230,
287 310
288 ],
289 "flags": [],
290 "order": 4,
291 "mode": 0,
292 "inputs": [
293 {
294 "name": "images",
295 "type": "IMAGE",
296 "link": 665
297 }
298 ],
299 "outputs": [],
300 "properties": {
301 "cnr_id": "comfy-core",
302 "ver": "0.22.0",
303 "enableTabs": false,
304 "tabWidth": 65,
305 "tabXOffset": 10,
306 "hasSecondTab": false,
307 "secondTabText": "Send Back",
308 "secondTabOffset": 80,
309 "secondTabWidth": 65,
310 "Node name for S&R": "PreviewImage"
311 },
312 "widgets_values": []
313 },
314 {
315 "id": 365,
316 "type": "MarkdownNote",
317 "pos": [
318 -1380,
319 140
320 ],
321 "size": [
322 370,
323 820
324 ],
325 "flags": [],
326 "order": 2,
327 "mode": 0,
328 "inputs": [],
329 "outputs": [],
330 "properties": [],
331 "widgets_values": [
332 "# Workflow Instructions\n\n1. Upload Reference Images (e.g., location, subject, or style).\n\n2. (Optional) Use the LLM for Prompt Generation \nThe LLM can help generate a Seedance 2.0–style prompt based on your inputs. \n- Select the Seedance node and press Ctrl + B to bypass it (so it doesn’t run). \n- Click Run to execute the LLM.\n\n3. Guide Google Gemini \nWhen using the Google Gemini node, provide a clear description of what you want, including the duration (time). \nGemini will generate a Seedance 2.0–style prompt based on your input.\n\n4. Review and Apply the Prompt \n- Once you’re happy with the generated prompt, select the Google Gemini node and press Ctrl + B to bypass it. \n- Go back to the Seedance node and press Ctrl + B again to enable it. \n- Paste the generated prompt into the prompt field.\n\n5. Adjust Settings \nSet your desired resolution, aspect ratio, and video duration in the Seedance node.\n\n6. Generate the Video \nRun the workflow again to generate your final output.\n"
333 ],
334 "color": "#222",
335 "bgcolor": "#000"
336 },
337 {
338 "id": 366,
339 "type": "ImageStitch",
340 "pos": [
341 -130,
342 260
343 ],
344 "size": [
345 270,
346 190
347 ],
348 "flags": [],
349 "order": 3,
350 "mode": 0,
351 "inputs": [
352 {
353 "name": "image1",
354 "type": "IMAGE",
355 "link": 663
356 },
357 {
358 "name": "image2",
359 "shape": 7,
360 "type": "IMAGE",
361 "link": 664
362 }
363 ],
364 "outputs": [
365 {
366 "name": "IMAGE",
367 "type": "IMAGE",
368 "links": [
369 665,
370 666
371 ]
372 }
373 ],
374 "properties": {
375 "cnr_id": "comfy-core",
376 "ver": "0.22.0",
377 "enableTabs": false,
378 "tabWidth": 65,
379 "tabXOffset": 10,
380 "hasSecondTab": false,
381 "secondTabText": "Send Back",
382 "secondTabOffset": 80,
383 "secondTabWidth": 65,
384 "Node name for S&R": "ImageStitch"
385 },
386 "widgets_values": [
387 "right",
388 true,
389 0,
390 "white"
391 ]
392 },
393 {
394 "id": 368,
395 "type": "ByteDance2ReferenceNode",
396 "pos": [
397 1800,
398 180
399 ],
400 "size": [
401 400,
402 428
403 ],
404 "flags": [],
405 "order": 7,
406 "mode": 0,
407 "inputs": [
408 {
409 "name": "model.prompt",
410 "type": "STRING",
411 "widget": {
412 "name": "model.prompt"
413 },
414 "link": 668
415 },
416 {
417 "label": "image_1",
418 "name": "model.reference_images.image_1",
419 "shape": 7,
420 "type": "IMAGE",
421 "link": 669
422 },
423 {
424 "label": "image_2",
425 "name": "model.reference_images.image_2",
426 "shape": 7,
427 "type": "IMAGE",
428 "link": 670
429 },
430 {
431 "label": "image_3",
432 "name": "model.reference_images.image_3",
433 "shape": 7,
434 "type": "IMAGE",
435 "link": null
436 },
437 {
438 "label": "video_1",
439 "name": "model.reference_videos.video_1",
440 "shape": 7,
441 "type": "VIDEO",
442 "link": null
443 },
444 {
445 "label": "audio_1",
446 "name": "model.reference_audios.audio_1",
447 "shape": 7,
448 "type": "AUDIO",
449 "link": null
450 },
451 {
452 "label": "asset_1",
453 "name": "model.reference_assets.asset_1",
454 "shape": 7,
455 "type": "STRING",
456 "link": null
457 }
458 ],
459 "outputs": [
460 {
461 "name": "VIDEO",
462 "type": "VIDEO",
463 "links": [
464 671
465 ]
466 }
467 ],
468 "properties": {
469 "cnr_id": "comfy-core",
470 "ver": "0.22.0",
471 "enableTabs": false,
472 "tabWidth": 65,
473 "tabXOffset": 10,
474 "hasSecondTab": false,
475 "secondTabText": "Send Back",
476 "secondTabOffset": 80,
477 "secondTabWidth": 65,
478 "Node name for S&R": "ByteDance2ReferenceNode"
479 },
480 "widgets_values": [
481 "Seedance 2.0",
482 "",
483 "720p",
484 "9:16",
485 15,
486 true,
487 true,
488 false,
489 0,
490 "randomize",
491 false
492 ],
493 "color": "#432",
494 "bgcolor": "#653"
495 }
496 ],
497 "links": [
498 [
499 655,
500 360,
501 0,
502 361,
503 0,
504 "STRING"
505 ],
506 [
507 663,
508 356,
509 0,
510 366,
511 0,
512 "IMAGE"
513 ],
514 [
515 664,
516 352,
517 0,
518 366,
519 1,
520 "IMAGE"
521 ],
522 [
523 665,
524 366,
525 0,
526 363,
527 0,
528 "IMAGE"
529 ],
530 [
531 666,
532 366,
533 0,
534 360,
535 0,
536 "IMAGE"
537 ],
538 [
539 668,
540 361,
541 0,
542 368,
543 0,
544 "STRING"
545 ],
546 [
547 669,
548 356,
549 0,
550 368,
551 1,
552 "IMAGE"
553 ],
554 [
555 670,
556 352,
557 0,
558 368,
559 2,
560 "IMAGE"
561 ],
562 [
563 671,
564 368,
565 0,
566 344,
567 0,
568 "VIDEO"
569 ]
570 ],
571 "groups": [
572 {
573 "id": 1,
574 "title": "LLM",
575 "bounding": [
576 640,
577 100,
578 1054.2587669146694,
579 944.5034801612671
580 ],
581 "color": "#3f789e",
582 "flags": []
583 },
584 {
585 "id": 2,
586 "title": "Reference Images",
587 "bounding": [
588 -980,
589 100,
590 1590.8887888228949,
591 580.4792451483988
592 ],
593 "color": "#3f789e",
594 "flags": []
595 },
596 {
597 "id": 3,
598 "title": "Seedance 2.0",
599 "bounding": [
600 1740,
601 100,
602 1254.2917698408892,
603 931.3079389592615
604 ],
605 "color": "#3f789e",
606 "flags": []
607 }
608 ],
609 "config": [],
610 "extra": {
611 "ds": {
612 "scale": 0.36674994644198305,
613 "offset": [
614 2162.1612341212594,
615 811.5556670296681
616 ]
617 },
618 "frontendVersion": "1.44.19",
619 "workflowRendererVersion": "Vue-corrected",
620 "VHS_KeepIntermediate": true,
621 "VHS_MetadataImage": true,
622 "VHS_latentpreview": false,
623 "VHS_latentpreviewrate": 0,
624 "ue_links": []
625 },
626 "version": 0.4
627}