Nodes/Vision Prompt Assistant/H3 Compact Director — Direction Controls
ComfyUI Node

H3 Compact Director — Direction Controls

Seven dropdowns that keep your H3 prompt on the rails

By elgalardi·Created 3 months ago·Updated 7 days ago· 3
H3 Compact Director — Direction Controls
    • direction_context
    ◄genre_1none►
    ◄genre_2none►
    ◄motion_style_1none►
    ◄motion_style_2none►
    ◄look_1none►
    ◄look_2none►
    ◄dialoguenone►
    ◄wardrobeAuto►
    ◄environmentAuto►
    ◄body_proportionsAuto►

    What this node actually is

    Despite the "Director" in the name, this node directs nothing. It has no LLM, no API key, no model - it is a lookup that turns seven dropdowns into a few lines of plain text. That text gets fed into the real director (H3CompactMultimodalEditDirector) through its direction_context input, and that node is where it changes anything.

    You reach for it when the compact director keeps guessing wrong. You write one sentence like "she walks through a rainy market at night" and the LLM invents its own genre, its own camera energy, its own palette. Two dropdowns here (say Horror and Noir) pin the tone without you having to relearn how to write prompts for MiniMax H3 - the 33B omni-modal video model whose prompt grammar this whole pack is built around.

    How it works

    The mechanism is refreshingly boring, which is a compliment. For each label - Genre, Motion style, Visual look, Dialogue - the node collects your picks, throws away anything set to none, de-duplicates while keeping your order, and joins the survivors with +. Then it writes one line per category and stops. Genre and motion and look get two slots each, dialogue gets one. So look_1: VHS / Analog Tape plus look_2: Bodycam becomes:

    Genre: Horror + Film Noir
    Motion style: Slow Motion
    Visual look: VHS / Analog Tape + Bodycam
    Dialogue: No dialogue
    

    The interesting part is on the receiving end. The director parses those lines, looks each selection up in its own tables, and pastes the full definition into its system prompt. SnorriCam / Body-Mounted Camera isn't treated as a magic phrase - it injects the paragraph saying the camera is rigidly mounted so the face holds still while the environment swings around it. Same for every entry in the look and motion lists (there are dozens: Super 8, MiniDV, Doorbell / Fixed Home Camera, Bullet Time Arc, Time Lapse, Speed Ramp, Seamless Loop Motion). Genre selections expand into a rule that the genre governs premise, performance, production design, lighting, pacing and sound through concrete choices, not just the label.

    Dialogue is the field with the real trap: none leaves dialogue alone, while No dialogue is an explicit instruction for silence - speakers shut up. The rest are languages (English, Spanish, Japanese and so on), which is how you get spoken lines in something other than English.

    Inputs and outputs

    Everything is a combo with a default of none, so a freshly dropped node is inert:

    • genre_1 / genre_2 - two slots so you can blend, e.g. Horror + Comedy.
    • motion_style_1 / motion_style_2 - pacing and camera language.
    • look_1 / look_2 - the visual format/lens/grade decision.
    • dialogue - silhouette or language, per the tooltip: "none leaves dialogue unchanged; No dialogue explicitly requests silence from speakers."

    The single output is direction_context (STRING). Wire it to the director's direction_context input. Don't wire it anywhere near a CLIP text encode - this is director instruction, not a prompt. Note that Auto is a real selection in the genre/motion/look lists (meaning "infer it"), which is a different thing from none (meaning "add nothing"). Selecting Auto puts text in the block; all-none produces an empty string.

    One genuinely fun trick, grounded in the director's code: in Elaborate and Continuous Elaborate modes you can leave the director's edit_request box empty and let the controls invent the concept. Set a genre, a motion style and a look, run it, and you get a fully written scene direction governed entirely by those selections.

    Install

    ComfyUI Manager → search Vision Prompt Assistant → install → restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/elgalardi/ComfyUI-VisionPromptAssistant
    # restart ComfyUI; update later with: git pull
    

    No pip dependencies and no model downloads - the pack's pyproject.toml declares none, and core ComfyUI supplies everything this node touches. It does need ComfyUI 0.30 or newer (the pack is written against the newer node API), so on an older build the whole pack fails to load, not just this node.

    Common issues

    The director acts like nothing is connected. Check your output: if all seven fields are none you get an empty string, and the director treats empty exactly like an unplugged cable. This is the number-one confusion with this node.

    Picks with no visible effect. Direction controls reinforce and constrain; they don't override an explicit instruction in edit_request. If your request says "slow, tranquil, one continuous take", setting Intense Dynamic Motion fights it rather than wins it.

    Warning text in the director's validation output. Things like explicit <Picture 1> absent from final prompt come from the director's source-tag checks, not from this node - your reference images weren't named in the request.

    Since this node makes no network calls and touches no GPU, it's also the safest thing in the pack to leave in a workflow you intend to share with someone else.

    Categorytext/minimax_h3

    Inputs (10)

    NameTypeDefaultDescription
    genre_1COMBOnonePrimary story/world/form/rendering choice. In creative modes it shapes the concrete situation and payoff, not just mood. Faithful edits keep their source story.
    genre_2COMBOnoneCompatible secondary genre within the same treatment, not alternating unrelated scenes. Auto/none leaves it open.
    motion_style_1COMBOnonePrimary motion/camera choice. Body cadence and camera movement are independent: Fast Motion can combine with a locked camera or orbit. User/source locks take priority.
    motion_style_2COMBOnoneCombine an independent body/camera choice, or add a compatible accent. If both choices conflict on the same axis, the first leads. Auto/none adds no constraint.
    look_1COMBOnonePrimary capture/color/period treatment. Period looks can style unlocked clothes and sets; a capture or color grade alone does not redesign them. Camera/motion controls remain independent.
    look_2COMBOnoneBlend a compatible secondary visual treatment into one coherent image. Explicit written locks and Keep Reference protect their assigned attributes.
    dialogueCOMBOnonenone leaves dialogue unchanged; No dialogue explicitly requests silence from speakers.
    wardrobeCOMBOAutoAuto keeps existing behavior. Keep Reference preserves the assigned character outfit; Create New designs new clothing without changing identity or performance. Written user instructions win.
    environmentCOMBOAutoAuto keeps existing behavior. Keep Reference preserves the assigned source location; Create New designs a new setting without changing cast or actions. Written user instructions win.
    body_proportionsCOMBOAutoAuto keeps existing behavior. Keep Reference preserves the assigned reference body; Creative Adaptation allows coherent changes to build and proportions without changing facial identity, age, pose or choreography. Written user instructions win.

    Outputs (1)

    NameTypeDescription
    direction_contextSTRING—