Nodes/ComfyUI-MiniMax-H3-Promptor/MiniMax H3 Vision Analyzer
ComfyUI Node

MiniMax H3 Vision Analyzer

Making MiniMax H3 Actually See Your References

By 1038lab·Created 21 days ago·Updated 5 days ago· 185
MiniMax H3 Vision Analyzer
    • vision_context
    • ref_images
    global_image_modeSubject / Identity
    global_video_modeComprehensive
    _media_state
    provideropenai (gpt-5)
    temperature0.20
    max_tokens2048
    output_languageEnglish
    custom_prompt_override

    The whole point of MiniMax H3 - the open-weight 33B omni-modal video model - is that it can take your images, video, and audio as references and actually do something with them. But "something" depends entirely on the prompt describing those references, and a vision model describing them wrong is the fastest way to get a video where your character's face, wardrobe, or lighting quietly isn't yours anymore. The H3_Vision_Analyzer is the half of the H3-Promptor pack that solves that: it looks at your reference media with a vision LLM and writes the structured description that makes the prompt match your footage.

    Think of it as the director of photography to the sibling H3_Promptor's screenwriter. The two nodes are deliberately decoupled - the analyzer turns your images into text once, and the Promptor formats that text into the final H3 spec. You never re-analyze the heavy images, which keeps API costs down and your workflow fast.

    How it works

    Unlike most ComfyUI nodes, you don't wire images in with noodles. Drop them onto the node's built-in HTML/JS drag-and-drop panel - images, videos, even audio files - and the frontend records them in a hidden _media_state field. On execution the node resolves each file from ComfyUI's input directory, loads the images, and hands each one to the vision LLM you picked in provider (OpenAI, Gemini, Anthropic, or local Ollama/LM Studio) using a system prompt built from the presets in vision_prompts.json.

    There's a separate global mode for images and for videos. global_image_mode defaults to Subject / Identity - describing the main subject's appearance, face, and clothing, which is the thing you most need to lock down. global_video_mode defaults to Comprehensive, covering pacing, camera movement, and subject motion. Both dropdowns come from the moddable vision_prompts.json file, so you can add your own analysis strategies and restart to use them.

    Two nice touches for control freaks: custom_prompt_override lets you surgically override one frame, line by line - e.g. <Picture 2>: Focus entirely on the background - and output_language gives English or Chinese. temperature sits at a deliberately low 0.2 (you want factual analysis, not creativity), max_tokens at 2048.

    What comes out

    Two outputs. vision_context is a JSON-backed STRING with a <Picture N> / <Video N> / <Audio N> entry per reference - that's what you wire into H3_Promptor's vision_context input, and it's also what lets the Promptor's Auto routing detect whether you're doing I2V, I2VA, Ref2VA, and so on. ref_images is a list of the original images passed through untouched - zero resizing, no letterboxing - so you can feed the exact same pixels onward to the actual H3 generator. That passthrough is the part people tend to forget: the analyzer describes the images and hands them through, so your reference stays pixel-perfect.

    Installing it

    Same pack as H3_Promptor, same install. ComfyUI Manager (search "MiniMax H3"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/1038lab/ComfyUI-MiniMax-H3-Promptor
    pip install -r requirements.txt   # just `requests` - no big model download
    

    Restart, then set up a provider in the Gear icon → MiniMax H3 settings. For a purely local setup, ollama run llama3.2-vision gives you the vision path with no cloud keys at all. Made by 1038lab (also behind ComfyUI-QwenVL and ComfyUI-NodeAlign), GPL-3.0.

    Where people get burned

    • Wrong model for the job. The Promptor wants a text LLM (llama3.2); the Analyzer wants a vision model (llama3.2-vision). Point the analyzer at a text-only model and you'll get refusal boilerplate in your vision context.
    • VRAM fights. This one's handled for you if you use Ollama - the node unloads ComfyUI's models before running the VLM and clears the cache afterward - but don't be surprised by the pause while it juggles memory.
    • "Media file not found" in the console. The files the drop zone saves have to resolve inside ComfyUI's input folder; drop the same assets you'd load through a Load Image node.
    • Proxy limits. Upstream vision APIs often cap images per request. The batch_size setting in the settings panel chunks your images (e.g. 4 per call) so you don't blow the limit mid-workflow.
    Category🧪AILab/🎬 MiniMax H3-Promptor

    Inputs (8)

    NameTypeDefaultDescription
    global_image_modeCOMBOSubject / Identity9 options: Subject / Identity, Comprehensive, Action / Emotion, Face & Expression Focus, Prop & Object Interaction, Lighting & Camera, +3
    global_video_modeCOMBOComprehensive6 options: Motion Focus, Comprehensive, Camera Tracking, Temporal Flow, Physics & Momentum, Background Dynamics
    _media_stateSTRING
    provideroptCOMBOopenai (gpt-5)Vision LLM provider to use for analysis.
    temperatureoptFLOAT0.200–1
    max_tokensoptINT2048256–8192
    output_languageoptCOMBOEnglishLanguage for the analysis output.
    custom_prompt_overrideoptSTRINGLine-by-line override. Example: <Picture 2>: Overwrite prompt here

    Outputs (2)

    NameTypeDescription
    vision_contextSTRING
    ref_imagesIMAGE