Wan Streamer: Real-Time AI That Watches, Listens, and Talks
- Wan Streamer v0.1 is a natively streaming, end-to-end interactive foundation model that models language, audio, and video as both input and output within a single Transformer, coordinated by block-causal attention, generating in a streaming fashion as data arrives.
- The model itself takes about 200ms to compute a response; add 350ms of round-trip network latency and total interaction latency comes to about 550ms. At 25fps, the shortest streaming processing unit is just 160ms.
- The team claims it's the only model that can output synchronized audio and video from a single end-to-end Transformer with total latency under 1 second; existing systems either output audio only (GPT-4o Realtime, Doubao, Gemini Live) or are stitched together from a chain of modules: ASR + LLM + TTS + animation.
- The current v0.1 resolution is only 192p, positioned as a proof of concept for the end-to-end design; the character demos released are unedited, pre-recorded model outputs, not live real-time experiences.
- The latency numbers in the comparison chart mix different measurement scopes: the top group covers the full end-to-end interaction loop, while the bottom group only counts the rendering stage (excluding external LLM/ASR/TTS); the team notes these should be read with that caveat in mind.
One Model Handles Real-Time Audio-Video Conversation
The Tongyi Wanxiang (Wan) team recently released Wan Streamer v0.1, a real-time audio-video interaction model. There's no shortage of AI that can talk with you in real time these days, but almost none can watch your face, listen to you speak, respond out loud, and animate its own moving face all at once. Wan Streamer packs all of that into a single model.
Why it's worth a look: real-time conversational systems today fall into two camps — one responds fast but only produces audio, with no visible face (GPT-4o Realtime, Doubao, Gemini Live); the other has a face, but it's stitched together from external ASR, a language model, TTS, and animation modules. The team calls Wan Streamer the only model that outputs synchronized audio and video from a single end-to-end Transformer with total latency under 1 second.
Four Character Demos + a Real-Time Screen Recording
The four demos below all come from the same model — only the character, voice, and setting change. Let's look at the results first, then get into how it works.
The clip below is different: it's a screen recording of an actual live networked conversation, showing the full real-time response chain.
Why the Old Approach Is Slow: A Relay Race Where Every Step Waits
The old approach is slow because it's a pipeline stitched together from a chain of independent models: speech is first converted to text (ASR), the text is fed to a language model to work out an answer (LLM), the answer is then synthesized into speech (TTS), and finally a face is animated to move (animation rendering). Each stage has to wait for the previous one to hand off its output, so wait times stack up step by step, and recognition and lip-sync errors accumulate along the way.
Perception · reasoning · planning · generation, all at once
End-to-end is like a person hearing something and speaking right away; cascading is like a game of telephone — every hand-off adds a beat of delay and can garble the message. The middle layer converts speech/video into text first, then uses that text to drive everything downstream — text is the hidden bridge connecting the modulesIn traditional cascades, text is the intermediate representation shared between several independently trained modules. Wan Streamer does away with this intermediate bridge — the modalities couple directly. — the more bridges, the slower and more error-prone it gets.
The original writeup makes a judgment call here: real-time audio-video interaction isn't simply "multimodal understanding" plus "multimodal generation" added together — it's inherently full-duplex, so streamability is a modeling constraint, not just a post-launch engineering optimization. Systems built on offline encoders, bidirectional decoders, or turn-based dialogue can't engineer their way to true low-latency full duplex no matter how much tuning they do. That's exactly what the next section breaks down.
Its Approach: One Model Covers Everything from Listening to Speaking
Wan Streamer's core idea fits in one sentence: interleave the input and output tokens for vision, audio, and text into a single sequence, and hand it to one Transformer; block-causal attention coordinates the process so it can compute and emit output as data arrives.
A single end-to-end Transformer eliminates external modules like VAD, ASR, a language model, TTS, animation, and video generation, folding perception, reasoning, response planning, speech and visual generation, response timing, and turn management all into one persistent state that's jointly optimized. Low latency, full duplex, and synchronized audio-video — all three trace back to this.
The model treats interaction as one continuous causal stream: your observations and its responses jointly update the current context. In each streaming unit, it encodes whatever user observations are currently available, then predicts the next response segment based on the full causal history from both sides. The language response is a sequence of discrete tokens trained with next-token prediction; the audio and video responses live in a continuous latent space, jointly generated with conditional flow matching — conditioned on the same clean context, so speech, motion, appearance, and scene evolution are denoised together as one coupled whole, rather than generated separately and stitched together.
To sustain this stream, the entire stack is causal by design from the ground up: a strictly causal audio-video VAE for streaming latent encoding, causal audio-video encoders, causal audio-video decoders, and a temporally causal Transformer coordinated by block-causal attention. After denoising, the estimated clean latents are appended directly to the history, becoming context for subsequent units; causal decoders then render them into the final audio-video output. The external modules this design erases are:
How It Listens While Speaking, and Can Be Interrupted Anytime
Human interaction with the world is inherently streaming and full-duplex: we don't listen fully, then think separately, then finally answer — we watch, listen, and speak all at once, pausing and interrupting at will, with perception and expression overlapping on the timescale of audio and video. A real-time interaction model has to work the same way.
Causal encoders + causal decoders + low-latency multimodal token scheduling shrink the streaming unit at 25fps down to just 160ms: incoming speech and video immediately affect the output, and the generated audio and visual state are coupled before decoding rather than patched together afterward; every emitted unit is written back into the interaction history. That's how it can listen while speaking — it's still listening while you talk, and it can adjust when interrupted.
Full duplex is like a normal phone call: you can listen and interject at the same time. A walkie-talkie, where you have to release the button and finish talking before you can listen, is half duplex.
This mechanism works thanks to block-causal attention. It treats a small chunk — say, a 160ms audio-video segment — as one processing unit: tokens within a block can attend to each other bidirectionally, but a block can only see past blocks, never future ones. That preserves within-block context while still allowing computation as data arrives, without waiting for the whole utterance to finish.
160ms
160ms
160ms
160ms
Tokens within a block attend to each other; blocks only look leftward, into the past: block 3 can start computing as soon as it arrives, because it only depends on blocks 1 and 2, without waiting for future block 4. That's streaming generation.
It's like thinking in "phrases" while speaking: you weigh the words within one phrase together, but you can't foresee the next phrase before it comes out. Two companion causal components make this work — causal encoders/decodersThey only look at the past, never the future. An ordinary encoder needs the full segment before it can encode; the causal version can encode as it receives input, like simultaneous interpretation — translating as you listen, without waiting for the speech to end. — letting both perception and generation proceed as data arrives.
Click to see deployment details: how the thinker–performer split gets latency down to 200ms
Wan Streamer is trained as a single end-to-end model; for real-time deployment, that same model is split into a thinker–performer pipeline spanning two GPUs, designed to overlap computation as much as possible. Once the system finishes prefill, the thinker broadcasts the initial KV cache to the performer, and both sides share the same full-history state — the unified model's behavior is preserved completely.
The thinker handles the causal audio-video encoder, a short computation for language prediction and state updates, KV-cache construction, and decoding the previous unit's latent into audio-video for immediate output. The performer handles only latent generation — running the flow-matching solver for the next audio-video unit based on the shared full-history KV context. Because the performer never runs the decoder and the thinker never runs the costly solver, decoding and generation never block each other.
As long as the performer's compute time plus communication time fits within one 160ms unit, real-time throughput holds. The signal-to-signal path — "encode → update state → generate latent → decode" — is exactly the roughly 200ms of model-side latency, kept within budget through CUDA graph capture, compilation, and optimized kernels.
How It Compares to Other Systems: What's Faster, What It Can Do
The two groups of latency numbers below measure different things and need to be read separately. The top group covers the complete end-to-end interaction loop (perceiving the user and producing a response), and Wan Streamer is the only one among them that also outputs video. The bottom group covers digital-human / audio-video renderers, counted only through the rendering stage — excluding the external language model, ASR, and TTS they depend on — so the latency users actually experience is higher than what's shown.
Capability coverage is shown below; Wan Streamer is the only row with every box checked:
| System | Perceives video | Outputs video | Full duplex | End-to-end | Responds within 1s |
|---|---|---|---|---|---|
| Wan Streamer | ✓ | ✓ | ✓ | ✓ | ✓ |
| Doubao Voice | ✓ | ✗ | ✓ | ✗ | ~ |
| GPT-4o Realtime | ✓ | ✗ | ~ | ✗ | ✓ |
| StreamAvatar | ~ | ✓ | ~ | ✗ | ✗ |
| LPM 1.0 | ~ | ✓ | ✓ | ✗ | ~ |
✓ = yes ~ = partial support / undisclosed ✗ = no. Full duplex means the system keeps perceiving continuously while generating — understanding and responding at the same time. Cells marked "~" are either partially supported or the metric isn't publicly disclosed.
Streamability is a modeling constraint, not just a deployment optimization: systems built on offline encoders, bidirectional decoders, or turn-based dialogue can hardly reclaim true low-latency full-duplex capability through engineering optimization alone. Wan Streamer · The Full-Duplex Challenge
Real-Time Conversational AI: From "A Relay of Modules" to "One Model That Listens, Watches, and Talks"
The Tongyi Wanxiang team (Alibaba) packs the entire pipeline — speech recognition, thinking, synthesis, animation — into a single model, achieving half-second response times with its own moving face, explained in one page with visuals.
↓ Read it in one page · includes an animated figure
Plenty of AI can chat with you in real time by voice these days — GPT-4o, Doubao, Gemini all can. But most of them only have a voice, with no face that watches you and moves. The Tongyi Wanxiang team's newly released Wan Streamer wants to fill that gap: AI that watches your video feed, listens to you speak, and responds out loud, generating face and voice together. First, let's see where existing real-time conversational AI gets stuck.
✘ But either there's no moving face at all, or that face is cobbled together from another chain of modules — lagging a beat behind, with lips out of sync
Why: the old approach breaks "understand → work out an answer → speak → animate the face" into four or five separate models running relay-style — every hand-off means waiting, and recognition and lip-sync errors pile up along the way.
Its approach is straightforward: fold that entire relay pipeline into a single model, going from watching and listening to you straight through to responding, in one continuous motion (this is called "end-to-end" — one model handles everything from start to finish, with no hand-offs to other modules in between).
Converting speech to text, working out an answer, synthesizing a voice, then animating a face — four or five separate models handing off in sequence.
Watching you, listening to you, thinking, speaking, animating — all happening at once inside the same model, with no hand-offs in between.
But merging several modules into one is only the first step. The real challenge is getting AI to listen and speak at once like a person does — so that when you interject, it can stop immediately — and that requires rebuilding how it processes information from the ground up.
It relies on a mechanism called block-causal attention: your video and audio are sliced into small chunks (each about 160 milliseconds), and the model computes chunk by chunk as it receives them, without waiting for you to finish your whole sentence.
Most people don't have a feel for "how many times faster" — what registers is "how long do I wait." For the same moment — you finish a sentence and wait for the AI to respond — different systems vary a lot, and Wan Streamer is the only one that responds with a moving face too.
no face at all
- × Speech to text
- × Grinding out an answer
- × Synthesizing a voice
- × Animating a face
v0.1 is still stuck at 192p,
demos are pre-recorded, not live,
"only" is the vendor's own claim
listens, watches, and talks
Members can copy or download the full Markdown, and let their AI subscribe and ask.
Found this useful? Leave your email — every new explainer, the moment it's out. Unsubscribe anytime.
