skip to content

Search

← From Frames to Worlds

Part III — The Sora Moment and the Race (2024–2025)

Long Video and Consistency

Character and scene persistence, AR–diffusion hybrids, and streaming generation.

2024 14 min read 4 papers

It is March 2024. Sora’s technical report, published a month earlier, has told the field that a diffusion transformer can be trained jointly on images and clips of whatever length, resolution, and aspect ratio arrive in the training set — but the model it describes still tops out at a minute, and nothing in spacetime patches or the diffusion training objective says how a clip that long, or several times longer, stays coherent from its first frame to its last. Two lines of work spend the next ten months answering that question from opposite directions: give a diffusion model an explicit memory of what it already generated, or give it the sequential structure of a language model without giving up diffusion’s training stability.

Where We Were

By early 2024, every disclosed video model shared the same underlying limit even where its headline numbers differed. Stable Video Diffusion, released openly in November 2023, generated 14 or 25 frames per sample, a ceiling fixed by the length of clip it was trained on (Sora and Spacetime Patches). Sora pushed that ceiling to a minute by removing the fixed-resolution, fixed-duration training grid entirely, but OpenAI’s own report was explicit that the result was not fully solved even within that minute: object permanence held “often, though not always,” and the report said nothing about behavior beyond the disclosed duration. Longer than that, the only available technique was to chain the model to itself — generate a clip, condition a new clip on the last frame of the one before it, repeat. StreamingT2V’s authors, describing exactly this technique in their own paper, named its failure mode directly: applied naively, autoregressive image-to-video chaining is “prone to video stagnation,” where later chunks stop moving, drift into a different scene, or lose the objects and characters the first chunk established.

That failure was not new. The compress-then-predict lineage covered in Tokens for Video had already built an autoregressive extension mechanism for video, seventeen months earlier: Phenaki’s causal C-ViViT tokenizer let a new clip be seeded from the tail of the one just generated, re-encoding it and re-conditioning on a new prompt, which is how Phenaki reached minutes of coherent video from a changing sequence of captions back in October 2022 (Villegas et al., 2022). But that trick lived inside a discrete-token, mostly bidirectional-masked generator, and the field’s center of gravity had moved to continuous diffusion models specifically because diffusion training is more stable than sampling a discrete autoregressive prior. A plain diffusion U-Net or DiT trained to denoise one fixed-length clip has no built-in notion of “condition on my own not-yet-finished output” the way an autoregressive token model does by construction — extending it past its training length means bolting an ad hoc conditioning mechanism onto an architecture that was never asked to support one, which is exactly where naive chaining and its stagnation came from.

From a fixed frame count to an indefinite stream Three separate problems, memory, stability and speed, each got one fix within a single year. Grey monospace text is the concrete number reported for that system. 2022-10 Phenaki Causal tokenizer re-seeds clips from a changing prompt minutes of coherent video via discrete video tokens 2023-11 SVD Stable Video Diffusion fixed clip length training 14 or 25 frames per sample the ceiling before Sora 2024-02 Sora Variable length training removes the fixed grid one minute, coherence past that left unstated 2024-03 StreamingT2V Short and long term memory bolted onto diffusion 1,200+ frames, about two minutes, no stagnation 2024-07 Diffusion Forcing Independent noise level per frame, one shared model 36 frame training, rolls out past 2,000 frames 2024-12 Causal distillation Bidirectional teacher distilled into a student 9.4 fps streamed, one GPU VBench Long score 84.27 extends the frame budget the ceiling before the next fix adds explicit memory changes the framework None of the three fixes is the diffusion training objective itself. Each bolts a mechanism on top of it.
None of the three fixes is the diffusion training objective itself. Each bolts a mechanism on top of it. PNG ↓

Three separate problems needed solving at once, and none of them were the same problem diffusion’s core denoising objective addresses. First, memory: a model generating chunk 40 needs some signal about what chunk 1 established, not just what chunk 39 ended on, or scenes and characters drift away from where they started. Second, stability: whatever mechanism supplies that signal has to avoid the error accumulation that plagues any autoregressive process, where a small mistake in one step becomes the flawed input to the next. Third, speed: a mechanism that revisits the entire generated-so-far sequence at every new step scales its cost with length, which is the opposite of what a genuinely long or indefinitely streamed video needs. The next ten months produced one answer to each.

The Breakthrough

StreamingT2V (Henschel et al., 2024), posted in March 2024, answers the memory problem with two purpose-built modules bolted onto an existing image-to-video diffusion backbone rather than a change to the diffusion objective itself. A Conditional Attention Module acts as short-term memory: at each new chunk, it attends over features extracted from the immediately preceding chunk and injects them into the current denoising process, which is what keeps motion continuous across a chunk boundary instead of visibly restarting. An Appearance Preservation Module acts as long-term memory: it extracts high-level scene and object features from the very first chunk, generated once at the start, and keeps re-injecting those same features into every later chunk — the explicit fix for the “forgetting” that naive last-frame conditioning cannot prevent, since a last frame carries no information about what the scene looked like forty chunks earlier. A final randomized-blending step lets a separate super-resolution enhancer be applied chunk by chunk across an arbitrarily long sequence without visible seams between enhanced segments. The paper reports generating videos of 80, 240, 600, and 1,200 or more frames — up to roughly two minutes — with what the authors describe as consistent motion and no stagnation, a direct answer to the failure mode the paper itself names.

StreamingT2V turns two memory modules into a loop Every new chunk is conditioned on the chunk just before it and on the very first chunk, so the scene cannot drift or forget. Grey monospace text names each module's role in the paper. LONG TERM MEMORY SHORT TERM MEMORY First chunk sets scene and characters generated once, chunk 1 Appearance preservation re-injects chunk 1 features long term memory module Conditional attention attends to the prior chunk short term memory module Diffusion backbone denoises the next chunk image to video backbone New chunk one step further along output chunk N Blending enhancer smooths seams between chunks after upscaling super resolution pass seeds the next chunk's short term memory the outside world's one seed memory, built once and reused the model doing the work the happy path forward A last-frame-only chain has no box like Appearance preservation, which is exactly what StreamingT2V's paper says stagnates.
A last-frame-only chain has no box like appearance preservation, which is exactly what StreamingT2V's paper says stagnates. PNG ↓

Diffusion Forcing (Chen et al., 2024), posted four months later, answers the stability problem at a more fundamental level: rather than adding memory modules to a diffusion model that still treats a whole clip as one block to denoise together, it changes what “one denoising step” means. A standard diffusion model, taught in full in Diffusion Foundations, assigns a single noise level to an entire sample and denoises every part of it together. Diffusion Forcing instead assigns every frame in a sequence its own, independently chosen noise level, so a training batch might ask the network to treat frame 1 as almost fully denoised while frame 50 is still nearly pure noise. The paper’s own framing of the problem this solves is direct: “teacher forcing easily blows up while causal full-sequence diffusion models suffer from serious consistency issues” — teacher forcing being the standard training trick for autoregressive sequence models, where a network is trained to predict each next step from ground-truth past steps, a technique that alone does not transfer cleanly to continuous, high-dimensional video frames. By letting past frames sit near a clean, low-noise state while future frames stay noisy, the same network can be run either as something close to a language model — predict one new, mostly-clean frame at a time, conditioned on everything already generated — or as something close to a standard diffusion model — denoise a whole block of equally noisy frames together — as two extremes of the identical trained model, chosen at sampling time rather than baked into the architecture. The project’s own reported result for how far that buys a model past its training window is concrete: a model trained on 36-frame sequences from the DMLab video-prediction dataset “can rollout for 2000 frames or more,” without the sliding-window re-encoding trick that ordinary autoregressive extension needs.

The causal video diffusion model described in From Slow Bidirectional to Fast Autoregressive Video Diffusion Models (Yin et al., 2024), released under the project name CausVid five months later, answers the speed problem by taking a pretrained bidirectional diffusion transformer — one that, like Sora’s, denoises an entire clip’s patch sequence jointly and therefore needs the whole future to generate any single frame — and distilling it into a causal student that generates one frame at a time from only the past. The distillation target is not simply matching pixels: it adapts distribution matching distillation, the same few-step technique Few-Step Generation covers for image diffusion, into an asymmetric setup where a causal student is supervised by a bidirectional teacher’s full-sequence judgments, which the paper reports “effectively mitigates error accumulation in autoregressive generation” — directly targeting the drift that plain frame-by-frame chaining suffers from. The result compresses a 50-step diffusion process into a 4-step causal generator that, combined with key-value caching so each new frame’s generation reuses rather than recomputes attention over every earlier frame, streams video at 9.4 frames per second on a single GPU, and the paper reports a VBench-Long score of 84.27, ahead of every video generation model it compares against on that benchmark (Evaluating and Monetizing Motion covers the VBench family of metrics in full).

A bidirectional teacher trains a causal student that never sees the future Distillation, not architecture search, is what turns a slow full-clip denoiser into a streaming one. Grey monospace text is the paper's own reported numbers. Bidirectional teacher denoises a full clip jointly needs the whole future Asymmetric DMD distribution matching distillation from few step image diffusion Causal student denoises one frame from the past only 4 step generator KV cache holds already generated frames' attention reused each new step Streamed output one new frame per step 9.4 fps on one GPU distils supervises streams reuses cache given, pretrained input the training method the resulting model memory, built once and reused
Distillation, not architecture search, is what turns a slow full-clip denoiser into a streaming one. PNG ↓

The Mathematics

A standard diffusion model, in the notation Diffusion Foundations introduces, assigns one shared timestep tt to an entire sample x0x_0 and diffuses all of it together: xt=αˉt x0+1−αˉt ϵx_t = \sqrt{\bar\alpha_t}\,x_0 + \sqrt{1-\bar\alpha_t}\,\epsilon. Diffusion Forcing’s central change is to let a sequence of TT frames carry TT independent noise levels instead of one:

xkii=αˉki x0i+1−αˉki ϵi,k=(k1,…,kT)∈{0,…,K}Tx^{i}_{k^i} = \sqrt{\bar\alpha_{k^i}}\, x^i_0 + \sqrt{1-\bar\alpha_{k^i}}\,\epsilon^i, \qquad \mathbf{k} = \big(k^1, \dots, k^T\big) \in \{0, \dots, K\}^T
SymbolMeaning
x0ix^i_0the clean, original version of frame ii
xkiix^i_{k^i}frame ii after kik^i steps of forward noising
k=(k1,…,kT)\mathbf{k} = (k^1,\dots,k^T)the vector of independent per-frame noise levels
αˉki\bar\alpha_{k^i}the cumulative signal-retention term at noise level kik^i
ϵi\epsilon^ithe Gaussian noise added to frame ii
TTthe number of frames in the sequence
KKthe maximum noise level a frame can be assigned

Training samples a noise-level vector at random for every sequence, rather than one shared timestep, and asks the network to recover each frame’s own added noise conditioned on that frame, its noise level, and a running summary of every frame before it — not the whole sequence at once, which is what keeps the model strictly causal:

L(θ)=Ek, x0, ϵ[∑i=1T∥ϵi−ϵθ(zi−1, xkii, ki)∥22]\mathcal{L}(\theta) = \mathbb{E}_{\mathbf{k},\, x_0,\, \epsilon}\left[ \sum_{i=1}^{T} \big\lVert \epsilon^i - \epsilon_\theta\big(z^{i-1},\, x^i_{k^i},\, k^i\big) \big\rVert_2^{2} \right]
SymbolMeaning
θ\thetathe trainable parameters of the denoising network
zi−1z^{i-1}the recurrent hidden state summarizing frames before ii
ϵθ(⋅)\epsilon_\theta(\cdot)the network’s predicted noise for a given frame
iithe index of the frame whose noise is being predicted
Ek,x0,ϵ\mathbb{E}_{\mathbf{k},x_0,\epsilon}expectation over random noise-level vectors, data, and noise

The distillation loss that compresses a bidirectional teacher into the 4-step causal student described above is the same distribution-matching-distillation machinery Few-Step Generation teaches for image diffusion, applied to video with an asymmetric teacher-student pairing rather than a new loss function; this chapter does not re-derive it, and Making Video Cheap picks the video-specific pipeline back up in full.

What It Enabled

Naive autoregressive chaining, 2023StreamingT2V, March 2024Causal distillation, December 2024
MechanismCondition next chunk on last frame onlyShort and long term memory modules per chunkBidirectional teacher distilled into causal student
Reported max lengthNot extended beyond training length without stagnating1,200+ frames, roughly two minutesStreamed indefinitely, one frame at a time
Failure mode addressedNone — this is the failure modeScene forgetting and motion stagnationAutoregressive error accumulation
ThroughputSame as base model per chunkSame base model, plus enhancer pass9.4 frames per second on one GPU
ModelYearMechanismLongest disclosed coherent output
Phenaki2022Discrete tokens, autoregressive clip re-seedingMinutes, via changing prompts
Sora2024Spacetime patches, joint variable-length diffusionOne minute
StreamingT2V2024Chunk-level short and long term memory1,200+ frames, ~2 minutes
Causal distillation (Yin et al.)2024Distilled causal diffusion, KV-cached streamingStreamed continuously, real time

Every later model in this book’s timeline that generates video for more than a few seconds inherits one of these three mechanisms rather than reinventing memory or causality from scratch. The open-weights models covered in Open Video Models adopt 3D video autoencoders and, in several cases, the same causal-attention pattern the distillation work above popularized, trading some of a fully bidirectional model’s global coherence for tractable long-form and streaming generation. The distillation half of this chapter’s story continues directly into Making Video Cheap, which picks up step-count reduction and causal decoding as an economics problem rather than a consistency one. And Diffusion Forcing’s own stated second application — planning and decision-making, not just video — is the same generalization that action-conditioned world models need: a model that can be sampled either as a next-step predictor or as a full-sequence generator is the mechanism Video Models Become Game Engines and World Models as Foundation Models build interactive rollouts on top of.

Three separate fixes feed three different later chapters Phenaki's token trick and Diffusion Forcing's per frame theory both run into this chapter's causal distillation, which then forks again. Grey monospace text names where each thread is picked up. Phenaki token level clip re-seeding Tokens for Video, chapter 4 Diffusion Forcing per frame noise theory this chapter, chapter 12 StreamingT2V chunk level memory modules this chapter, chapter 12 Causal distillation real time streaming this chapter, chapter 12 Open Video Models causal attention adopted chapter 11 Making Video Cheap step count as economics chapter 14 Game engines interactive world models chapter 15 the idea, this book's own history adds memory the model this chapter builds where a later chapter picks it up
Phenaki's token trick and Diffusion Forcing's per-frame theory both run into this chapter's causal distillation, which then forks again. PNG ↓

Key Papers

PaperAuthorsYearLinkWhy it matters
Phenaki: Variable Length Video Generation From Open Domain Textual DescriptionVillegas et al.2022arXiv:2210.02399Solved autoregressive clip extension for discrete-token video two years before diffusion models needed to solve it again
StreamingT2V: Consistent, Dynamic, and Extendable Long Video Generation from TextHenschel et al.2024arXiv:2403.14773Added explicit short and long term memory modules to a diffusion backbone, reaching 1,200+ frame video without stagnation
Diffusion Forcing: Next-token Prediction Meets Full-Sequence DiffusionChen et al.2024arXiv:2407.01392Generalized diffusion training to independent per-frame noise levels, unifying next-token and full-sequence generation in one objective
From Slow Bidirectional to Fast Autoregressive Video Diffusion ModelsYin et al.2024arXiv:2412.07772Distilled a bidirectional video diffusion teacher into a causal, KV-cached student streaming at 9.4 FPS with a leading VBench-Long score

PM Lens

Papers referenced