Video generation model
Deploy Mochi 1 preview: 20GB to start, 80GB to fine-tune
Genmo's 10B AsymmDiT text-to-video model, fully open under Apache 2.0. Here is the honest VRAM arithmetic across 480p, 163 frames, fp8 and bf16 — plus the exact NexGPU GPU and price for each.
Mochi · self-hosted
Mochi 1 preview is Genmo's open text-to-video model, built around a 10B-parameter Asymmetric Diffusion Transformer (AsymmDiT): 48 layers, 24 attention heads, a 3,072-dimension visual stream against a 1,536-dimension text stream, with non-square QKV and output projections chosen specifically to hold inference memory down. The paired AsymmVAE is only 362M parameters yet compresses 8×8 spatially and 6× temporally into a 12-channel latent space — 128× overall. Prompts go through a single T5-XXL encoder, no second tower. The licence is Apache 2.0, so commercial use needs no conversation with anyone.
The VRAM story has three tiers that span nearly 3×, and the reason is not mysterious: it comes down to what precision you load T5-XXL, the DiT and the VAE in. The official genmo/mochi repo optimises for fidelity — fp32 text encoder and VAE, bf16 DiT pinned to the EFFICIENT_ATTENTION kernel — and needs roughly 60GB on a single GPU, with at least one H100 recommended. The diffusers MochiPipeline in full precision starts at 42GB; switch to variant="bf16" with enable_model_cpu_offload() and vae.enable_tiling() and it drops to 22GB, with a documented slight quality loss. ComfyUI has supported Mochi natively since November 2024, and with Comfy-Org's repackaged mochi_preview_fp8_scaled.safetensors the official figure is under 20GB. What actually OOMs you, though, is usually not sampling but VAE decode: push the frame count and you need tiled decoding, and the official reproduction script's 163-frame full-precision decode is documented at 70GB.
Then there are the things you only learn by hitting them. The pipeline's num_frames defaults to 19 — at 30fps that is a 0.6-second clip, and people assume the model is broken. The fine-tuner requires frame counts in increments of six plus one: 25, 31, 37, all the way to 85. Diffusers explicitly cannot load the fp8 scaled single-file checkpoint, so feeding it the ComfyUI file to from_single_file will always fail. And enabling force_zeros_for_empty_prompt while wrapping the whole pipeline in autocast overflows T5 numerically — the text-encoding step has to run outside autocast in full precision. All of these land on day one of a self-host, which is exactly why it is cheaper to rent a correctly-sized card by the second, burn three hours of trial and error, and only then decide whether to buy hardware.
01 —
The weight paths, and what each one costs in VRAM
There is still only one public checkpoint — mochi-1-preview. Everything below differs by load precision and inference framework.
| Version | Parameters | VRAM | Context | Notes |
|---|---|---|---|---|
| mochi-1-preview (official genmo repo inference) | 10B DiT + 362M AsymmVAE | ~60GB single GPU; 1×H100 recommended | 480×848 · 30fps | The highest-fidelity route: fp32 T5 and VAE, bf16 DiT pinned to EFFICIENT_ATTENTION. Supports splitting the model across multiple GPUs, and --cpu_offload to trade time for memory. |
| diffusers MochiPipeline, full precision | 10B | ≥42GB (with cpu_offload + VAE tiling) | num_frames up to 163 (≈5.4s) | Documented as the best-quality, highest-barrier path. Decoding 163 frames of latents in full precision pushes the requirement to 70GB — cut frames or decode in bf16 instead. |
| diffusers variant="bf16" | 10B | ~22GB | Defaults: 480×848 / 19 frames / 64 steps / CFG 4.5 | The best value Python path, with a documented slight drop in quality. You must call both enable_model_cpu_offload() and vae.enable_tiling(); skipping either blows the budget. |
| mochi_preview_fp8_scaled.safetensors (Comfy-Org repack) | 10B | Under 20GB | 256-token prompt limit | Native ComfyUI nodes have supported it since 2024-11-05; the all-in-one checkpoint drops straight into models/checkpoints. Note that diffusers cannot load this fp8 scaled single file. |
| mochi_preview_bf16.safetensors + t5xxl_fp16 + mochi_vae (split files) | 10B | Above the fp8 tier; VAE decode becomes the bottleneck as frames grow | 480×848 | The split ComfyUI layout — files go to diffusion_models / text_encoders / vae respectively. If memory is tight, the official advice is to swap the bf16 and fp16 files for their fp8 equivalents. |
| LoRA fine-tuning (demos/fine_tuner) | LoRA on the 10B backbone | ~50GB at 37 frames; ~80GB at 85 frames | Frame count must be a multiple of 6 plus 1: 25 / 31 / 37 … 85 | The official script is single-GPU only; 1×H100 or A100 80GB recommended. Roughly 1.67 s/it at 37 frames, ~30 minutes for 1,000 steps, with visible style shift by step 200–400. |
02 —
Which GPU to rent
Match the job honestly. Mochi's VAE decode stage does not forgive an optimistic VRAM guess.
ComfyUI with fp8_scaled, prompt iteration and 480p output
RTX 4090 24GB$0.540/GPU-hr
The official figure for the ComfyUI path is under 20GB, and 24GB leaves headroom for VAE decode.
The diffusers bf16 variant, or pushing past 85 frames
RTX 5090 32GB$0.723/GPU-hr
The bf16 path is documented at 22GB; 32GB keeps tiled VAE decode and longer clips off the edge instead of re-running failed jobs.
Official repo single-GPU inference, or 163-frame full-precision decode
A100 PCIE 80GB$0.824/GPU-hr
Both documented ceilings — 60GB for the repo, 70GB for full-precision decode — fit inside 80GB, at under a quarter of the H100 SXM rate.
LoRA fine-tuning, especially the 85-frame tier (script is single-GPU)
A100 SXM4 80GB$1.088/GPU-hr
85-frame fine-tuning needs 80GB, and SXM4 bandwidth keeps that 1.67 s/it curve steady; for pure wall-clock, H100 SXM 80GB is $3.582/GPU-hr.
03 —
Getting Mochi running on NexGPU
Four steps from boot to your first 480p clip. Downloading weights is usually the slow part.
- 01
Spin up an instance with enough VRAM
Pick your GPU at console.nexgpu.net: RTX 4090 24GB for ComfyUI evaluation, A100 80GB if you are running the official repo or fine-tuning. The library of 2,000+ prebuilt images includes PyTorch and ComfyUI, which saves you the two hours of drivers and CUDA. Once it is up, get in over SSH, Jupyter or the web terminal.
ssh root@<your-instance-address> - 02
Install the genmo/mochi repo
The project uses uv for dependencies, and --no-build-isolation is not optional. flash-attn is an optional speedup; install ffmpeg too, or the final export to mp4 will fail.
git clone https://github.com/genmoai/mochi && cd mochi && pip install uv && uv venv .venv && source .venv/bin/activate && uv pip install -e . --no-build-isolation - 03
Pull the weights onto a persistent volume
The official script fetches the DiT, AsymmVAE and T5-XXL into weights/. This step spends network, not VRAM, so put it on persistent storage and skip the re-download on your next boot. Storage runs at a $0.414/GB-month median; compute billing stops the moment the instance stops, while storage keeps accruing until the volume is destroyed.
python3 ./scripts/download_weights.py weights/ - 04
Generate: CLI, Gradio, or diffusers for less VRAM
Add --cpu_offload when memory is tight; swap cli.py for demos/gradio_ui.py to get a web UI with the same flags. Attach a trained adapter with --lora_path <path/to/my_mochi_lora.safetensors>. On a 24–32GB card, take the diffusers route instead: MochiPipeline.from_pretrained("genmo/mochi-1-preview", variant="bf16", dtype=torch.bfloat16) plus enable_model_cpu_offload() and vae.enable_tiling() runs in 22GB — and remember to raise num_frames from its default of 19.
python3 ./demos/cli.py --model_dir weights/ --cpu_offload
What a Mochi deployment actually costs
Start with a ComfyUI evaluation round: RTX 4090 24GB at $0.540/GPU-hr for 3 hours of prompt, frame-count and CFG testing is 3 × $0.540 = $1.62. Give the weights and outputs a 40GB volume — at the $0.414/GB-month median that is 40 × $0.414 = $16.56/month, or $16.56 × 3 ÷ 30 ≈ $1.66 if you keep it three days. Pulling 2GB of finished clips down costs 2 × $0.0081 = $0.016 at the median egress rate. Total: about $3.30. Now the fine-tune: the official fine_tuner runs at roughly 1.67 s/it at 37 frames, so 1,000 steps is 1,670 seconds ≈ 0.46 hours; on A100 SXM4 80GB at $1.088/GPU-hr that is 0.46 × $1.088 ≈ $0.51 of pure training, or 1.5 × $1.088 = $1.63 once you include downloading weights and preprocessing. The same 1.5 hours on H100 SXM 80GB is 1.5 × $3.582 = $5.37 — and since the fine-tuning script is single-GPU only, that premium buys wall-clock time and nothing else. Everything is metered per second and priced per hour, with no minimum, no setup fee and no quota request; stop the instance and compute billing stops with it.
04 —
FAQ
What is the minimum VRAM to run Mochi locally?
Can a 24GB RTX 4090 run Mochi?
Can Mochi generate 720p?
What GPU does Mochi LoRA fine-tuning need, and how fast does it converge?
How long a video can Mochi generate, and what are the frame-count rules?
Why does diffusers fail to load the ComfyUI fp8 weights?
Start building on NexGPU
Enterprise R&D team or solo developer — either way, your first job can be running in minutes.
Sign up to browse live network pricing. No payment method required.
