MiniMax H3 Creative Director - leoleexh
Stop retyping your camera moves — MiniMax H3 Creative Director presets, decoded
- creative_profile
- profile_json
- profile_summary
Once you're a few clips deep into MiniMax H3, you notice the same thing everyone does: nailing the prompt takes forever. The model rewards concrete camera direction, and the difference between "a car drives by" and "a dolly push following the car with parallax, hero framing, and a clean landing hold" is night and day. But typing that out for every clip is miserable, and your best one-liner recipes get lost between projects.
M3H3CreativeDirector_leoleexh ("MiniMax H3 Creative Director - leoleexh") is the pack's answer to that: a preset builder that turns a handful of dropdowns into a structured directing profile. It's a companion to the pack's main node - it has no API key of its own and makes zero network calls. All it does is build a typed M3_CREATIVE_PROFILE object you feed into the Context IR node's creative_profile input.
How it works
The clever bit is what the profile isn't. It's not a director's name pasted into the prompt - no "in the style of [famous DP]" imitation. It's not even a preset name appended to your text. Instead, the Context IR node expands the profile against the actual width, height, frame count, mode, and connected media, then hands the planning model concrete camera and composition directives. And because the local renderer writes the same expanded directives into h3_prompt deterministically, a preference can't silently vanish if the LLM under-applies it. The internal dropdown keys never appear in the final prompt.
There's a fixed priority when things conflict: explicit user requirements and verbatim dialogue, then identity/product/fixed endpoints, then generation controls, then creative direction, then inferred media aesthetics. Conflicts get reconciled and reported through the main node's warnings.
The dropdowns
All nine inputs are combos, and the defaults are sane - most people can leave most of them alone:
video_type- the production format (brand, short-form social, ASMR, unboxing, food, automotive, and more). Changes story density and framing priorities.directing_grammar- a reproducible filmmaking grammar rather than named-director imitation.camera_recipe- a physical camera recipe: path, stabilization, parallax, speed, landing composition.visual_style- defaults topreserve_reference, which keeps your connected media authoritative.motion_intensity,editing_rhythm,creative_strength,reference_video_use- energy, cut pacing, how assertively to apply the look, and what the single reference video contributes.
The one worth understanding is shot_density. It defaults to auto, which follows MiniMax's published shot-structure guidance and refuses to force a fixed count - you get the fewest purposeful shots, every cut must introduce new information, and FL2VA's single-shot preference is respected. Pick an explicit option and you get a duration-aware range: for a 6–12 second target, high asks for 4–5 shots and montage for 5–7. Explicit shot counts and one-take direction written in your user prompt always win, because the main node parses them out directly.
One honest caveat: this node is only as smart as what it plugs into. In local_only mode the Context IR node has no semantic planner, so it falls back to a deterministic single-shot structure - the profile can't conjure multi-shot coverage out of thin air. For the full effect you want cloud mode with a vision-capable endpoint.
Outputs
creative_profile is the connection that matters - wire it to the Context IR node's same-named input. profile_json is the machine-readable profile (save it to reproduce a look exactly), and profile_summary is a human-readable one-liner you can eyeball before committing.
Install
Same pack as everything else, and it's light - the only Python dependency is openai>=1.74.0:
cd ComfyUI/custom_nodes
git clone https://github.com/leoleelxh/ComfyUI-M3-IRContext.git
python -m pip install -r ComfyUI-M3-IRContext/requirements.txt
Restart ComfyUI and it shows up under leoleexh/MiniMax H3. If you never connect it to the Context IR node, nothing happens - which is also fine as a way to test it in isolation. This is the node I'd reach for when a look finally works and I want to freeze it as a reusable preset.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| video_type | COMBO | auto | The production format. It changes story density, subject readability, framing, and finishing priorities. |
| directing_grammar | COMBO | auto | A reproducible filmmaking grammar rather than a named-director imitation. |
| camera_recipe | COMBO | auto | A physical camera recipe with path, stabilization, parallax, speed behavior, and landing composition. |
| visual_style | COMBO | preserve_reference | preserve_reference keeps connected media authoritative. Other choices add a concrete visual treatment. |
| motion_intensity | COMBO | balanced | Controls the energy of subject, scene, and camera motion without changing the requested action. |
| editing_rhythm | COMBO | auto | Controls beat density and cuts. The main node still limits complexity to the connected target duration. |
| creative_strength | COMBO | balanced | reference_first is safest for strong references; strong applies the look and camera more assertively. |
| reference_video_use | COMBO | auto | Choose whether the single reference video contributes motion, camera, rhythm, visual style, or all of them. |
| shot_density | COMBO | auto | Auto follows MiniMax H3's published shot-structure guidance without forcing a count. Other choices request a duration-aware shot range; explicit user counts and one-take direction win. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| creative_profile | M3_CREATIVE_PROFILE | — |
| profile_json | STRING | — |
| profile_summary | STRING | — |