Nodes/MiniMax H3 Context IR - leoleexh/MiniMax H3 Creative Director - leoleexh
ComfyUI Node

MiniMax H3 Creative Director - leoleexh

Stop retyping your camera moves — MiniMax H3 Creative Director presets, decoded

By leoleelxh·Created about a month ago·Updated 11 days ago· 3
MiniMax H3 Creative Director - leoleexh
    • creative_profile
    • profile_json
    • profile_summary
    video_typeauto
    directing_grammarauto
    camera_recipeauto
    visual_stylepreserve_reference
    motion_intensitybalanced
    editing_rhythmauto
    creative_strengthbalanced
    reference_video_useauto
    shot_densityauto

    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 to preserve_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.

    Categoryleoleexh/MiniMax H3

    Inputs (9)

    NameTypeDefaultDescription
    video_typeCOMBOautoThe production format. It changes story density, subject readability, framing, and finishing priorities.
    directing_grammarCOMBOautoA reproducible filmmaking grammar rather than a named-director imitation.
    camera_recipeCOMBOautoA physical camera recipe with path, stabilization, parallax, speed behavior, and landing composition.
    visual_styleCOMBOpreserve_referencepreserve_reference keeps connected media authoritative. Other choices add a concrete visual treatment.
    motion_intensityCOMBObalancedControls the energy of subject, scene, and camera motion without changing the requested action.
    editing_rhythmCOMBOautoControls beat density and cuts. The main node still limits complexity to the connected target duration.
    creative_strengthCOMBObalancedreference_first is safest for strong references; strong applies the look and camera more assertively.
    reference_video_useCOMBOautoChoose whether the single reference video contributes motion, camera, rhythm, visual style, or all of them.
    shot_densityCOMBOautoAuto 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)

    NameTypeDescription
    creative_profileM3_CREATIVE_PROFILE
    profile_jsonSTRING
    profile_summarySTRING