| --- |
| license: other |
| license_name: minimax-h3-community-license |
| license_link: https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE |
| pipeline_tag: video-to-video |
| tags: |
| - minimax-h3 |
| - comfyui |
| - workflow |
| - ref2v |
| - prompt-enhancer |
| - character-replacement |
| - v2v |
| --- |
| |
| # Nugget H3 EasyR2V β Prompt Enhancer & Full Workflow |
|
|
| **Why spend 30 minutes doing something when you can spend 2.5 weeks making a tool to automate it.** That's basically the whole reason this exists. |
|
|
| I wanted an easy to use workflow for us simple folk who want to do **Ref2V** on MiniMax H3 but keep running into troubles with the model understanding me. A good prompt does 80β90% of the work with H3 R2V β so instead of writing them by hand every time, this workflow writes them for you. |
|
|
| Think of it as **"Ref2Video for dummies"**. But it's not just limited to that. |
|
|
| --- |
|
|
| ## What it does |
|
|
| - **Scans your video** (if you're using one) to caption it and transcribe the audio |
| - **Captions all your images** - so it also works as a pure image-to-video workflow |
| - **Loads a small LLM of your choice** and writes your H3 R2V prompt in the correct format with your stated intent (user prompt) |
| - **If you're on the Full workflow**, it generates the video too |
|
|
| ## What it does NOT do |
|
|
| - **Be creative for you** - The current WF is only setup to do the prompt formatting, it is not able to generate new ideas for you |
| - **It cannot perform magic** - You are still limited to what the H3 model can and cannot do. Complex scenes are still very difficult |
|
|
|
|
| ### Saving Time |
|
|
| - If your video doesn't change, a second run doesn't trigger a new video transcription (If you have "FIXED SEED") |
| - If your images and user prompt don't change, it doesn't write a new prompt β so you can re-run on a new seed to test without paying the LLM cost every time (If you have "FIXED SEED") |
|
|
| --- |
|
|
| ## Two workflows |
|
|
| | File | What it does | |
| |---|---| |
| | `Nugget_H3_EasyR2V_Full_WF_v03.json` | The full thing β transcribe + prompt + generate video | |
| | `Nugget_H3_EasyR2V_Prompter_Only_v03.json` | Just writes the H3 prompt. Copy it out, or wire it into your own H3 graph | |
|
|
| Prompter-only is handy if you've already got your own H3 setup dialled in and just want a better prompt without ripping your workflow apart. |
|
|
| **Full workflow:** |
|
|
|  |
|
|
| **Prompter only:** |
|
|
|  |
|
|
| --- |
|
|
| ## Examples |
|
|
| **Character replacement** β swap the person in a clip for one from your reference images: |
|
|
| <video controls src="https://huggingface.co/datasets/PoopMan333/Examples/resolve/main/Prompt_Enhancer/Character_replacement_example.mp4"></video> |
|
|
|  |
|
|
| Side by side, original vs replaced: |
|
|
| <video controls src="https://huggingface.co/datasets/PoopMan333/Examples/resolve/main/Prompt_Enhancer/example%20side%20by%20side.mp4"></video> |
| <video controls src="https://huggingface.co/datasets/PoopMan333/Examples/resolve/main/Prompt_Enhancer/example%20side%20by%20side%202.mp4"></video> |
|
|
| **Background + character replacement** β swap both in one go: |
|
|
| <video controls src="https://huggingface.co/datasets/PoopMan333/Examples/resolve/main/Prompt_Enhancer/BG_and_Char_Replacement_Example.mp4"></video> |
|
|
| **Voice line + character replacement** β new person, new dialogue: |
|
|
| <video controls src="https://huggingface.co/datasets/PoopMan333/Examples/resolve/main/Prompt_Enhancer/Voice_Line_and_Char_Replacement_Example.mp4"></video> |
|
|
| --- |
|
|
| ## Setup |
|
|
| Both workflow files have a big **START HERE β Downloads & Setup** markdown note pinned inside them, with every model link, folder path and install step. Rather than duplicate it all here, just open the workflow and read the note β it's more accurate than a copy of it would be. |
|
|
| The short version: |
|
|
| - **Custom nodes**: ComfyUI-Nugget, ComfyUI-KJNodes, and (Full workflow only) ComfyUI-PlagueKind-Nodes |
| - **Run the Nugget install script** if you want dialogue transcribed β it installs `faster-whisper` into ComfyUI's own Python. A normal `pip install` goes into the wrong interpreter and it will still say the package is missing |
| - **H3 models** from [π€ Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3) |
| - **Prompt enhancer model** β start with Qwen3-VL 8B fp8_scaled. Drop to nvfp4 on 12 GB cards |
| |
| If the file won't open in ComfyUI, a node pack is missing. Install it, restart, reopen. Bypassing won't help. |
| |
| --- |
| |
| ## Tips for good character replacement |
| |
| - **Don't expect miracles.** - It is still H3 model and sometimes tempermental. Check your enhanced prompt and consider rolling again if it is not right. |
| |
| - **H3 is a tool, you're the one using it.** If you don't specify emotions, expect expressionless results. This current setup will only do what you intend for it to do. **Slop prompt in, slop video out** |
| |
| - **Limit the resolution and length.** There seems to be an arbitrary context window that may be linked to your specs, so the higher higher res/longer time your input/outputs. Keep it smaller and your success rate goes up |
| |
| - **If the video is easy, replacement should be easy too.** H3 has a quirk though β if the original person and the new person look too similar, it sometimes converges back to the original. A prompt won't always fix that. If you hit it, consider changing the person to a intermediate step (faceless green person). The new body/face will transfer over better. Alternatively you can look into Sam3 character replacement method. |
| |
| - **More than one person in the scene?** Describe the scene properly. `replace the man wearing white shorts with the man in <picture 1>` beats `replace the man with <picture 1>` every time. |
| |
| - **Complex scenes?** It will be very difficult (I've tried), scenes with too many people, too many cuts, characters obstructed are very difficult for the model to properly identify and swap. |
| |
| - **Give the LLM some context.** A one-liner in the user prompt like `<video 1> is a video of two girls eating a cup of chocolate ice cream` really helps the LLM understand what it's looking at. Especially useful with multiple scenes |
| |
| - **Use 24 FPS videos** you can trim, crop and edit the FPS before you send it to the WF. [I have a (unfortunately a bit buggy at times) tool for that](https://huggingface.co/PoopMan333/Video_Tools/tree/main). Alternatively you can use the VHS Load Video nodes |
| |
| - **Use Character Sheets** through my testing, I have found that replacing a character is much easier when a character sheet is supplied. [Consider checking out my character generator to make a 360 orbit and generate a full sheet or individual shots](https://huggingface.co/PoopMan333/H3_Character_Sheet_Generator) |
| |
| - **Test! Test! Test!.** Sometimes less is more, sometimes more is more when it comes to the user prompt. You'll get a feel for it, tweak it until you get your desired results. |
| |
| |
| --- |
| |
| ## Re-running cheaply |
| |
| Keep both `seed` widgets on **fixed**. If nothing upstream has changed, ComfyUI skips the transcriber and the prompt enhancer entirely β only the sampler re-runs. Change the sampler seed for a new take, don't touch the others. |
| |
| Set the transcriber or enhancer seed to `randomize` and you'll re-transcribe the whole video every queue for nothing. |
| |
| To skip the video entirely, bypass **Load source video** (Ctrl+B). Prompt is written from the images and your text alone. |
| |
| --- |
| |
| **[If this has helped you, consider chucking a few dollars my way. Any tips help with the power bills. Thank you.](https://ko-fi.com/c_nugget)** |
| |
| By C_Nugget |
|
|