There are already MiniMax's "nanny level" tutorials on the Internet, and this one will not repeat that path.
This article only does one thing: run the MiniMax H3 from start to finish with the minimum allocation of 8G memory. The machine is an RTX 3060 Ti 8GB +56GB memory. What specifications can be produced, how long it will take to wait, and at which gear it will hit the wall-are all measured on this machine, not copied from the official recommendation table.
MiniMax H3 is picture and soundone-time generationVideo model: Environmental sound, sound effects, soundtrack and pictures are calculated together in the same forward transmission, and the mouth shape and movements are naturally aligned with the sound. ComfyUI already natively supports local running.
Look at the finished product first. The following 10-second video is generated purely text without any input material: the picture, rain, waves, soundtrack, and the Chinese characters at the end are all produced by the model at one time. (Remember to turn on the sound.)
directory
- Understand a few words first
- Minimum 8G allocation: our machine
- Install ComfyUI
- Lower model (4 files, 39.6 GB)
- ˇThe pit I stepped in: The downloader deceived me
- Run through the first video
- Two hard rules: frame number and resolution
- Three-field format of prompt words
- Add your own brand to the end
- Time consuming for all measurements
- Quick check on common errors
- Scripts and workflows
1. Understand a few words first
If you don't read these words, you will not be able to understand the errors behind it.
ComfyUI It is a free open source workbench for running AI generation models. The interface is node-wired and seems complex, butYou don't need to have your own company: The official template is ready, you only change the parameters.
** Workflow ** is a connected node diagram, which is equivalent to a recipe. Load template = Open ready-made recipe.
Weights/Model FilesIt is a model ontology, a large file with the suffix ". safetensers". H3 requires four: DiT (drawing), text encoder (reading prompt words), video VAE, and audio VAE (translating internal data into pixels and sound waves).
quantizationIt's the technique of making the model smaller. "bf16" is a full-precision original version, and "int8" and "nvfp4" are compressed versions, with little loss of image quality and a significant reduction in memory requirements. On-premises deployment is basically quantitative.
T2V / I2V / R2VThey are pure text generation, making pictures move, and locking characters or styles into reference material. This article only talks about T2V.
2. Minimum 8G allocation: our machine
- CPU:Intel i7-10700F @ 2.90 GHz
- graphics card:NVIDIA GeForce RTX 3060 Ti,8 GB
- memory:56 GB
- hard disk: 4.56 TB (223 GB left at the start of the download)
All the time consuming, whether you can run, and which gear you drive to will hit the wall are the boundaries of this 8G card--Not the experience of a 24G/48G machine.
Regarding configuration, just one really important thing:Memory is more threshold than memory.
H3's four model files add up to 39.6 GB. When ComfyUI is launched, it will display:
DynamicVRAM support detected and enabled
What it does is to keep all weights permanentsystem memory, when calculating, switch in the video memory according to laminar flow. After running, the log will tell you how much you allocated:About 40.5 GB is all lying in memory.
Therefore, 32 GB of memory is the bottom line, and 64 GB is comfortable; if there is not enough memory, it will be directly stuck during the loading stage. The weights must be placed in a solid state, and each time it is generated on the mechanical disk, it takes a few more minutes, because layered loading requires repeated reading of the disk.
The video memory determines "how big the specification can be opened and how long to wait", not "whether you can run or not." The minimum configuration of 8G can also run through. See Section 10 for details of which gear can be driven to.
3. Install ComfyUI
** Version must be ≥ 0.30.0. ** The native node of H3 was only merged into ComfyUI in August 2026, and no workflow in the old version could run.
New installation recommendations go directly to the desktop installation package under the ComfyUI official website, and double click all the way to default. Python, PyTorch, and CUDA rely on them to handle it themselves, which is the most novice friendly thing about the desktop version.
If ComfyUI is already available, the desktop version will check for updates in the menu; manual git deployment will be executed in the directory git pull, then execute pip install -r requirements.txt。
Browser opens after startup http://127.0.0.1:8188, just see the node canvas. Confirm version: Settings (lower left corner gear) → About, version number ≥ 0.30.0.
If it is lower than this version, update it, don't try it hard.The most frequently reported error,"Missing MiniMaxH3 ImageToVideo node", is 99% of which is a version issue.
My last environment is: ComfyUI 0.31.0 /Front-End 1.48.7 / Torch 2.12.1+cu130 / Python 3.13.12 / CUDA 13.0.
The first launch will let you pick a starter workflow, and MiniMax H3 is recommended. Pay attention to the mark there ~53 GB is not allowed: What T2V/I2V really needs is 4 files,39.6 GB。The extra dozen gigabytes are R2V's separate weights, which can only be used if you want to make a "reference student video".
4. Lower model: 4 files, 39.6 GB
Models are hosted in Hugging Face's "Comfy-Org/MiniMax-H3" repository.Don't clone the entire warehouse--The original warehouse has hundreds of gigabytes, and all precision versions are in it. You only need 4 files.
Both VAEs must be played: the video VAE produces the picture, the audio VAE produces the sound-without the audio VAE, you will get a silent video.
The selection is also very simple: the above group is the officially recommended take-all combination, and any graphics card should be used first. The text encoder chose "nvfp4" over the larger "int8" version because it is 10 GB smaller--On machines with tight memory, saving 10GB of memory is much more important than saving a little computing.
When downloading domestically, you can add the huggingface.co replaced by hf-mirror.comThe speed difference is an order of magnitude.20 GB large files must be uploaded with a tool that supports breakpoints(IDM, ari2, or the script at the end of the text), you don't have to start over if you break it.
The directory structure should look like this after putting in. Note for desktop users: The model directory may be under the path you choose during installation, and search for model paths in the settings for confirmation.
5.ˇThe pit I stepped in: The downloader deceived me
This section is the most valuable part of the article, because it will make you wonder if you have installed it incorrectly.
I use the desktop version's built-in downloader, the progress bar is running out, and the Downloads panel is running outFour green checkboxes all display "Done"。Staring at the panel for a second time, I realized that something was wrong: DiT display 3.13 GB, should be 19.53 GB; the text encoder shows 2.67 GB, should be 14.61 GB.
That is to say,After the download was interrupted, the downloader reported no error and directly marked the truncated file as completed.
Click Run and report an error:
RuntimeError: shape '[151936, 5120]' is invalid for input of size 149999876
This error is extremely misleading. It looks like the model version does not match, the ComfyUI has a bug, and the quantitative format does not support it. You can easily go and reinstall PyTorch, change the quantitative version, and flip the issue.
But it has only one true meaning: **.safetensors The file was truncated. ** The header declares that the shape of a tensor is [151936, 5120](Embedding for the text encoder, 151936 × 5120), but there are actually only 149999876 elements left in the file, which will explode as soon as you read it.
There are two ways to confirm the completeness of documents. The first is the simplest: the file size is compared with the number of bytes on the download page. There is one next to each downloaded model .safetensors.dl-meta Small JSON, which says authoritative expectedSize and sha256--Believe this, don't believe the green check on the panel.
The second is more strict: parse the headers of safetensers and put all tensors data_offsets Take the maximum value at the end of, add the header length, and then compare it with the actual file size.Must be strictly equal。This test will tell you the answer before you waste two hours.
Don't repeat it when repairing it, just continue it directly. The HTTP Range breakpoint resumes only the missing bytes. The core is:
curl -L --fail --retry 8 --retry-delay 5 --retry-all-errors \
--continue-at - --progress-bar -o "$path" "$url"
I wrapped it into a script with size and SHA256 double check, plus -Mirror Parameters follow the domestic mirror image. If the same command is interrupted halfway, the same command will be automatically followed.
The last thing I added was 28.34 GB。Four rows are all green, this step is really passed.
6. Run through the first video
top menu Workflow → Browse Templates → VideoSearch for "MiniMax H3". Six will come out, so recognize them clearly and don't make mistakes: three for the local version (Text to Video / Image to Video / Reference to Video),api_ The first three are for cloud transfer and need to be recharged.
from Text to Video Start. After loading, there is a series of nodes on the canvas, and you only need to know a few: UNETLoader is responsible for selecting DiT weights; text encoder loads nodes qwen3vl_32b_...; Two VAE Loaders select video VAE and audio VAE respectively;ResolutionSelector controls the output resolution; prompt box writes content; duration input determines the video length;SaveVideo is the end point for outputting MP4.
If any model drop-down box is empty or red, it means that the file has not been downloaded completely. Go back to Section 5.
My first parameter is ResolutionSelector's Megapixels = 0.3 → 736×416, duration of 5 secondsClick Run.
Result: 292 seconds.
What comes out is aMP4 with sound。ffprobe tested: H.264 + AAC,32000 Hz, dual channel, consistent with the official target of "32 kHz stereo".
There are two normal phenomena here. First, the progress bar will stop during the model loading stage for a long time: about 34 GB will need to be loaded into memory from disk, and small video memory cards will have to be swapped in and out repeatedly. This period is normal to be slow. Second, brushing this line on the console is not an error:
Input tensors must be in dtype of torch.float16 or torch.bfloat16, using pytorch attention instead
This is a prompt for some layers to fall back to standard attention and does not affect generation.
Determine where you are,Look in the queue panel SamplerCustomAdvanced the percentage of。This workflow is 20 steps. don't look at Estimated to finish in--It calculates ridiculous values when there are few samples. I have seen a task that has been running for 31 minutes, and it also shows "Completed in about 1 second."Total: xx% Don't just look at it, it is the node-level progress of the entire graph, not equal to the sampling progress.
7. Two hard rules: frame number and resolution
These two points are not based on experience, but are written down in the workflow.
Rule 1: The number of frames must fall on the 17k +5 grid.
The mathematical expression in the template is:
max(5, round(a*24)) + (5 - (max(5, round(a*24)) % 17)) % 17
Translate it:The number of frames must meet n % 17 == 5, illegal values will be silently attracted upward--No errors or prompts.
The official target output time is 4 - 15 seconds@24 fps。Therefore, if you fill in 60 seconds, you will only get about 15 seconds. Longer content will have to be generated and then edited.
** Rule 2: The native canvas is short edge 768. ** Official instructions The default short edge is 768 pixels, and 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 is supported. The gears that come with the ComfyUI template are:
- 0.2:608×352
- 0.3:736×416
- 0.4:864×480
- 0.5:960×544
- 1.0: 1344×768 (native canvas)
My suggestion is: ** Use 0.3 (736×416) to try the prompt words repeatedly, and then consider raising the final version. ** Why not go to the original canvas in one step? Section 10 provides a measured answer.
8. Three-field format of prompt words
This is the dividing line from "being able to run" to "being able to use". The prompt word for H3 is officially definedstructured format, not prose. The three fields are in fixed order:
integrated_multimodal_description: [Shot 1] ...
overall_soundscape: ...
non_diegetic_music: ...
Write the last two paragraphs if there is no content N/A。Except for the dialogue and the text in the screen, all written in English are kept in the original language.
[Shot 1] Start confessingOverall style + initial composition, without a timestamp. Style words can be used Cinematic / live-action / 2D-animated / 3D CG / watercolor / vintage film。
Subsequent lens tapeStrictly increasing timestamp, for example:
[Shot 2] At 00:03.500, the camera cuts to ...
Move the lens to write natural English sentences inside the lens, and pile up labels at the end of the sentence:
The camera pushes in with small amplitude at slow speed toward the phone in his hands.
The camera holds a static shot as the wave slides toward the lens.
Medium range and normal speed are omitted directly and not written. ** If your composition is absolutely stable, don't use "small push in"-directly lock the static state and list what you want to keep in the picture. ** I measured zero drift for 10 seconds.
If there is dialogue, assign stable IDs to characters that can speak, such as (S1)、(S2), the lines are wrapped in <d>[语言] ... </d> Li,No change or translation。Identity and tone description are placed outside the label:
The young woman with a quiet voice (S1) says: <d>[English] I get off at seven.</d>
There was another accident:It wrote the Chinese characters correctly.
I asked it to render a line of Chinese slogans at the end of the scene, written by placing the original text in English double quotes without translation. I was mentally prepared to be blurred, wrong words, and missing strokes-video models generally failed to render Chinese characters, but as a result, none of the characters were correct, and the strokes were complete, centered, and steadily stopped at the end. It's in the finished video above.
9. Add your own brand to the end
Slogan models can be written correctly,But it can't draw your exclusive IP image--It can only draw what "it thinks". Don't expect this reminder.
The correct way is to use ffmpeg to accurately synthesize it after generation. Pre-render the logo (and required text) into a PNG with alpha, stack it and fade in;-c:a copy Copy the audio track directly, and the stereo sound generated by the model does not move at all.
Here are three practical details. First, if the four corners of the original logo are black (RGB has no alpha channel), a black square will be directly superimposed. You need to first make an anti-aliasing alpha mask according to the circle or original outline.
Second, the location must be determined according to the film. I initially placed the bottom in the center, but found that the main body of the screen ended up stopping in the center below, with the logo pressed on top; placing the middle also blocked the main body. Finally put it at the top, because the sky is empty, and add a layer of top gradient dimming to ensure that white words can be read.Pick the last frame and try three positions first, which is easier than guessing directly.
Third, the dwell time must be bought by frozen frames, not by fade-in in advance. Let the show play out completely, then freeze the last frame:
[0:v]tpad=stop_mode=clone:stop_duration=1.8[vp];
[0:a]apad=pad_dur=1.8,afade=t=out:st=<总长-0.9>:d=0.9[a]
The last frame of the video clone stops for 1.8 seconds, and the audio is synchronized and fades out in the last 0.9 seconds. Cooperate with the fade-in 2.2 seconds in advance,The end of the film is always exposed for about 4 seconds--Enough visual retention without losing any picture content.
10. Time consuming for all measurement: minimum allocation of 8G
The data in the table below are all RTX 3060 Ti 8GB It really escaped.
Two conclusions can be taken away directly: ** 1. I2V is not more expensive than T2V. ** The price is almost the same under the same specification, and there is no extra charge for one more input chart. ** 2. The duration dimension is superlinear. ** 5 seconds, 292 seconds, 10 seconds, 773 seconds-the duration is doubled and the time is 2.6 times, which is in line with the complexity of attention to the number of tokens.
What really mattered was the collision with the wall.
It only took 5 minutes to run through the 736×416. I thought at the time: It should take ten to twenty minutes if it had more pixels. So press Megapixels 1.0 (1344×768) and click Run in 10 seconds.
After 31 minutes, sampler progress: 5%.
I just finished 1 step out of 20 steps. Each step took 20 minutes, 20 steps took about 10 hours, and I stopped directly.
The key is this contrast: pixels have increased by 3.4 times, frames have increased by 2 times, and the total amount of computing has increased by 6.7 times.The time spent has increased by about 125 times.
The difference of 20 times is not because of insufficient computing power, butmemory wall。Back to Section 2: The weight is streamed into the video memory, and the margin left for the activation value is inherently thin. The activation value and attention work set increase with "pixels × frames". After breaking through that margin, about 20 GB of weight had to be moved back from memory to memory at each step, directly changing from "slow calculation" to "waiting for PCIe almost the entire time."
This is a cliff, not a smooth and slow.
So on your machine, find the dessert area first and don't push it up for granted. The method is very simple: turn on the first gear, run for 2 minutes, see how much the sampler percentage has advanced, and reverse the total time; stop immediately if something goes wrong.
Don't expect to accelerate nodes to save this. Cache nodes save calculations and steps, but what is really stuck here is the memory bandwidth. The time saved is meaningless at this level. If the picture quality is not enough, look for the prompts and composition, and don't force the resolution.736×416 is enough on your mobile phone, and you have already seen the cost of pulling the native canvas.
If your card has more memory, the upper limit will naturally be higher; this table is just 8G minimum allocation The boundaries of the method can be copied.
11. Quick check on common errors
Q: Missing hints MiniMaxH3ImageToVideo Wait for the node?
A: The ComfyUI version is lower than 0.30.0, upgrade. This is the most frequent problem.
Q:RuntimeError: shape '[...]' is invalid for input of size ...?
A: The model file was truncated, not a version or quantification issue. Check the size and continue to pass it through section 5.
Q: CUDA out of memory?
A: In order: ① The quantitative version is used for confirmation (pruned_int8 + nvfp4_awq), don't miss it bf16;② Turn off other programs that eat video memory,include a browser(Hardware acceleration will account for 1 - 2 GB);③ Memory will be pulled to more than 32 GB. Note: Reducing the resolution cannot save the burst video memory, because the bulk of the video memory is the model itself; but reducing the resolution can save the "inability to run", see Section 10-these are two different things.
Q: There is no sound in the output video?
A: Both VAE must be loaded and the link between the audio VAE and SaveVideo in the workflow is complete. There is generally no mistake in using official templates, and this line is most likely to be missed when changing your own workflow.
Q: The video duration is different from what I filled in?
A: The number of frames has been absorbed into the 17k +5 grid, see Section 7. Copy directly from the legal frame meter.
Q: Does the console swipe a dtype warning?
A: Normal phenomenon, some layers fall back to standard attention, which does not affect generation.
Q: The progress bar does not move. Is it stuck?
A: Look at the queue panel SamplerCustomAdvanced Percentage, don't look Estimated to finish in, it will report blindly. The loading phase itself is slow, but it is even slower to place the model on the mechanical plate.
12. Scripts and workflows
There are three things in the package:
- Breakpoint resume script: Complete the truncated model file, with size + SHA256 double check,
-MirrorTake the domestic mirror image. - workflow: T2V (5 seconds/ 10 seconds, 736×416), all parameters have been adjusted.
- end-of-film synthesis script: Logo + slogan + frozen frame stay, one command is issued into pieces.
If needed, the comment section asked me how to get it.
last
The minimum allocation of 8G does not mean that any specifications can be opened-the dessert is 736×416, and the native canvas is a cliff on this machine.
What is really valuable locally is the trial and error stage: a five-second cloud API costs money, and there is only electricity bills locally. The cost is almost zero after repeatedly changing the prompt words, screening the composition, and testing the mirror. After finalizing the document, we will consider whether to use the API to produce high-resolution, so that the account will be cost-effective.
Comment directly if you have any questions--I can answer any 8G gear we have run before.
Overall, I mainly did three things:Merge broken paragraphs, reduce the rhythm of "sentence by paragraph", and put continuous explanations back into the same information unit。Technical data, orders, errors and key conclusions have not been deleted.