CivArchive
    MinimaxH3 Auto Prompter V7.3 - V7.1
    NSFW
    Preview 140682035
    Preview 138838668
    Preview 139348777
    Preview 139405690
    Preview 139518950
    Preview 139638095
    Preview 139728985
    Preview 139925030
    Preview 140136653

    ⚙️ MiniMax H3 Prompt Enhancer — V7.3 Turn simple ideas into detailed, structured prompts for MiniMax video generation.

    This ComfyUI workflow is a prompt enhancer built around the official MiniMax H3 prompting guide. It helps transform short, rough ideas into clearer and more effective video prompts — without any complex LLM installation.

    Supports T2VA, I2VA, FL2VA, L2VA, and REF2V workflows.

    List of models: https://huggingface.co/DavidAU/Qwen3.5-9B-The-Defiant-Fable-Uncensored-Heretic-NEO-IMATRIX-MAX-MTP-GGUF

    Choose the best for your hardware. *MTP models incompatible with the Custom LLM node*

    Custom nodes needed (also in comfyui manager):


    ✨ What's New in V7

    • Added a video input node and a second QwenVL node (automatic download on first run for this model) with instructions on how to use.

    • Backed prompt refining.

    • Model Change. Now using Qwen3.5-9B-The-Defiant-Fable-Uncnr-Heretic-NEO-MAX-Q8_0. (Download directly in workflow. Extremely accurate, runs fast and easy on 16 VRAM)

    V7.1

    • Separated REF2V Prompt in backend for better accuracy.

    • Removed time stamps instructions for video reference as it was exceding the video duration most of the time.

    V7.2

    • Prompt cleaning.

    V7.3

    • Prompt cleaning.

    • Added Number of shots and video duration nodes, no need to input manually now!


    🎯 The Goal

    This workflow isn’t meant to blindly generate the “perfect” prompt for you. Instead, it gives you a well-structured starting point that you can quickly review, tweak, and customize before sending it to MiniMax.

    Simple idea → Enhanced prompt → Your edits → Video generation

    💡 Tip: The generated prompt is a starting point. Read through it and adjust the details, actions, camera movement, timing, and style to match your exact vision.

    Feel free to use, modify, and integrate this workflow into your own projects. If you create something with it or improve the prompting method, share your results and prompting tips in the comments so the community can keep improving it!

    If you use this workflow in your own workflow pack, a quick mention would be greatly appreciated. ❤️

    Description

    • Backend prompt cleaning.

    FAQ

    Comments (34)

    TypicalLoraLoverAug 23, 2026
    CivitAI

    i get an error when trying to do ref2v on v7 and 7.1... the other options seems to work for me though... just not ref2v

    [QwenVL] llama_cpp is not available. Install the GGUF vision dependency first. See docs/GGUF_MANUAL_INSTALL.md

    KiraNugget
    Author
    Aug 23, 2026

    this is what chat gpt suggest:

    For ComfyUI Portable (Windows)

    Close ComfyUI completely.

    Open Windows Command Prompt (cmd) and navigate to your main ComfyUI folder.

    Run the following command to target ComfyUI's embedded python environment:

    .\python_embeded\python.exe -m pip install triton-windows llama-cpp-python --upgrade --force-reinstall --no-cache-dir

    TypicalLoraLoverAug 23, 2026

    @KiraNugget it now gives me this error

    ERROR: Exception:

    Traceback (most recent call last):

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\cli\base_command.py", line 109, in runwrapper

    status = innerrun()

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\cli\base_command.py", line 102, in innerrun

    return self.run(options, args)

    ~~~~~~~~^^^^^^^^^^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\cli\req_command.py", line 101, in wrapper

    return func(self, options, args)

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\commands\install.py", line 479, in run

    requirement_set = resolver.resolve(

    reqs, check_supported_wheels=not options.target_dir

    )

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 99, in resolve

    result = self._result = resolver.resolve(

    ~~~~~~~~~~~~~~~~^

    collected.requirements, max_rounds=limit_how_complex_resolution_can_be

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    )

    ^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 601, in resolve

    state = resolution.resolve(requirements, max_rounds=max_rounds)

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 434, in resolve

    self._add_to_criteria(self.state.criteria, r, parent=None)

    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 150, in addto_criteria

    if not criterion.candidates:

    ^^^^^^^^^^^^^^^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_vendor\resolvelib\structs.py", line 194, in bool

    return bool(self._sequence)

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 165, in bool

    self._bool = any(self)

    ~~~^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 149, in <genexpr>

    return (c for c in iterator if id(c) not in self._incompatible_ids)

    ^^^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 39, in iterbuilt

    candidate = func()

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 182, in makecandidate_from_link

    base: BaseCandidate | None = self._make_base_candidate_from_link(

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

    link, template, name, version

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    )

    ^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 228, in makebase_candidate_from_link

    self._link_candidate_cache[link] = LinkCandidate(

    ~~~~~~~~~~~~~^

    link,

    ^^^^^

    ...<3 lines>...

    version=version,

    ^^^^^^^^^^^^^^^^

    )

    ^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 326, in init

    super().__init__(

    ~~~~~~~~~~~~~~~~^

    link=link,

    ^^^^^^^^^^

    ...<4 lines>...

    version=version,

    ^^^^^^^^^^^^^^^^

    )

    ^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 168, in init

    self.dist = self._prepare()

    ~~~~~~~~~~~~~^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 246, in _prepare

    dist = self._prepare_distribution()

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 337, in preparedistribution

    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\operations\prepare.py", line 542, in prepare_linked_requirement

    return self._prepare_linked_requirement(req, parallel_builds)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\operations\prepare.py", line 661, in preparelinked_requirement

    dist = getprepared_distribution(

    req,

    ...<3 lines>...

    self.check_build_deps,

    )

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\operations\prepare.py", line 77, in getprepared_distribution

    abstract_dist.prepare_distribution_metadata(

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

    build_env_installer, build_isolation, check_build_deps

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    )

    ^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\distributions\sdist.py", line 55, in prepare_distribution_metadata

    self._install_build_reqs(build_env_installer)

    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\distributions\sdist.py", line 132, in installbuild_reqs

    build_reqs = self._get_build_requires_wheel()

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\distributions\sdist.py", line 107, in getbuild_requires_wheel

    return backend.get_requires_for_build_wheel()

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_internal\utils\misc.py", line 700, in get_requires_for_build_wheel

    return super().get_requires_for_build_wheel(config_settings=cs)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 196, in get_requires_for_build_wheel

    return self._call_hook(

    ~~~~~~~~~~~~~~~^

    "get_requires_for_build_wheel", {"config_settings": config_settings}

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    )

    ^

    File "D:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 402, in callhook

    raise BackendUnavailable(

    ...<4 lines>...

    )

    pip._vendor.pyproject_hooks._impl.BackendUnavailable: Cannot import 'scikit_build_core.build'

    KiraNugget
    Author
    Aug 23, 2026

    I'm sorry, I really don't know. I usually google and use grok or chat gpt to resolve those kind of issues :( AI usually knows how to fix AI

    TheBodyHunterAug 23, 2026
    CivitAI

    Your work is fantastic , so i have to write this comment to thank you so much ! <3

    Keep up your amazing path , mate !

    KiraNugget
    Author
    Aug 23, 2026· 1 reaction

    Thanks a lot :) ❤️

    wdptt13444Aug 23, 2026
    CivitAI

    - Node Type: AILab_QwenVL_GGUF - Exception Type: TypeError - Exception Message: TypeError: AILab_QwenVL_GGUF.process() missing 1 required positional argument: 'unload_after_run'

    the Qwen3VL model won't download, how to fix this?

    KiraNugget
    Author
    Aug 23, 2026

    in the backend, try to go on both QwenVL (GGUF) nodes and switch "keep model loaded". I don't see anything else :/

    keraloAug 24, 2026
    CivitAI

    I really dont want to sound rude but. Why not just install LM Studio fire up a Model and getting a prompt? Install time ~2-3 Mintues. In comfyUI we need all of those Models and we need to understand the WF. Thanks for your work though.

    KiraNugget
    Author
    Aug 24, 2026

    I like having everything in comfyui and i couldn't be bothered to watch a tutorial on how to install llm localy lol. I made this mostly for me and thought i'd share to the community. I didn't think it would be this popular tbh. I might look into LM studio at some point if you say it's an easy install

    rem154Aug 24, 2026

    @KiraNugget It is easy to install and you can integrate an LM Studio Node into ComfyUI. I just asked Hermes Agent to update my Workflow using your AutoPrompter and my Workflow (Qwen3.8-27B) and it was done after a few minutes. That's actually how I use an adapted version of your auto-prompter and I'm happy with it. Maybe worth to give it a go, but you decide of course.

    KiraNugget
    Author
    Aug 24, 2026

    @rem154 I will probably check it out and maybe do a second version of the workflow for those who prefer it that way.

    altoiddealerAug 25, 2026
    CivitAI

    I checked out your WF, and I just wanted to share some feedback on how you are building the Instructions. It seems that each of your "mode" instruction blocks, still contains the instructions for "all modes". In my own personal workflow, I had ChatGPT split up the instructions for each specific mode - I use an Any Index Switch node (from Easy-Use) to grab the correct instructions for the selected Mode - it's joined with the "shared" instructions (not shown in my screenshot), then ultimately joined with the user's prompt.

    I also personally omit the instruction for the initial statement for I2V/L2V/FL2V - I also just insert that dynamically so its one less thing the LLM has to "think about". You can use the "Format text" node to update the ending timestamp.

    https://i.imgur.com/XuXDk37.png

    KiraNugget
    Author
    Aug 25, 2026· 1 reaction

    thanks for the advice. yeah thats in the most recent update, I already wanted to do that but i havent got to separate each mode yet as I at least wanted to have 1 separate prompt for ref2v and the other "combined" prompt still works well as is for the moment. It will be refined on v7.3 and will use your tips. but right now i'm focused on a long video project :P

    altoiddealerAug 26, 2026· 2 reactions

    @KiraNugget One more thing to consider... I finally got around to trying Qwen 3.8 27B Abliterated, after trying your WF and learning of that custom node to actually use it. I had tried it both with your instructions / my instructions... honestly, I felt the generated text of either was not as good as Gemma4. I have yet to get a refusal from Gemma-4, by default it feels very uncensored. Of course my results could be skewed as I only have 12gb VRAM / 32GB RAM so what I can load is more limited. Suggesting you try it out if you haven't already: EDIT Correct one here: https://huggingface.co/Comfy-Org/gemma-4/blob/main/text_encoders/gemma4_e4b_it_int8_convrot.safetensors

    For this model I'm just using the native "Generate Text" node.

    KiraNugget
    Author
    Aug 26, 2026

    @altoiddealer I will check it out next time I work on this workflow after my video project but i'm not sure the users will like to flip flop again changing nodes and model every few updates lol

    dozalerAug 26, 2026

    @altoiddealer how do I try gemma4? I need a custom node?

    KiraNugget
    Author
    Aug 26, 2026· 1 reaction

    @dozaler replace "llm text processor" node with "generate text" node, conect to clip loader for the gemma model. model goes into text_encoder folder

    dozalerAug 26, 2026

    @KiraNugget This doesn't need instructions? Btw. Current setup works as in I almost never get refused but in the video output characters' upper or lower bodies keep getting inverted for some reason. I've been trying additional instructions with the help of gemini to no avail. Tho maybe something else other than the prompt is the culprit idk.

    KiraNugget
    Author
    Aug 26, 2026

    @dozaler not sure what you mean by "upper or lower bodies"

    dozalerAug 26, 2026

    @KiraNugget e.g., their upper body turn to the lens when their lower body's facing away or vice versa. I swapped LLM with Generate Text node but I get this type of output: "/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/zº/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•/z•" do I need to change any setting? I only set clip encoder to Minimax, then set it to stable diffusion to try but didn't work.

    KiraNugget
    Author
    Aug 26, 2026

    @dozaler I can't realy tell as I have not tested gemma4 yet, Maybe try to set it to qwen image? :/

    altoiddealerAug 26, 2026· 1 reaction

    @dozaler There is a ComfyUI template for Gemma-4 (in Browse Templates click "LLM" in the left to filter the list). I use whatever those default values are.

    altoiddealerAug 26, 2026· 1 reaction

    @dozaler Alright so I'm an idiot. I accidentally linked the wrong model. The correct Gemma-4 model to use is this one (or any of the other "exb" models) https://huggingface.co/Comfy-Org/gemma-4/blob/main/text_encoders/gemma4_e4b_it_int8_convrot.safetensors

    dozalerAug 26, 2026

    @altoiddealer yeah I found and tried those settings already, could be incompatible with my card maybe(amd).

    dozalerAug 26, 2026· 1 reaction

    @altoiddealer you owe me 12gb of bandwidth :) so its working with the newly linked model but there are some formatting issues, this is with KiraNugget's instructions plugged in:

    ## Final Prompt Generation

    [Shot 1] Cinematic, live-action, 2D-animated, 3D CG, claymation, watercolor, vintage film $\rightarrow$ Subject 1 (man) in Picture 1 (man) $\rightarrow$ detailed\_description: $\text{Overall visual style established via

    ...

    "This appears to be a highly complex, abstract, and deliberately obfuscated set of instructions designed to generate a specific, constrained output based on a series of interwoven, often contradictory, rules derived from a preceding prompt structure."

    well gemma4 isn't a fan :) need working instructions I guess.

    pasted this: https://pastebin.com/HXsQF50i got a whole page of "<tool_call|> Smart, smart, smart, smart, smart, smart, smart, smart, smart, smart, sma..."

    altoiddealerAug 26, 2026

    @dozaler Maybe this could help, this is my personal workflow. Go into the Prompt Enhancement subgraph to see my instructions to the LLM. My workflow does not support Ref2VA (yet). https://pastebin.com/t8fvjFsF

    dozalerAug 27, 2026

    @altoiddealer Thanks I'll have to add a REF2VA version somehow, about the images input I see you batched images and set that directly to Generate Text node, can it take "many" images sequentially and recognize them? I think KiraNugget combines 3 images and sends as 1 to LLM Text Processor instead.

    altoiddealerAug 27, 2026

    @dozaler It works as is, just try and you'll see it understands both images. Any more questions about my workflow, open a chat with me or send a DM on discord or something, don't want to blow up KiraNugget's notifications / inbox about this :D

    KiraNugget
    Author
    Aug 27, 2026

    @dozaler i tested it yesterday and it worked very well for me :/

    KiraNugget
    Author
    Aug 27, 2026

    @altoiddealer im considering using the model since it gave me very good results yesterday. Will do more testing after work tonight but like i said im not sure users will enjoy a model switch this soon after a model switch lol 

    dozalerAug 27, 2026

    @KiraNugget I couldn't make it work :/ you can release it as an alternative version, or switch between them inside the workflow but might be one too many for you to maintain idk.

    KiraNugget
    Author
    Aug 27, 2026· 2 reactions

    @dozaler i'll think of something if I decide to implement it :)

    altoiddealerAug 27, 2026· 1 reaction

    @KiraNugget users will use whatever they want - most people in this space can adapt. What is included in a WF by default is really just a matter of personal opinion of what is "best". Oh and if using the native Generate Text node, then that's just one less custom node users need.

    Workflows
    MiniMax H3

    Details

    Downloads
    566
    Platform
    CivitAI
    Platform Status
    Available
    Created
    8/23/2026
    Updated
    9/4/2026
    Deleted
    -

    Files

    minimaxh3AutoPrompter_v71.json

    Mirrors

    minimaxh3AutoPrompter_v71.json

    Mirrors

    minimaxh3AutoPrompter_v71.json

    Mirrors

    minimaxh3AutoPrompter_v71.json

    Mirrors

    minimaxh3AutoPrompter_v71.json

    Mirrors

    minimaxh3AutoPrompter_v71.json

    Mirrors