ComfyPilotComfyPilot
工作流 / 视频 / MiniMax H3 Max:文生视频
MiniMax H3 Max:文生视频

MiniMax H3 Max:文生视频

MiniMax H3 Max: Text to Video

使用MiniMax H3 Max生成精良且忠实于提示词的视频,无需任何输入文件即可产出一个完整的视频片段。非常适合快速概念探索、电影级文生视频场景以及注重速度与视觉质量的高吞吐创意迭代。

视频 13 个节点 122 次使用 ComfyUI ≥ 0.34.3 ComfyUI 17 KB

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

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

节点构成

SaveVideo × 2
ComfySwitchNode × 2
MarkdownNote × 2
PrimitiveBoolean × 2
MinimaxHailuo03ContextIRNode × 1
SaveText × 1
MinimaxHailuo03RegenerateNode × 1
PrimitiveStringMultiline × 1
MinimaxHailuo03TextToVideoNode × 1

官方标注的模型

MiniMax H3

工作流 JSON

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

1{
2 "id": "c23969d8-7734-4984-ac92-ee71859d3c74",
3 "revision": 0,
4 "last_node_id": 32,
5 "last_link_id": 46,
6 "nodes": [
7 {
8 "id": 2,
9 "type": "SaveVideo",
10 "pos": [
11 -1720,
12 4150
13 ],
14 "size": [
15 740,
16 150
17 ],
18 "flags": {
19 "collapsed": false
20 },
21 "order": 9,
22 "mode": 0,
23 "inputs": [
24 {
25 "name": "video",
26 "type": "VIDEO",
27 "link": 44
28 }
29 ],
30 "outputs": [
31 {
32 "name": "video",
33 "type": "VIDEO",
34 "links": [
35 10
36 ]
37 }
38 ],
39 "properties": [],
40 "widgets_values": [
41 "video/video/MiniMax_H3_t2v_768P",
42 "auto",
43 "auto",
44 "auto"
45 ]
46 },
47 {
48 "id": 7,
49 "type": "MinimaxHailuo03ContextIRNode",
50 "pos": [
51 -2170,
52 4830
53 ],
54 "size": [
55 400,
56 295
57 ],
58 "flags": [],
59 "order": 5,
60 "mode": 0,
61 "inputs": [
62 {
63 "name": "first_frame",
64 "shape": 7,
65 "type": "IMAGE",
66 "link": null
67 },
68 {
69 "name": "last_frame",
70 "shape": 7,
71 "type": "IMAGE",
72 "link": null
73 },
74 {
75 "name": "model.prompt",
76 "type": "STRING",
77 "widget": {
78 "name": "model.prompt"
79 },
80 "link": 22
81 },
82 {
83 "label": "image_1",
84 "name": "model.reference_images.image_1",
85 "shape": 7,
86 "type": "IMAGE",
87 "link": null
88 },
89 {
90 "label": "video_1",
91 "name": "model.reference_videos.video_1",
92 "shape": 7,
93 "type": "VIDEO",
94 "link": null
95 },
96 {
97 "label": "audio_1",
98 "name": "model.reference_audios.audio_1",
99 "shape": 7,
100 "type": "AUDIO",
101 "link": null
102 }
103 ],
104 "outputs": [
105 {
106 "name": "STRING",
107 "type": "STRING",
108 "links": [
109 17
110 ]
111 }
112 ],
113 "properties": {
114 "Node name for S&R": "MinimaxHailuo03ContextIRNode"
115 },
116 "widgets_values": [
117 "MiniMax H3",
118 "",
119 5,
120 "adaptive"
121 ],
122 "color": "#432",
123 "bgcolor": "#653"
124 },
125 {
126 "id": 8,
127 "type": "SaveText",
128 "pos": [
129 -1710,
130 4830
131 ],
132 "size": [
133 750,
134 650
135 ],
136 "flags": [],
137 "order": 7,
138 "mode": 0,
139 "inputs": [
140 {
141 "name": "text",
142 "type": "STRING",
143 "link": 23
144 }
145 ],
146 "outputs": [
147 {
148 "name": "text",
149 "type": "STRING",
150 "links": [
151 12
152 ]
153 }
154 ],
155 "properties": {
156 "Node name for S&R": "SaveText"
157 },
158 "widgets_values": [
159 "H3_prompt",
160 "txt"
161 ]
162 },
163 {
164 "id": 10,
165 "type": "MinimaxHailuo03RegenerateNode",
166 "pos": [
167 -830,
168 4570
169 ],
170 "size": [
171 400,
172 306
173 ],
174 "flags": [],
175 "order": 10,
176 "mode": 0,
177 "inputs": [
178 {
179 "name": "video",
180 "type": "VIDEO",
181 "link": 10
182 },
183 {
184 "name": "first_frame",
185 "shape": 7,
186 "type": "IMAGE",
187 "link": null
188 },
189 {
190 "name": "last_frame",
191 "shape": 7,
192 "type": "IMAGE",
193 "link": null
194 },
195 {
196 "name": "model.prompt",
197 "type": "STRING",
198 "widget": {
199 "name": "model.prompt"
200 },
201 "link": 12
202 },
203 {
204 "label": "image_1",
205 "name": "model.reference_images.image_1",
206 "shape": 7,
207 "type": "IMAGE",
208 "link": null
209 },
210 {
211 "label": "video_1",
212 "name": "model.reference_videos.video_1",
213 "shape": 7,
214 "type": "VIDEO",
215 "link": null
216 },
217 {
218 "label": "audio_1",
219 "name": "model.reference_audios.audio_1",
220 "shape": 7,
221 "type": "AUDIO",
222 "link": null
223 }
224 ],
225 "outputs": [
226 {
227 "name": "VIDEO",
228 "type": "VIDEO",
229 "links": [
230 18
231 ]
232 }
233 ],
234 "properties": {
235 "Node name for S&R": "MinimaxHailuo03RegenerateNode"
236 },
237 "widgets_values": [
238 "MiniMax H3",
239 "",
240 "2K",
241 false
242 ],
243 "color": "#432",
244 "bgcolor": "#653"
245 },
246 {
247 "id": 11,
248 "type": "SaveVideo",
249 "pos": [
250 -350,
251 4570
252 ],
253 "size": [
254 680,
255 150
256 ],
257 "flags": [],
258 "order": 12,
259 "mode": 0,
260 "inputs": [
261 {
262 "name": "video",
263 "type": "VIDEO",
264 "link": 20
265 }
266 ],
267 "outputs": [
268 {
269 "name": "video",
270 "type": "VIDEO",
271 "links": []
272 }
273 ],
274 "properties": [],
275 "widgets_values": [
276 "video/Minimax_h3_max",
277 "auto",
278 "auto",
279 "auto"
280 ]
281 },
282 {
283 "id": 12,
284 "type": "ComfySwitchNode",
285 "pos": [
286 -2100,
287 5340
288 ],
289 "size": [
290 270,
291 110
292 ],
293 "flags": [],
294 "order": 6,
295 "mode": 0,
296 "inputs": [
297 {
298 "name": "on_false",
299 "type": "STRING",
300 "link": 21
301 },
302 {
303 "name": "on_true",
304 "type": "STRING",
305 "link": 17
306 },
307 {
308 "name": "switch",
309 "type": "BOOLEAN",
310 "widget": {
311 "name": "switch"
312 },
313 "link": 26
314 }
315 ],
316 "outputs": [
317 {
318 "name": "output",
319 "type": "STRING",
320 "links": [
321 23,
322 46
323 ]
324 }
325 ],
326 "properties": {
327 "Node name for S&R": "ComfySwitchNode"
328 },
329 "widgets_values": [
330 false
331 ],
332 "color": "#322",
333 "bgcolor": "#533"
334 },
335 {
336 "id": 13,
337 "type": "ComfySwitchNode",
338 "pos": [
339 -750,
340 4990
341 ],
342 "size": [
343 270,
344 110
345 ],
346 "flags": [],
347 "order": 11,
348 "mode": 0,
349 "inputs": [
350 {
351 "name": "on_false",
352 "type": "VIDEO",
353 "link": 45
354 },
355 {
356 "name": "on_true",
357 "type": "VIDEO",
358 "link": 18
359 },
360 {
361 "name": "switch",
362 "type": "BOOLEAN",
363 "widget": {
364 "name": "switch"
365 },
366 "link": 25
367 }
368 ],
369 "outputs": [
370 {
371 "name": "output",
372 "type": "VIDEO",
373 "links": [
374 20
375 ]
376 }
377 ],
378 "properties": {
379 "Node name for S&R": "ComfySwitchNode"
380 },
381 "widgets_values": [
382 false
383 ],
384 "color": "#322",
385 "bgcolor": "#533"
386 },
387 {
388 "id": 14,
389 "type": "PrimitiveStringMultiline",
390 "pos": [
391 -2930,
392 4310
393 ],
394 "size": [
395 560,
396 760
397 ],
398 "flags": [],
399 "order": 0,
400 "mode": 0,
401 "inputs": [],
402 "outputs": [
403 {
404 "name": "STRING",
405 "type": "STRING",
406 "links": [
407 21,
408 22
409 ]
410 }
411 ],
412 "title": "Text (Prompt)",
413 "properties": {
414 "Node name for S&R": "PrimitiveStringMultiline"
415 },
416 "widgets_values": [
417 "[Global Lock]: High-energy music video, theme \"INSTANT\": the world is slow, we are fast. 5 seconds, 16:9, third person, protagonist a young woman in a black sporty windbreaker. Aesthetic: night-city speed, neon and headlight trails, teal-orange contrast grade, heavy grain, subtle motion blur. Five shots, four hard cuts on a 140 BPM grid, constant motion inside every shot, crisp editing. Lyrics as spatial graphic layer: oversized type, hugging architecture, motion-trailing, max one line per shot.\n\nShot 1 (0.0s-0.8s): Ground-level tracking shot, the protagonist sprinting down a night street, sneakers slapping puddles into spray, neon streaking into light trails behind her. Oversized cyan type \"SLOW WORLD\" sweeps across from the left.\nCut: kick.\n\nShot 2 (0.8s-1.8s): A subway train roars into the station, window light bands streaking horizontally, the protagonist standing still against the crowd flow, only her hair and hem lifted by the draft, a moving-vs-still contrast. Glitchy white type \"YOU CRAWL\" flashes in as the train passes.\nCut: snare.\n\nShot 3 (1.8s-2.6s): Inside the car, one hand on the hanging strap, the train at full speed, tunnel lights streaking across her face as a high-speed light band, her eyes razor sharp into the lens. Ice-blue type \"I MOVE\" hugs the window glass with a reflective motion trail.\nCut: 808 hit.\n\nShot 4 (2.6s-3.8s): Aerial dive, she sprints across an intersection, traffic light trails weaving a net around her, the camera plunging from high altitude down to her run, windbreaker snapping. No text, pure visual burst.\nCut: closing accent.\n\nShot 5 (3.8s-5.0s): She bolts onto a footbridge, brakes, and turns to face the lens, the whole street's car lights smearing into a river of time behind her; oversized cyan type \"INSTANT\" smashes in, and the last beat freezes the frame. Audio: 140 BPM fast electronic beat, kick, snare, 808, and closing accent on the four cuts, city noise, wind, and train roar as the bed, the last beat dropping to silence leaving a single heartbeat.\nNegative hard locks: static shots, statically centered subtitles, dissolves, soft transitions, overused slow motion, subtitle bars, logos."
418 ]
419 },
420 {
421 "id": 17,
422 "type": "MarkdownNote",
423 "pos": [
424 -3800,
425 4090
426 ],
427 "size": [
428 580,
429 1220
430 ],
431 "flags": [],
432 "order": 1,
433 "mode": 0,
434 "inputs": [],
435 "outputs": [],
436 "title": "Note: Guide",
437 "properties": [],
438 "widgets_values": [
439 "## How this graph is wired\n\nThis is a MiniMax H3 Max **text-to-video** template. It has **one required path** and **two optional stages**. You choose whether to run the optional stages. Both start **off**.\n\nOn the canvas, two nodes are marked **red**. Those are **Switch** nodes. Each is the on/off gate for an optional stage, driven by a boolean in the **Feature Flags** group.\n\n### 1. Video generation (required)\n\n**MiniMax H3 Text to Video** is the core. It always runs. Feed it **Text (Prompt)**. The first **Save Video** is the first-pass output.\n\n### 2. Prompt enhance (optional)\n\n**Boolean (Prompt Enhance)** feeds the red **Switch** in **Prompt Enhancer (Optional)**.\n\n- Set it to `true` to rewrite the prompt with **MiniMax H3 Context IR (Prompt Enhancer)** before generation.\n- Leave it `false` to send your raw prompt straight to video generation.\n\n### 3. Video upscale (optional)\n\n**Boolean (Upscale to 2K)** feeds the red **Switch** in **Upscale Video to 2K (Optional)**.\n\n- Set it to `true` to run **MiniMax H3 Regenerate to 2K** on the first-pass video.\n- Leave it `false` to save the first-pass video as-is.\n\nUpscale **only accepts 768P** source video. If you turn this stage on, generate at **768P**. Other resolutions are not supported by **MiniMax H3 Regenerate to 2K**.\n\nYou can enable section 2, section 3, both, or neither.\n\n### Duration must match\n\nKeep **duration** the same on every MiniMax node you actually use (generation, prompt enhance, and upscale). The clip length must match across those stages. If one node is 5s and another is 6s, enhance or upscale will be out of sync with the generated video.\n\n### Extra inputs must be duplicated\n\nThe generate node is text-only. **MiniMax H3 Context IR (Prompt Enhancer)** and **MiniMax H3 Regenerate to 2K** still accept extra context (first/last frame, extra images, reference video, audio).\n\nThose two optional nodes do **not** share extra context automatically. If you add extra input nodes and turn on prompt enhance or upscale, **plug the same wires into both**:\n\n- **MiniMax H3 Context IR (Prompt Enhancer)**, so prompt enhance sees that context\n- **MiniMax H3 Regenerate to 2K**, so upscale sees that context\n\nIf you only wire extras into one of them, the other stage will run without that context and the result will drift."
440 ],
441 "color": "#222",
442 "bgcolor": "#000"
443 },
444 {
445 "id": 18,
446 "type": "PrimitiveBoolean",
447 "pos": [
448 -2790,
449 5270
450 ],
451 "size": [
452 270,
453 90
454 ],
455 "flags": [],
456 "order": 2,
457 "mode": 0,
458 "inputs": [],
459 "outputs": [
460 {
461 "name": "BOOLEAN",
462 "type": "BOOLEAN",
463 "links": [
464 26
465 ]
466 }
467 ],
468 "title": "Boolean (Prompt Enhance)",
469 "properties": {
470 "Node name for S&R": "PrimitiveBoolean"
471 },
472 "widgets_values": [
473 false
474 ]
475 },
476 {
477 "id": 19,
478 "type": "PrimitiveBoolean",
479 "pos": [
480 -2790,
481 5420
482 ],
483 "size": [
484 270,
485 90
486 ],
487 "flags": [],
488 "order": 3,
489 "mode": 0,
490 "inputs": [],
491 "outputs": [
492 {
493 "name": "BOOLEAN",
494 "type": "BOOLEAN",
495 "links": [
496 25
497 ]
498 }
499 ],
500 "title": "Boolean (Upscale to 2K)",
501 "properties": {
502 "Node name for S&R": "PrimitiveBoolean"
503 },
504 "widgets_values": [
505 false
506 ]
507 },
508 {
509 "id": 21,
510 "type": "MarkdownNote",
511 "pos": [
512 -3150,
513 5430
514 ],
515 "size": [
516 290,
517 120
518 ],
519 "flags": [],
520 "order": 4,
521 "mode": 0,
522 "inputs": [],
523 "outputs": [],
524 "title": "Note: Requirement for Video Upscale",
525 "properties": [],
526 "widgets_values": [
527 "Upscale only accepts **768P** source video. Generate at 768P if you turn on **Boolean (Upscale to 2K)**. Other resolutions are not supported."
528 ],
529 "color": "#222",
530 "bgcolor": "#000"
531 },
532 {
533 "id": 31,
534 "type": "MinimaxHailuo03TextToVideoNode",
535 "pos": [
536 -2160,
537 4150
538 ],
539 "size": [
540 400,
541 323
542 ],
543 "flags": [],
544 "order": 8,
545 "mode": 0,
546 "inputs": [
547 {
548 "name": "model.prompt",
549 "type": "STRING",
550 "widget": {
551 "name": "model.prompt"
552 },
553 "link": 46
554 }
555 ],
556 "outputs": [
557 {
558 "name": "VIDEO",
559 "type": "VIDEO",
560 "links": [
561 44,
562 45
563 ]
564 }
565 ],
566 "properties": {
567 "Node name for S&R": "MinimaxHailuo03TextToVideoNode"
568 },
569 "widgets_values": [
570 "MiniMax H3 Max",
571 "",
572 "768P",
573 "16:9",
574 5,
575 "balanced",
576 2967573614,
577 "randomize",
578 false
579 ],
580 "color": "#432",
581 "bgcolor": "#653"
582 }
583 ],
584 "links": [
585 [
586 10,
587 2,
588 0,
589 10,
590 0,
591 "VIDEO"
592 ],
593 [
594 12,
595 8,
596 0,
597 10,
598 3,
599 "STRING"
600 ],
601 [
602 17,
603 7,
604 0,
605 12,
606 1,
607 "STRING"
608 ],
609 [
610 18,
611 10,
612 0,
613 13,
614 1,
615 "VIDEO"
616 ],
617 [
618 20,
619 13,
620 0,
621 11,
622 0,
623 "VIDEO"
624 ],
625 [
626 21,
627 14,
628 0,
629 12,
630 0,
631 "STRING"
632 ],
633 [
634 22,
635 14,
636 0,
637 7,
638 2,
639 "STRING"
640 ],
641 [
642 23,
643 12,
644 0,
645 8,
646 0,
647 "STRING"
648 ],
649 [
650 25,
651 19,
652 0,
653 13,
654 2,
655 "BOOLEAN"
656 ],
657 [
658 26,
659 18,
660 0,
661 12,
662 2,
663 "BOOLEAN"
664 ],
665 [
666 44,
667 31,
668 0,
669 2,
670 0,
671 "VIDEO"
672 ],
673 [
674 45,
675 31,
676 0,
677 13,
678 0,
679 "VIDEO"
680 ],
681 [
682 46,
683 12,
684 0,
685 31,
686 0,
687 "STRING"
688 ]
689 ],
690 "groups": [
691 {
692 "id": 1,
693 "title": "Prompt Enhancer (Optional)",
694 "bounding": [
695 -2200,
696 4750,
697 1270,
698 840
699 ],
700 "color": "#3f789e",
701 "flags": []
702 },
703 {
704 "id": 2,
705 "title": "User Inputs",
706 "bounding": [
707 -3160,
708 4060,
709 930,
710 1530
711 ],
712 "color": "#3f789e",
713 "flags": []
714 },
715 {
716 "id": 3,
717 "title": "Upscale Video to 2K (Optional)",
718 "bounding": [
719 -900,
720 4060,
721 1400,
722 1540
723 ],
724 "color": "#3f789e",
725 "flags": []
726 },
727 {
728 "id": 4,
729 "title": "Video Generation (Core)",
730 "bounding": [
731 -2200,
732 4060,
733 1270,
734 670
735 ],
736 "color": "#A88",
737 "flags": []
738 },
739 {
740 "id": 5,
741 "title": "Feature Flags",
742 "bounding": [
743 -2830,
744 5190,
745 350,
746 360
747 ],
748 "color": "#3f789e",
749 "flags": []
750 }
751 ],
752 "config": [],
753 "extra": {
754 "ds": {
755 "scale": 0.6967322721051857,
756 "offset": [
757 4169.4463953689765,
758 -3628.7412335719437
759 ]
760 },
761 "frontendVersion": "1.48.7"
762 },
763 "version": 0.4
764}