MiniMax H3 Prompt Pack Bridge
Feed the Extender a hundred clip prompts from one socket
- prompt_pack
- prompt_count
The MiniMax H3 Extender has a per-clip prompt card for every clip in your sequence, which is great until you're building a 40-clip sequence and want the prompts to come from somewhere else - a text file, a story generator node, an LLM node writing dialogue per scene. MiniMax H3 Prompt Pack Bridge is the connector for that. It collects a series of STRING inputs and packs them into a single H3_PROMPT_PACK that plugs straight into the Extender's prompt_pack input.
What it is, precisely
It's a bundle node - the plumbing-layer pattern where a dozen values travel down one wire instead of forty loose connections. In this case, the "values" are clip prompts. The first input, prompt_1, is required; after that the node dynamically grows more inputs as you connect them, up to 128 (prompt_2 through prompt_128). The output is a single prompt_pack socket plus prompt_count, so you can see at a glance how many prompts made it in.
Two behaviors matter when you're wiring it:
- It's an ordered list, and it compacts holes. Disconnect
prompt_5and every later prompt moves up one slot. That's deliberate - a pack is a list of scenes, and a hole in the middle would shift your whole story. - Unchanged packs don't rewrite. The bridge hashes the prompt list, and the Extender only re-imports a pack when the hash changes. Idempotent, which keeps repeated runs from clobbering clip cards you've already edited by hand.
When you connect the prompt_pack to the Extender's matching input, the prompts get imported into the normal clip textareas and the clip count synchronizes. From that point the clips behave exactly like hand-typed ones - you can still edit, validate and retry individual clips.
Why it exists
The Extender's README frames it as support for "an external prompt pack." The use case is basically: you don't want to type 60 clip prompts into cards, you want them generated or loaded programmatically - a prompt-generator node producing a scene list, a batch of prompts from a file, whatever. This is the clean seam between "where prompts come from" and "the Extender's internal state."
Install and gotchas
Same pack, trivial install:
cd ComfyUI/custom_nodes
git clone https://github.com/tritant/ComfyUI_MiniMax_H3_Extender.git
Restart ComfyUI (or Manager → MiniMax H3 Extender).
The one thing to remember: empty inputs are skipped, so if you wire a middle slot to a node that returns an empty string, the pack treats it as absent and compacts - your clip numbering follows the non-empty prompts, not the socket numbers. And it will error if it receives no non-empty prompts at all, which is a reasonable "you forgot to connect anything" signal rather than a mystery. Worth knowing before you build a 100-prompt graph and stare at a red node.
Inputs (128)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_1 | STRING | Connect the first STRING prompt. More prompt inputs appear automatically. | |
| prompt_2opt | STRING | Dynamic STRING prompt 2. | |
| prompt_3opt | STRING | Dynamic STRING prompt 3. | |
| prompt_4opt | STRING | Dynamic STRING prompt 4. | |
| prompt_5opt | STRING | Dynamic STRING prompt 5. | |
| prompt_6opt | STRING | Dynamic STRING prompt 6. | |
| prompt_7opt | STRING | Dynamic STRING prompt 7. | |
| prompt_8opt | STRING | Dynamic STRING prompt 8. | |
| prompt_9opt | STRING | Dynamic STRING prompt 9. | |
| prompt_10opt | STRING | Dynamic STRING prompt 10. | |
| prompt_11opt | STRING | Dynamic STRING prompt 11. | |
| prompt_12opt | STRING | Dynamic STRING prompt 12. | |
| prompt_13opt | STRING | Dynamic STRING prompt 13. | |
| prompt_14opt | STRING | Dynamic STRING prompt 14. | |
| prompt_15opt | STRING | Dynamic STRING prompt 15. | |
| prompt_16opt | STRING | Dynamic STRING prompt 16. | |
| prompt_17opt | STRING | Dynamic STRING prompt 17. | |
| prompt_18opt | STRING | Dynamic STRING prompt 18. | |
| prompt_19opt | STRING | Dynamic STRING prompt 19. | |
| prompt_20opt | STRING | Dynamic STRING prompt 20. | |
| prompt_21opt | STRING | Dynamic STRING prompt 21. | |
| prompt_22opt | STRING | Dynamic STRING prompt 22. | |
| prompt_23opt | STRING | Dynamic STRING prompt 23. | |
| prompt_24opt | STRING | Dynamic STRING prompt 24. | |
| prompt_25opt | STRING | Dynamic STRING prompt 25. | |
| prompt_26opt | STRING | Dynamic STRING prompt 26. | |
| prompt_27opt | STRING | Dynamic STRING prompt 27. | |
| prompt_28opt | STRING | Dynamic STRING prompt 28. | |
| prompt_29opt | STRING | Dynamic STRING prompt 29. | |
| prompt_30opt | STRING | Dynamic STRING prompt 30. | |
| prompt_31opt | STRING | Dynamic STRING prompt 31. | |
| prompt_32opt | STRING | Dynamic STRING prompt 32. | |
| prompt_33opt | STRING | Dynamic STRING prompt 33. | |
| prompt_34opt | STRING | Dynamic STRING prompt 34. | |
| prompt_35opt | STRING | Dynamic STRING prompt 35. | |
| prompt_36opt | STRING | Dynamic STRING prompt 36. | |
| prompt_37opt | STRING | Dynamic STRING prompt 37. | |
| prompt_38opt | STRING | Dynamic STRING prompt 38. | |
| prompt_39opt | STRING | Dynamic STRING prompt 39. | |
| prompt_40opt | STRING | Dynamic STRING prompt 40. | |
| prompt_41opt | STRING | Dynamic STRING prompt 41. | |
| prompt_42opt | STRING | Dynamic STRING prompt 42. | |
| prompt_43opt | STRING | Dynamic STRING prompt 43. | |
| prompt_44opt | STRING | Dynamic STRING prompt 44. | |
| prompt_45opt | STRING | Dynamic STRING prompt 45. | |
| prompt_46opt | STRING | Dynamic STRING prompt 46. | |
| prompt_47opt | STRING | Dynamic STRING prompt 47. | |
| prompt_48opt | STRING | Dynamic STRING prompt 48. | |
| prompt_49opt | STRING | Dynamic STRING prompt 49. | |
| prompt_50opt | STRING | Dynamic STRING prompt 50. | |
| prompt_51opt | STRING | Dynamic STRING prompt 51. | |
| prompt_52opt | STRING | Dynamic STRING prompt 52. | |
| prompt_53opt | STRING | Dynamic STRING prompt 53. | |
| prompt_54opt | STRING | Dynamic STRING prompt 54. | |
| prompt_55opt | STRING | Dynamic STRING prompt 55. | |
| prompt_56opt | STRING | Dynamic STRING prompt 56. | |
| prompt_57opt | STRING | Dynamic STRING prompt 57. | |
| prompt_58opt | STRING | Dynamic STRING prompt 58. | |
| prompt_59opt | STRING | Dynamic STRING prompt 59. | |
| prompt_60opt | STRING | Dynamic STRING prompt 60. | |
| prompt_61opt | STRING | Dynamic STRING prompt 61. | |
| prompt_62opt | STRING | Dynamic STRING prompt 62. | |
| prompt_63opt | STRING | Dynamic STRING prompt 63. | |
| prompt_64opt | STRING | Dynamic STRING prompt 64. | |
| prompt_65opt | STRING | Dynamic STRING prompt 65. | |
| prompt_66opt | STRING | Dynamic STRING prompt 66. | |
| prompt_67opt | STRING | Dynamic STRING prompt 67. | |
| prompt_68opt | STRING | Dynamic STRING prompt 68. | |
| prompt_69opt | STRING | Dynamic STRING prompt 69. | |
| prompt_70opt | STRING | Dynamic STRING prompt 70. | |
| prompt_71opt | STRING | Dynamic STRING prompt 71. | |
| prompt_72opt | STRING | Dynamic STRING prompt 72. | |
| prompt_73opt | STRING | Dynamic STRING prompt 73. | |
| prompt_74opt | STRING | Dynamic STRING prompt 74. | |
| prompt_75opt | STRING | Dynamic STRING prompt 75. | |
| prompt_76opt | STRING | Dynamic STRING prompt 76. | |
| prompt_77opt | STRING | Dynamic STRING prompt 77. | |
| prompt_78opt | STRING | Dynamic STRING prompt 78. | |
| prompt_79opt | STRING | Dynamic STRING prompt 79. | |
| prompt_80opt | STRING | Dynamic STRING prompt 80. | |
| prompt_81opt | STRING | Dynamic STRING prompt 81. | |
| prompt_82opt | STRING | Dynamic STRING prompt 82. | |
| prompt_83opt | STRING | Dynamic STRING prompt 83. | |
| prompt_84opt | STRING | Dynamic STRING prompt 84. | |
| prompt_85opt | STRING | Dynamic STRING prompt 85. | |
| prompt_86opt | STRING | Dynamic STRING prompt 86. | |
| prompt_87opt | STRING | Dynamic STRING prompt 87. | |
| prompt_88opt | STRING | Dynamic STRING prompt 88. | |
| prompt_89opt | STRING | Dynamic STRING prompt 89. | |
| prompt_90opt | STRING | Dynamic STRING prompt 90. | |
| prompt_91opt | STRING | Dynamic STRING prompt 91. | |
| prompt_92opt | STRING | Dynamic STRING prompt 92. | |
| prompt_93opt | STRING | Dynamic STRING prompt 93. | |
| prompt_94opt | STRING | Dynamic STRING prompt 94. | |
| prompt_95opt | STRING | Dynamic STRING prompt 95. | |
| prompt_96opt | STRING | Dynamic STRING prompt 96. | |
| prompt_97opt | STRING | Dynamic STRING prompt 97. | |
| prompt_98opt | STRING | Dynamic STRING prompt 98. | |
| prompt_99opt | STRING | Dynamic STRING prompt 99. | |
| prompt_100opt | STRING | Dynamic STRING prompt 100. | |
| prompt_101opt | STRING | Dynamic STRING prompt 101. | |
| prompt_102opt | STRING | Dynamic STRING prompt 102. | |
| prompt_103opt | STRING | Dynamic STRING prompt 103. | |
| prompt_104opt | STRING | Dynamic STRING prompt 104. | |
| prompt_105opt | STRING | Dynamic STRING prompt 105. | |
| prompt_106opt | STRING | Dynamic STRING prompt 106. | |
| prompt_107opt | STRING | Dynamic STRING prompt 107. | |
| prompt_108opt | STRING | Dynamic STRING prompt 108. | |
| prompt_109opt | STRING | Dynamic STRING prompt 109. | |
| prompt_110opt | STRING | Dynamic STRING prompt 110. | |
| prompt_111opt | STRING | Dynamic STRING prompt 111. | |
| prompt_112opt | STRING | Dynamic STRING prompt 112. | |
| prompt_113opt | STRING | Dynamic STRING prompt 113. | |
| prompt_114opt | STRING | Dynamic STRING prompt 114. | |
| prompt_115opt | STRING | Dynamic STRING prompt 115. | |
| prompt_116opt | STRING | Dynamic STRING prompt 116. | |
| prompt_117opt | STRING | Dynamic STRING prompt 117. | |
| prompt_118opt | STRING | Dynamic STRING prompt 118. | |
| prompt_119opt | STRING | Dynamic STRING prompt 119. | |
| prompt_120opt | STRING | Dynamic STRING prompt 120. | |
| prompt_121opt | STRING | Dynamic STRING prompt 121. | |
| prompt_122opt | STRING | Dynamic STRING prompt 122. | |
| prompt_123opt | STRING | Dynamic STRING prompt 123. | |
| prompt_124opt | STRING | Dynamic STRING prompt 124. | |
| prompt_125opt | STRING | Dynamic STRING prompt 125. | |
| prompt_126opt | STRING | Dynamic STRING prompt 126. | |
| prompt_127opt | STRING | Dynamic STRING prompt 127. | |
| prompt_128opt | STRING | Dynamic STRING prompt 128. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt_pack | H3_PROMPT_PACK | — |
| prompt_count | INT | — |