
Hy-Nomas on Google Cloud TPU
Runs with mashbox run hy-nomas in the mashbox package, release 0.1.10.
Read our guide: run Hy-Nomas on TPU
Tencent's open video world model, playable in the browser from a TPU v6e-4. The full pipeline also fits on a single TPU v6e chip (32 GB), at 2.46 s of compute per second of video, main model quantized. Made by Tencent Hunyuan, ported to TPU by MASHBOX Labs.
- 1.045 s (median of 87 and of 27 windows on two chips): compute per second of video, quality preset, Tencent decoder, 1.00 = real time, on TPU v6e-4
- 0.689 s (median of 77 windows): compute per second of video, quality preset, MASHBOX Fast decoder, on TPU v6e-4
- 10 min 40.1 s: first start on a new chip without a matching compile cache, command to first frame on screen (weights downloaded and in the VM's memory; compiling included), on TPU v6e-4
- 1 min 14.8 s (median of 5 starts; 1 min 7.2 s to 1 min 43.6 s): later starts, command to first frame on screen (weights in the VM's memory), on TPU v6e-4
- 1 min 20.7 s: first start on a new chip with the compiled programs from this repo, command to first frame on screen (weights downloaded and in the VM's memory), on TPU v6e-4
- 2.46 s (60 s run): compute per second of video, full pipeline on a single TPU v6e chip (v6e-1, 32 GB), 720p, main model quantized; this version of
mashbox runstarts on a v6e-4
A world generated by Hy-Nomas on Google Cloud TPU. Shown smaller and at 8 frames per second; the model makes 1280x704 at 24.
Quickstart
On a Google Cloud TPU VM (the setup guide gets you there from a new Google account; coding agents can follow AGENTS.md):
python3 -m pip install uv && python3 -m uv tool install --python 3.12 "mashbox[tpu,hy-nomas]" --extra-index-url https://download.pytorch.org/whl/cpu --index-strategy unsafe-best-match
~/.local/bin/mashbox run hy-nomas --ui
The app serves on the VM's 127.0.0.1:8790 only. Connect with gcloud compute tpus tpu-vm ssh hy-nomas --zone=asia-northeast1-b -- -L 8790:127.0.0.1:8790 (your chip's name and zone) and open http://127.0.0.1:8790 on your own machine. The start times below are with the weights downloaded and still in the VM's memory; the first start after the VM restarts reads them from disk again and takes longer.
Results
| Chip | Measure | Result | Baseline |
|---|---|---|---|
| TPU v6e-4 | Compute per second of video, quality preset, Tencent decoder, 1.00 = real time | 1.045 s (median of 87 and of 27 windows on two chips) | 1.00 s = real time |
| TPU v6e-4 | Compute per second of video, quality preset, MASHBOX Fast decoder | 0.689 s (median of 77 windows) | 1.045 s with Tencent's decoder on the same chip type |
| TPU v6e-4 | First start on a new chip without a matching compile cache, command to first frame on screen (weights downloaded and in the VM's memory; compiling included) | 10 min 40.1 s | n/a |
| TPU v6e-4 | Later starts, command to first frame on screen (weights in the VM's memory) | 1 min 14.8 s (median of 5 starts; 1 min 7.2 s to 1 min 43.6 s) | n/a |
| TPU v6e-4 | First start on a new chip with the compiled programs from this repo, command to first frame on screen (weights downloaded and in the VM's memory) | 1 min 20.7 s | 10 min 40.1 s without them (about 9 minutes of it compiling), same chip |
| TPU v6e-1 (one chip, 32 GB) | Compute per second of video, full pipeline on one chip, 720p, main model quantized | 2.46 s (60 s run) | 1.00 s = real time |
Each chart names the hardware on both sides.

Files
This port loads the original weights unchanged from tencent/Hy-Nomas.
| File | Format | Size (GB) | Bits per weight | Quality vs full precision | Speed |
|---|---|---|---|---|---|
xla-cache/v6e4-jax0.11.2-libtpu0.0.48.1.tar |
XLA compile cache (tar) | 0.23 | n/a | n/a (compiled programs, not weights) | first start on TPU v6e-4: first frame 1 min 20.7 s after the command, 10 min 40.1 s without it |
Chips
| Chip | Status | Note |
|---|---|---|
| TPU v5e | Not tested yet | |
| TPU v6e | One chip | the full pipeline fits on a single TPU v6e chip (32 GB), 2.46 s of compute per second of video, main model quantized. This version of mashbox run starts on a v6e-4 |
| TPU v5p slice (v5p-8) | Not tested yet | |
| TPU v6e slice (v6e-4) | Supported | 4 chips |
Kernels
Compiled TPU kernels for this model only. mashbox run picks the file that matches your chip and JAX version and checks its sha256 against models.json. Without a match, the model runs on plain JAX, slower.
| File | Chips | jax | jaxlib | libtpu |
|---|---|---|---|---|
kernels/mashbox_hy_nomas_kernels-0.1.0-py3-none-any.whl |
TPU v6e | 0.11.2 | 0.11.2 | 0.0.48.* |
Links
| Code | mashbox-labs/mashbox |
| Guide | mashbox.gg/docs/models/hy-nomas |
| Original model | tencent/Hy-Nomas by Tencent Hunyuan |
| Setup from a new Google account | mashbox.gg/docs/google-cloud |
| Companies | hello@mashbox.gg |
Licence
Weights: Apache-2.0 licence, from tencent/Hy-Nomas@4b8b4ed8; code: Apache-2.0 (MASHBOX Labs). LICENSE in this repo is Tencent Hunyuan's licence file from tencent/Hy-Nomas on Hugging Face, unchanged. Our own weights in this repo: decoders/hy-nomas-fast-decoder-v1.safetensors (the MASHBOX Fast Decoder): Apache-2.0. The compiled kernels in kernels/ are under their own licence: LICENSE-KERNELS. The compile cache in xla-cache/ is under the same licence.
Model tree for mashbox-labs/Hy-Nomas-TPU
Base model
tencent/Hy-Nomas