chunk 1 · frame-wise
832×480 · 16 fps · 5.06 s
Open videoMake bidirectional models interactive using
We propose Speculative Sampling for serving autoregressive video generation. It preserves the strong modeling capability of large bidirectional attention windows while retaining the low-latency interaction of small bidirectional attention windows.
We therefore argue that bidirectional attention window size is no longer a necessary constraint for low-latency interactive video generation, but simply a decision variable for jointly optimizing visual quality and per-chunk sampling time.
Our method makes bidirectional MiniMax H3 interactive without Self-Forcing-style autoregressive post-training. While the model jointly samples five seconds of video at a time, the resulting system achieves approximately 1.4 seconds of end-to-end response latency—from a new user input to the first displayed video frame that responds to it.
Speculative Sampling is training-free and has the potential to be incorporated into any interactive video generation system!
When we talk about interactive video generation, we care not only about whether users can freely control the subjects and environments in a video through their instructions, but also—and more importantly—about how quickly those instructions take effect. More specifically, we define end-to-end Time To First Frame (TTFF) as the time between a user issuing a new instruction and seeing the corresponding response on screen. We want TTFF to be as small as possible, as this is the foundation of a good user experience.
Therefore, even when generation is faster than playback, this only ensures that the video stream continues without interruption. There may still be a long way to go in optimizing TTFF.
In practice, interactive video generation approaches in the community are gradually converging on a combination of causal and bidirectional attention: preserving bidirectional modeling within each chunk while allowing causal attention across chunks. Interestingly, different approaches have independently adopted a similar design choice: they use bidirectional chunks that are as small as possible, yet stop short of using the smallest possible chunk size.
Why pursue the smallest possible bidirectional chunks? Consider a simple interactive video generation system. The generator delivers video in chunks, either periodically or non-periodically. Each chunk contains T seconds of video. Assume that generation is always faster than playback and meets every delivery deadline. In this stable system, the player receives a new chunk at regular intervals of T. Let K denote the number of temporal latents in a chunk and δ the video duration represented by each latent:
Interactive control signals V keep arriving, and we assume that their arrival times are uniformly distributed within a period T. A control signal first waits for R seconds; the generator then takes C to generate a video chunk; after a further wait Q, the player starts playing the chunk at the boundary of the next playback period.
We encounter a frustrating fact: no matter how we shift the start of generation or choose the scheduling strategy, the expected total waiting time R + Q has a lower bound of half the chunk duration T:
This means that even if sampling were instantaneous and network delay negligible, TTFF could still be very large, depending on the chunk period.
The chunk period depends on both the number of frames in each bidirectional chunk and the system’s nominal frame rate. This corresponds to two routes for reducing TTFF: reducing the number of frames per chunk (chunk size), or increasing the temporal frame rate used for DiT sampling (sample_fps). The latter is disruptive to existing video data assets and is not common practice. This leaves reducing chunk size—the preference for small bidirectional chunks discussed above.
But why stop short of using the smallest possible bidirectional chunk size? To investigate, we conduct a controlled ablation: for different chunk sizes, we run the full streaming post-training and evaluation pipeline starting from teacher forcing. See Section 4.2 of the paper for details.
Across a snowfield under pink dawn, a skier in a crimson down jacket, fur-lined hood, and mirrored goggles dominates the frame in HDR 4K with sparkling ice detail. First, she plants her poles and adjusts the strap of a small camera on her chest, breath puffing in the cold. Then she pushes off, carves a wide S-curve through powder, and throws a spray of snow toward the lens as the camera follows low and fast, mountains glowing and the sky vast and stunning.
832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open videoChoose a sample and play all four chunk sizes together.
Across a snowfield under pink dawn, a skier in a crimson down jacket, fur-lined hood, and mirrored goggles dominates the frame in HDR 4K with sparkling ice detail. First, she plants her poles and adjusts the strap of a small camera on her chest, breath puffing in the cold. Then she pushes off, carves a wide S-curve through powder, and throws a spray of snow toward the lens as the camera follows low and fast, mountains glowing and the sky vast and stunning.
832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open videoChoose a sample and play all four chunk sizes together.
Across a snowfield under pink dawn, a skier in a crimson down jacket, fur-lined hood, and mirrored goggles dominates the frame in HDR 4K with sparkling ice detail. First, she plants her poles and adjusts the strap of a small camera on her chest, breath puffing in the cold. Then she pushes off, carves a wide S-curve through powder, and throws a spray of snow toward the lens as the camera follows low and fast, mountains glowing and the sky vast and stunning.
832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open video832×480 · 16 fps · 5.06 s
Open videoChoose a sample and play all four chunk sizes together.
We observe that as chunk size increases from its minimum of one latent, video quality first rises sharply, then quickly begins to plateau, while still improving as the bidirectional modeling chunk grows. This also explains why the more balanced choice of chunk size 3 has become a mainstream setting in the community.
Another interesting observation is that increasing chunk size does not significantly increase the time needed to denoise a video chunk. For example, with Wan1.3B using Ulysses SP on a single H200 node, increasing chunk size from 1 to 7 raises the time only from 77.5 ms to 78.6 ms. Taking this further, with LTX-2.3 under the same setup, increasing chunk size from 1 to 45 (about 15 seconds) raises the time only from 274 ms to 507 ms. This suggests that, at the token lengths used in streaming sampling, the compute kernels are far from fully utilized.
| K | USP1 | USP2 | USP4 | USP8 |
|---|---|---|---|---|
| 1 | 274.0 | 440.5 | 479.6 | 526.1 |
| 3 | 255.6 | 423.5 | 457.0 | 511.2 |
| 9 | 426.7 | 417.8 | 456.6 | 502.0 |
| 15 | 660.3 | 420.4 | 461.0 | 509.4 |
| 45 | 2016.2 | 1158.4 | 634.0 | 507.9 |
These two observations motivate three questions. For a frame-wise model with chunk size 1, we ask:
Our answer is Speculative Sampling: it jointly generates a large chunk under the current condition, assuming it will remain unchanged, and commits the predictions incrementally. Cached predictions are reused while the condition holds; otherwise, the replaceable suffix is discarded and regenerated.
Our method preserves the bidirectional modeling window of large chunks while supporting the fine-grained interaction of small chunks.
To manage prediction reuse, replacement, and refill, we develop a minimal implementation of Speculative Sampling that can be described by a two-state machine.
In the Consume state, the system reuses predictions from the cache and commits them gradually. In the Produce state, the model runs a generation job either to refill the cache or to replace an uncommitted suffix.
When a new condition arrives, playback continues from the committed prefix. The controller keeps the part that can no longer be changed and regenerates the remaining future from the earliest feasible point. If the condition does not change, it simply refills the cache before the available predictions run out.
Our method predicts ahead using the latest observed condition, assuming that it will remain unchanged. If the condition stays the same, the cached predictions are reused—a cache hit. If the condition changes, the affected predictions become a cache miss and must be generated again, introducing some redundant computation.
Our TTFF analysis shows that Speculative Sampling removes the T/2 expected waiting-time lower bound, replacing it with terms tied to computation. This shifts TTFF optimization from reducing chunk duration to accelerating per-chunk sampling. See the paper for the full analysis.
Speculative Sampling opens another path to interactive video generation: retain the modeling power of large bidirectional models and focus on making sampling faster. Our H3 demonstration shows that a model generating five seconds of video at a time can support low-latency interaction without Self-Forcing-style post-training. We hope this encourages the community to rethink the role of chunk size and the need for complex streaming post-training across different scenarios.
This is an early preview. We are training a new bidirectional H3 model with a longer context window and faster responses to new prompts. Stay tuned!