How to run Mochi 1 video generation on a cloud GPU
Rent a GPU on Deploy, then open a terminal in JupyterLab or over SSH. Install Mochi 1 from the official genmoai/mochi repository, run the weight script the README prints, and run the CLI or the Gradio demo. Copy the MP4 off the instance before you destroy it, because destroying the instance deletes its disk.
Other video pages: How to run Wan 2.2 video generation on a cloud GPU, How to run HunyuanVideo on a cloud GPU, How to run LTX-Video on a cloud GPU, and How to run CogVideoX on a cloud GPU. How published FLUX and SDXL weight sizes are read: How much VRAM do I need for FLUX and SDXL. If the process runs out of memory: How to fix CUDA out of memory on a cloud GPU. The tunnel for the Gradio demo is How to use SSH port forwarding on a cloud GPU.
The README says the model is released under a permissive Apache 2.0 license. The repository LICENSE file is the Apache License, Version 2.0, January 2004, and the appendix copyright line is Copyright 2024 Genmo. The GitHub license field on 2026-11-13 was Apache-2.0. The model card for genmo/mochi-1-preview that day had cardData.license apache-2.0, top-level license null, and gated false, lastModified 2026-10-06T17:19:35.000Z. The NOTICE file in that weight repo says Copyright 2024 Genmo, Inc. and that the repository is licensed under the Apache License, Version 2.0. The same NOTICE says the files in text_encoder/ and tokenizer/ are a copy of a text encoder and tokenizer, and it names a Hugging Face repo this page does not print. Copy that sentence from the NOTICE. Read the files before you redistribute the program or the weights.
The commands below are copied from the upstream files named in each step. They were not run on a CloudGPU instance for this page. Anything this page adds around them is marked. The README says GPU inference and fine-tuning need qualification before deployment. This page did not qualify them.
What the README says about memory
The hardware section says the repository supports multi-GPU operation and single-GPU operation, and that it requires approximately 60GB VRAM when running on a single GPU (read 2026-11-13). The same paragraph says ComfyUI can optimize Mochi to run on less than 20GB VRAM, and that this implementation prioritizes flexibility over memory efficiency. Those sentences are the README’s. This page did not remeasure them. The architecture section says Mochi 1 is a 10 billion parameter diffusion model. The AsymmVAE table prints 362M parameters, 8x8 spatial compression, 6x temporal compression, and latent dim 12. The limitations section says the initial release generates videos at 480p.
GET /v1/public/compute-capabilities does not list GPUs. It returns feature flags. The memory column is vram_gb from gpu-prices.json, updated_at 2026-11-13T09:12:35.958Z. GET /v1/public/gpu-catalog the same day (generated_at 2026-11-13T09:12:36.283Z) listed the same names and the same vram_gb values, plus Ascend 910B at 64, which is not in gpu-prices.json and is not listed here. The catalog response also includes an availability field. This page does not copy it. Every prices row has gpu_count 1. Rows at 48 or below are below the README’s approximately 60GB sentence. Rows at 72, 80, 83, 96, and 141 are above it. Rows at 16 and below are under the ComfyUI sentence’s 20GB. Those comparisons are arithmetic on the catalog number and the README sentences. This page did not run Mochi and does not mark a row as enough. Which listing you can start is on Deploy.
The catalog template list had no Mochi template. The catalog template named ComfyUI has id flux-1-dev, recommended_gpu RTX 4090 48G, and min_vram_gb 24. Those are template fields, not the 60GB sentence in the README. Catalog RTX 4090 48G is 48.
| Catalog name | vram_gb |
|---|---|
| RTX 2080 | 8 |
| RTX 3080 | 10 |
| RTX 2080 Ti | 11 |
| RTX 3080 Ti | 12 |
| V100 16G | 16 |
| A30 | 24 |
| RTX 3090 | 24 |
| RTX 4090 | 24 |
| RTX 4090D | 24 |
| RTX 4080 SUPER 32G | 32 |
| RTX 5090 | 32 |
| RTX 5090D | 32 |
| V100 32G | 32 |
| A100 40G | 40 |
| A800 40G | 40 |
| A40 | 48 |
| RTX 4090 48G | 48 |
| RTX 4090D 48G | 48 |
| RTX A6000 | 48 |
| NVIDIA RTX PRO 5000 72G | 72 |
| RTX PRO 5000 72G | 72 |
| A100 80G | 80 |
| A800 80G | 80 |
| H800 | 80 |
| RTX 6000D | 83 |
| H20 96G | 96 |
| RTX PRO 6000 96G | 96 |
| RTX PRO 6000 Max-Q | 96 |
| H20-3e 141G | 141 |
Install
On Deploy, choose Raw GPU. The README install, copied:
git clone https://github.com/genmoai/mochi
cd mochi
pip install uv
uv venv --python 3.11 .venv
source .venv/bin/activate
uv sync --locked
The README says Python 3.11 or newer is required, and that the uv project install applies the Pillow 13 override for MoviePy and Gradio. It says a plain pip install -r requirements.txt does not apply that override. pyproject.toml requires Python >=3.11 and lists torch>=2.14.1, transformers==5.20.2, gradio>=6.30.0,<7, moviepy>=2.2.1,<3, and pillow>=13.0.0,<14. The uv override is pillow>=13.0.0,<14. The optional flash command the README prints is uv sync --locked --extra flash --no-build-isolation. The README also says you need to install FFMPEG to turn outputs into videos. It does not print an apt line. The commits API for the default branch main listed 15c9bad662df1fa3e7b53136423695b286484c08, committed 2026-10-22T23:35:02Z. README.md and pyproject.toml are that commit.
The RTX 5090 guide says that card is compute capability 12.0 (sm_120) and that PyTorch 2.7 and later, on a build for CUDA 12.8 or newer, is the line that announced support. pyproject.toml requires torch>=2.14.1. This page did not re-test Mochi on an RTX 5090. Catalog RTX 5090 and RTX 5090D are 32, which is below the README’s approximately 60GB sentence. That is the catalog number only.
Download weights
The README’s download command:
python3 ./scripts/download_weights.py weights/
scripts/download_weights.py downloads decoder.safetensors, encoder.safetensors, and dit.safetensors from genmo/mochi-1-preview. --fast_model instead downloads dit.safetensors from FastVideo/FastMochi and saves it as dit.fast.safetensors. The model API for FastVideo/FastMochi on 2026-11-13 returned gated false and no license field in the card metadata this page read. demos/cli.py loads {model_dir}/dit.safetensors and {model_dir}/decoder.safetensors. It does not load dit.fast.safetensors. The commits API listed the download script and demos/cli.py at b2995056710e8f83173972d41d6604c707733e44 and 3d6dc8aee6caaebbb2d07b4724efbc95fce86e26, both committed 2024-12-18T21:47:19Z.
The Hugging Face sibling list for genmo/mochi-1-preview on 2026-11-13 included root files decoder.safetensors, dit.safetensors, and encoder.safetensors, plus text_encoder/, tokenizer/, vae/, and transformer/ directories. This page did not see vae.safetensors or vae_stats.json in that list. The README also links https://weights.genmo.dev/weights.zip, the Hugging Face tree, and a magnet URI. This page copies the script command. The script was not run.
demos/cli.py and the README snippet construct T5ModelFactory() with no arguments. T5ModelFactory defaults model_dir to the name T5_MODEL in src/genmo/mochi_preview/pipelines.py. That assignment is a Hugging Face repo id this page does not print. Copy it from that file. The download script does not download the text_encoder/ directory.
CLI and Gradio
The README’s run lines:
python3 ./demos/gradio_ui.py --model_dir weights/ --cpu_offload
python3 ./demos/cli.py --model_dir weights/ --cpu_offload
demos/cli.py defaults --width to 848, --height to 480, --num_frames to 163, --cfg_scale to 6.0, --num_steps to 64, and --out_dir to outputs. It writes outputs/output_<timestamp>.mp4 and a .json file with the same stem. save_video in src/genmo/lib/utils.py defaults fps to 30. The script prints Video generated at: plus that path. --cpu_offload is a flag. When more than one GPU is visible, the file selects MochiMultiGPUPipeline and rejects CPU offload and a LoRA path. With one GPU it passes cpu_offload and decode_type tiled_spatial. This page did not run the CLI.
demos/gradio_ui.py calls demo.launch() with no host and no port. Its button calls generate_video, which is the CLI function, so the MP4 path is the same outputs/output_<timestamp>.mp4. The Gradio number fields default width to 848, height to 480, frames to 163, CFG scale to 6.0, and inference steps to 100. The CLI default for steps is 64. The commits API listed this file at a31e40818fa1774acb773f7ada64a1037ff182d9, committed 2024-11-30T09:42:59Z. This page did not start the app. Forward the local URL the process prints with how to use SSH port forwarding on a cloud GPU.
The README’s API snippet uses decoder.safetensors, num_frames=31, num_inference_steps=64, and cfg_schedule=[6.0] * 64. demos/api_example.py calls save_video(video[0], "video.mp4"), uses num_frames=31 and cfg_schedule=[4.5] * 64, and passes model_path ending in vae.safetensors plus model_stats_path. DecoderModelFactory.__init__ accepts only model_path. The download script does not request vae.safetensors or vae_stats.json. This page did not run api_example.py.
The main README says a LoRA in safetensors format can be passed as --lora_path to gradio_ui.py or cli.py. demos/fine_tuner/README.md is the trainer that file links. This page does not copy that file’s hardware list or its timing sentences.
ComfyUI
The README news line says consumer-GPU support for Mochi was added natively in ComfyUI and links a post. This page did not copy that post. The ComfyUI examples repository has a mochi directory. Its README, commit 4e55911e63881a9001d41f3a9d90990d0b6fd800 (2024-11-05T18:19:30Z), says the files are on Comfy-Org/mochi_preview_repackaged under split_files, and to place them as follows:
diffusion_models/mochi_preview_bf16.safetensorsinComfyUI/models/diffusion_models/text_encoders/t5xxl_fp16.safetensorsinComfyUI/models/text_encoders/vae/mochi_vae.safetensorsinComfyUI/models/vae/
It says that if you have memory issues you can pick the fp8 files instead of the bf16/fp16 ones. It says the fp8 files will give lower quality than the 16 bit ones and might be faster on a GPU that supports fp8 ops. Those sentences are the example’s. This page did not remeasure them. It also links an all-in-one file, mochi_preview_fp8_scaled.safetensors, under all_in_one in the same repo. The model API for Comfy-Org/mochi_preview_repackaged on 2026-11-13 returned gated false, top-level license null, and cardData.license apache-2.0, lastModified 2026-08-17T06:13:00.000Z. Examples HEAD was f9431bb000ce792094ff345446e22cac1ea6cef3, committed 2025-11-26T20:33:58Z.
The genmo README’s related-work list names kijai/ComfyUI-MochiWrapper and logtd/ComfyUI-MochiEdit. This page did not copy their install commands or their license files. Installing ComfyUI itself is How to install ComfyUI and ComfyUI-Manager on a cloud GPU. How to choose a rental GPU for ComfyUI is the card page for that template. Whether the template already contains the Mochi workflow was not checked.
When it fails
CUDA out of memory. The README’s single-GPU sentence for this repository is approximately 60GB. --cpu_offload is the flag on cli.py and gradio_ui.py. The ComfyUI example says to pick the fp8 files if you have memory issues. If the process raises that error, use how to fix CUDA out of memory on a cloud GPU.
“CUDA error: no kernel image is available for execution on the device” on an RTX 5090. See the install section. Catalog RTX 5090 is 32, which is below the approximately 60GB sentence. This page did not re-test the package on that card.
api_example.py and the decoder filename. The README snippet and cli.py use decoder.safetensors. api_example.py passes vae.safetensors and model_stats_path. DecoderModelFactory accepts only model_path.
Save the video, then destroy
demos/cli.py writes outputs/output_<timestamp>.mp4 and a .json file beside it. The Gradio button uses that function. demos/api_example.py writes video.mp4. Copy the MP4 before you destroy the instance. Save your work before you destroy a cloud GPU is the checklist. The terms say data on local instance storage is permanently deleted when the instance is destroyed.
The pricing page FAQ states the billing rule in these words:
Per-minute options have a 1-minute minimum; unused prepaid minutes are refunded when you destroy the instance. Some configurations use whole-hour billing with a 1-hour minimum; unused time within a charged hour is not refunded on voluntary stop. The billing period, minimum charge and initial prepayment are shown before confirmation. No subscription.
Frequently asked questions
What VRAM figures does the Mochi README print?
The README says this repository requires approximately 60GB VRAM on a single GPU, and that ComfyUI can optimize Mochi to run on less than 20GB VRAM. It also says the model is a 10 billion parameter diffusion model. gpu-prices.json (updated_at 2026-11-13T09:12:35.958Z) and GET /v1/public/gpu-catalog (generated_at 2026-11-13T09:12:36.283Z) list the same names and the same vram_gb values, plus Ascend 910B at 64, which is not in the prices file and is not listed on this page. Rows at 48 or below are below 60. Rows at 72, 80, 83, 96, and 141 are above 60. Rows at 16 and below are under 20. Those comparisons are arithmetic on the catalog number and the README sentences. This page did not run Mochi and does not mark a row as enough. The catalog had no Mochi template. The catalog template named ComfyUI has id flux-1-dev, recommended_gpu RTX 4090 48G, and min_vram_gb 24. Those are template fields, not the 60GB sentence in the README. Which listing you can start is on https://cloudgpu.app/deploy.
Which commands download the weights and run the CLI or Gradio, and where is the video saved?
The README install is git clone https://github.com/genmoai/mochi, then cd mochi, pip install uv, a uv venv for Python 3.11 in .venv, source .venv/bin/activate, and uv sync with the locked flag. The download command is python3 ./scripts/download_weights.py weights/. That script downloads decoder.safetensors, encoder.safetensors, and dit.safetensors from genmo/mochi-1-preview. The README run lines are python3 ./demos/gradio_ui.py and python3 ./demos/cli.py, each with model_dir set to weights and the cpu_offload flag. demos/cli.py defaults the out_dir option to outputs and writes output_ plus a timestamp plus .mp4, and a .json file beside it. demos/gradio_ui.py calls demo.launch() with no host or port argument, and its button calls generate_video, which uses that same output path. demos/api_example.py calls save_video on the first video and the filename video.mp4. That file passes a model_path ending in vae.safetensors and a model_stats_path argument. The DecoderModelFactory constructor accepts only model_path, and the download script does not request vae.safetensors or vae_stats.json. The README snippet and cli.py use decoder.safetensors. cli.py constructs T5ModelFactory() with no arguments. The factory default is the name T5_MODEL in src/genmo/mochi_preview/pipelines.py. That assignment is a Hugging Face repo id this page does not print. Copy it from that file. This page did not run the commands.
What does the official ComfyUI Mochi example tell you to download?
The genmo README news line says consumer-GPU support for Mochi was added natively in ComfyUI. The ComfyUI examples repository has a mochi directory. Its README, commit 4e55911e63881a9001d41f3a9d90990d0b6fd800, says to place diffusion_models/mochi_preview_bf16.safetensors in ComfyUI/models/diffusion_models/, text_encoders/t5xxl_fp16.safetensors in ComfyUI/models/text_encoders/, and vae/mochi_vae.safetensors in ComfyUI/models/vae/, from Comfy-Org/mochi_preview_repackaged split_files. It says you can pick the fp8 files if you have memory issues, and it links an all-in-one file mochi_preview_fp8_scaled.safetensors. The card for Comfy-Org/mochi_preview_repackaged on 2026-11-13 had cardData.license apache-2.0, top-level license null, and gated false. Examples HEAD was f9431bb000ce792094ff345446e22cac1ea6cef3. This page did not copy the install commands of those two wrapper repositories.
Which license covers Mochi 1?
The README says the model is released under a permissive Apache 2.0 license. The repository LICENSE file is the Apache License, Version 2.0, January 2004, and the appendix copyright line is Copyright 2024 Genmo. The GitHub license field on 2026-11-13 was Apache-2.0. The genmo/mochi-1-preview card had cardData.license apache-2.0, top-level license null, and gated false. The NOTICE file in that weight repo says Copyright 2024 Genmo, Inc. and that the repository is licensed under the Apache License, Version 2.0. The same NOTICE says the files in text_encoder/ and tokenizer/ are a copy of a text encoder and tokenizer and names a Hugging Face repo this page does not print. Copy that sentence from the NOTICE. Section 2 of the Apache file grants a no-charge, royalty-free copyright license. That wording is the upstream license, not a CloudGPU price and not a storage allowance. Read the files before you redistribute the program or the weights.
Sources (read 2026-11-13, Asia/Shanghai)
- Mochi README (uv install, Pillow 13 sentence, qualification sentence,
python3 ./scripts/download_weights.py weights/, Gradio and CLI lines with--cpu_offload, approximately 60GB, ComfyUI less than 20GB, 10 billion parameters, Apache 2.0 sentence, ComfyUI news line, related-work wrapper links): https://github.com/genmoai/mochi/blob/main/README.md commit15c9bad662df1fa3e7b53136423695b286484c08. Repository HEAD is that commit, committed 2026-10-22T23:35:02Z pyproject.toml(requires-python >=3.11,torch>=2.14.1,transformers==5.20.2, Pillow override): commit15c9bad662df1fa3e7b53136423695b286484c08scripts/download_weights.py(genmo/mochi-1-previewfilesdecoder.safetensors,encoder.safetensors,dit.safetensors;--fast_modelandFastVideo/FastMochi): commitb2995056710e8f83173972d41d6604c707733e44demos/cli.py(defaults,outputs/output_<timestamp>.mp4,decoder.safetensors,T5ModelFactory()): commit3d6dc8aee6caaebbb2d07b4724efbc95fce86e26demos/gradio_ui.py(demo.launch()with no host or port, step default 100): commita31e40818fa1774acb773f7ada64a1037ff182d9demos/api_example.py(video.mp4,vae.safetensors,model_stats_path,cfg_schedule=[4.5] * 64): commitcabe474294368779e323d524ba484856de7149b3src/genmo/mochi_preview/pipelines.py(T5_MODELnot printed here,DecoderModelFactoryaccepts onlymodel_path): commitf3a800aea5862b4af13e66ff77eea1967c8c3a7fsrc/genmo/lib/utils.py(save_videodefaultfps=30): commit15c9bad662df1fa3e7b53136423695b286484c08demos/fine_tuner/README.md(hardware list and timing sentences not copied): commitf4ff405e6231affa2e612260b55001a9f97ac3ccLICENSE(Apache-2.0,Copyright 2024 Genmo): commit94141242c165659066e90b5495520155c38520fe. GitHub license field Apache-2.0- Weight repo
genmo/mochi-1-preview(cardapache-2.0,gatedfalse; sibling names;NOTICEcopyright and the text-encoder sentence whose hub id is not printed): read 2026-11-13 FastVideo/FastMochicard (gatedfalse, no license field read) andComfy-Org/mochi_preview_repackagedcard (apache-2.0,gatedfalse), read 2026-11-13- ComfyUI examples
mochi/README.md(file placement, fp8 note, all-in-one checkpoint): commit4e55911e63881a9001d41f3a9d90990d0b6fd800. Examples HEADf9431bb000ce792094ff345446e22cac1ea6cef3 - Public GPU memory: https://cloudgpu.app/gpu-prices.json (
updated_at2026-11-13T09:12:35.958Z) and https://cloudgpu.app/v1/public/gpu-catalog (generated_at2026-11-13T09:12:36.283Z).GET /v1/public/compute-capabilitiesreturned feature flags and no GPU list. The catalog had no Mochi template. The catalog templateflux-1-devis named ComfyUI
Cards you can start are on the Deploy page. Prices are on https://cloudgpu.app/pricing and are not repeated here.
Last updated: 2026-11-13 (Asia/Shanghai).