A local video model with sound reached desktop machines

On October 21 Hao AI Lab published benchmarks of FastH3 Omni on desktop hardware: the same request with a photo, a voice or a clip, run on a DGX Spark, an RTX 5090, an RTX 3090 and an Apple M5 Max. Five seconds of video with audio takes a minute on the 5090 and about twenty minutes on the Mac. The surprise is not speed, it is what a single reference costs.

A desktop machine with a graphics card projects a frame and a sound wave: local video generation
01

What landed on October 21

FastH3 Omni was shown on October 20: it takes text, images, video and voice, and returns a finished clip with synchronised sound. On eight GB200s, a five-second 768p clip from one photo took 5.7 seconds.

On October 21 the Hao AI Lab team at UC San Diego published a breakdown of the local run: identical prompts, references and seeds, executed on one and two DGX Sparks, an RTX 5090, an RTX 3090 and an Apple M5 Max with 64 GB. The same day, a commit in the FastVideo repository added Apple Silicon support through MLX, timestamped 19:01 UTC.

Why it matters: until now these models lived in the cloud, and running one locally meant trading away quality or clip length. The new numbers show that trade has moved to time and memory.

02

Numbers that convert into money

Everything below refers to a five-second clip, 124 frames, 24 frames per second, stereo, 832 by 480, with one photo as a reference.

On a single DGX Spark that request takes 192 seconds, on two Sparks 130 seconds. At 768p the same requests stretch to 361 and 218 seconds. One RTX 5090 finishes in 62 seconds. An RTX 3090 needs almost 17 minutes, and that excludes loading the model, which adds about seven minutes. An Apple M5 Max reports 19.5 minutes on a single run.

Three photos change the picture: 640 seconds on one Spark, 390 seconds on two. Requests with three photos, and the long-clip request, do not fit the memory profile of a 24 or 32 GB card, while the M5 Max handles them in 44 to 59 minutes.

Five bars of different length compare clip generation time across hardware
03

References cost more than they look

The authors explain the gap in tokens. A five-second 480p clip is about 14,400 video tokens. Every reference photo is read on the 2048-pixel canvas the model was trained on, which adds about 7,100 VAE tokens and another 7,100 vision tokens to the prompt. One photo doubles the sequence to about 29,000 tokens, and three photos take it to nearly 60,000.

That is why a request with a photo runs 3.3 to 4.4 times longer than a text-only request on the same machine. On two Sparks, a text clip takes 33.6 seconds, while the same request with one photo takes 130. On the 5090 it is 14 seconds against 62.

Why it matters: advertising work almost always carries a reference, a product photo or a face. That reference, more than generation itself, sets the price of a take.

04

One flag cuts the estimate by four

FastH3 Omni has an option called --reference-max-pixels match. It shrinks each reference to the size of the clip itself, and on the M5 Max a one-photo request falls from 19.5 minutes to 4.7 minutes, a factor of 4.2.

The flag is off by default, and honestly so: it departs from the training canvas and changes framing and action. The authors say reference detail suffers. For draft iterations that is a fair trade, for a final frame probably not.

Why it matters: local video generation hinges on a setting that is easy to miss. Budget with the default and the estimate comes out several times higher than reality.

Model layers compress into a compact block that fits into desktop memory
05

How a 35-billion model fits in desktop memory

FastH3 Omni pairs a transformer of roughly 35 billion parameters with a Qwen3-VL text encoder of about 32 billion, well over 100 GB in BF16. Each machine accommodates them differently.

On a DGX Spark everything stays resident in 128 GB of unified memory with no offloading between stages. The transformer, encoder and decoder stay in NVFP4, attention is sparse over 128-token tiles, and the text, reference and audio rows run densely at 8 bits.

The RTX 5090 uses a different trick: a precomputed table of 155 MB replaces 26 GB of timestep-projection weights, shrinking the transformer from 44.5 GB to 18.5 GB. The text encoder loads only while the prompt is encoded. An RTX 3090 has no FP4 or FP8 hardware, so it runs FP8 weights with BF16 maths and streams the transformer a few blocks at a time.

06

Apple Silicon: INT6, Metal and 27 to 31 GB

On a Mac the model runs through MLX. The transformer is quantised to INT6 and occupies 17 GB, timestep projections are precomputed, and no FP4 weights are needed. References are read by a LightVAE Lite encoder of 406 MB, frames are written by the same NVFP4 decoders used on Blackwell, and sparse attention over 128-token tiles is implemented as a separate Metal kernel.

Peak memory on the M5 Max stays between 27 and 31 GB across all five workloads. A laptop with 36 GB or more can technically run this, though the lifetime of one clip is measured in tens of minutes.

07

What this changes for a client

First, estimates no longer have to start from cloud pricing. AI video production can be costed in machine time, with no service credits involved, and that changes the economics of repeated takes.

Second, a reference is no longer a free add-on to a prompt. If a project covers five products, each photo adds 7,100 tokens and roughly doubles the time. For a batch of similar clips it pays to lock the framing once and keep the settings, then to run the full canvas every time.

Third, an AI YouTube channel on local hardware becomes realistic, with a caveat. Five seconds is not an episode, and stitching a dozen clips on a 3090 takes hours. For now, handcrafted videos with actors and editing sit outside this pipeline, though a guide to AI video models gets easier to write when ten models can be tested on one machine.

frequently asked

01What is FastH3 Omni
It is an open model that produces video with audio from text, images, clips and voice references. It was released on October 20, and the team published desktop benchmarks a day later.
02How long does a clip take on a normal graphics card
A five-second 480p clip from one photo takes about 62 seconds on an RTX 5090, about 17 minutes on an RTX 3090 and about 19.5 minutes on an Apple M5 Max.
03Why does a reference photo slow generation down so much
The photo is read on a 2048-pixel canvas and adds roughly 14,200 tokens to the sequence. One image doubles the request length, and three images make it almost four times longer.
04Can this run on a laptop
On an Apple M5 Max with 64 GB it runs, with peak memory around 27 to 31 GB. One clip takes tens of minutes, so a laptop is a test bench, and a series needs a small rack.