PoopMan333's picture
Update README.md
01aaa9e verified
|
Raw
History Blame Contribute Delete
7.82 kB
---
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:**
![full workflow view](https://huggingface.co/datasets/PoopMan333/Examples/resolve/main/Prompt_Enhancer/full%20wf%20view%20image.PNG)
**Prompter only:**
![prompter only view](https://huggingface.co/datasets/PoopMan333/Examples/resolve/main/Prompt_Enhancer/prompt%20enhancer%20only%20view.PNG)
---
## 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>
![example char replacement setup](https://huggingface.co/datasets/PoopMan333/Examples/resolve/main/Prompt_Enhancer/example%20char%20replacement.PNG)
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