Nodes/MiniMaxRefDirector-ComfyUI/MiniMax Reference Director
ComfyUI Node

MiniMax Reference Director

Storyboard your whole H3 video in one node instead of a spreadsheet

By eaglering·Created 19 days ago·Updated about 9 hours ago· 23
MiniMax Reference Director
  • config
  • guide_data
  • segment_count
start_second0.00
end_second5.00
duration_seconds5.00
start_frame0
end_frame120
duration_frames120
timeline_data
local_prompts
segment_lengths
frame_rate24
display_modeseconds
outpu_resolution16:9横屏
million_pixels0.6

MiniMax H3 generates good clips one at a time, but a finished short film isn't one clip - it's six, with a story, cuts, and a character that has to survive every transition. That's the gap this node is built for. MiniMaxRefDirector is the timeline editor at the heart of the MiniMaxRefDirector-ComfyUI pack: you lay out your shots inside the node's UI like you would in an NLE, and it packages the whole storyboard into one guide_data bundle that a loop then renders segment by segment.

The name is doing heavy lifting. The node doesn't call MiniMax's API and needs no key - this pack is for the local H3 weights (33B, ~42.5 GB full precision, and note the H3 Community License excludes the US/EU/UK/Korea from running those weights locally). The "director" part is the real feature: an embedded timeline editor where each segment gets its own prompt, duration, camera language, and reference material, all stored as JSON in the node. You genuinely don't hand-edit that JSON - timeline_data, local_prompts, and segment_lengths are all auto-populated from the editor and the tooltips say so in so many words. Treat them as read-only.

The inputs you actually touch are the display ones. display_mode flips the ruler between frames and seconds (storage is always pixel-space frames), frame_rate just changes how seconds are shown, and outpu_resolution - yes, the typo is in the shipped schema - picks your aspect ratio from 1:1, 9:16, 16:9, and friends. million_pixels sets the pixel budget (1.0 ≈ 1024×1024), so resolution is calculated for you. Plug the config output of MiniMaxRefSubject in and the node also inherits your VLM settings and subject data, which is how the auto-written prompts know your characters by name.

Outputs are clean: guide_data (a GUIDE_DATA object that MiniMaxRefGuide consumes) and segment_count, which you feed to a loop as its total. There's a subtlety worth knowing: the author deliberately wires segment_count + 1 into the loop so the final iteration is a notify-only round that cleanly closes the loop instead of throwing.

Mechanically it's a pure function - same inputs, same output - so it caches aggressively to avoid recomputing prompt templates and LLM calls when a loop re-references it. That's invisible to you unless you're reading the console, where it logs cache hits.

Install the pack once and every MiniMaxRef* node arrives together: ComfyUI Manager (search "MiniMaxRefDirector-ComfyUI"), or

cd ComfyUI/custom_nodes
git clone https://github.com/eaglering/MiniMaxRefDirector-ComfyUI
cd MiniMaxRefDirector-ComfyUI
pip install -r requirements.txt

and restart. The only extra dependency is PyAV (av>=12.0.0) for audio; everything else ships with ComfyUI. There's also a Windows install.bat one-click installer if you prefer.

Gotchas, from the README and the code. The front-end is JS, so after updating the pack hit Ctrl+F5 or the timeline editor will be running stale code while the backend pretends nothing changed. The pack is built on ComfyUI's newer extension API (comfy_api.latest), so update ComfyUI before you blame the nodes for not registering. And this is a brand-new pack - v3, zero search impressions, no community trail to lean on when something's weird - so the README and the workflow/MinimaxH3 V3 example JSON are your documentation. If you want cross-segment motion context, pair it with ComfyUI-H3-Motion-Context; the Guide node reaches for it automatically.

Categoryminimaxrefdirector

Inputs (14)

NameTypeDefaultDescription
start_secondFLOAT0.000–1000Start time in seconds of the timeline generation.
end_secondFLOAT5.000–1000End time in seconds of the timeline generation.
duration_secondsFLOAT5.000.1–1000Total timeline duration in seconds (computed/synced from frames).
start_frameINT00–10000Start frame of the timeline generation.
end_frameINT1201–10000End frame of the timeline generation.
duration_framesINT1201–10000Total timeline length in pixel-space frames. Used by the editor for visual scale only.
timeline_dataSTRINGJSON state of the timeline editor (auto-managed; do not edit by hand).
local_promptsSTRINGAuto-populated from the timeline editor.
segment_lengthsSTRINGAuto-populated from the timeline editor (pixel-space frame counts).
configoptSUBJECT_CONFIGUnified config from MiniMax Reference Subject (VLM opts + subject data).
frame_rateoptFLOAT241–240Frames per second — only affects how time is displayed in the timeline editor when time_units is set to 'seconds'.
display_modeoptCOMBOsecondsDisplay the ruler, segment ranges, length input, and total in frames or seconds. Internal storage is always pixel-space frames.
outpu_resolutionoptCOMBO16:9横屏Target output aspect ratio. Width/height are calculated from million_pixels.
million_pixelsoptFLOAT0.60.1–4Million pixels target. 1.0 MP ≈ 1024×1024.

Outputs (2)

NameTypeDescription
guide_dataGUIDE_DATA
segment_countINT