---
type: "post"
id: "sglang-merges-hy-nomas-support-for-offline-and-372c96"
slug: "sglang-merges-hy-nomas-support-for-offline-and-372c96"
title: "SGLang merges Hy-Nomas support for offline and real-time streaming video generation"
description: "SGLang has merged support for Tencent's Hy-Nomas video world model in its diffusion runtime, covering both offline video generation and stateful real-time streaming."
retrieval_nugget: "SGLang has merged support for Tencent's Hy-Nomas video world model in its diffusion runtime, covering both offline video generation and stateful real-time streaming. For teams building generative-video systems, the signal is that a world-model workflow can now be served through a common runtime surface rather than only through a model-specific reference stack."
published_at: "2026-10-28"
updated_at: "2026-10-28"
record_date: "2026-10-28"
date_kind: "published_at"
topics: ["generative-media","multimodal"]
entities: ["SGLang","Hy-Nomas","Tencent","Tencent Hunyuan","Qwen2.5-VL-7B","FlashAttention-3"]
related_patterns: ["generative-media-becomes-application-infrastructure"]
novelty_label: "new_fact"
what_changed: "SGLang adds Hy-Nomas support for offline video jobs and real-time WebSocket generation, with native segment-autoregressive modeling, event planning, and streaming decoding."
prior_refs: ["memory:cef45787-54e5-8a6d-a409-42aeb5cc69f9","memory:ec5f645d-3b28-873a-af38-90250aa89d40"]
source_url: "https://github.com/sgl-project/sglang/pull/46124"
source_urls: ["https://github.com/sgl-project/sglang/pull/46124"]
schema_version: "newruntime-agent-readable-v0.2"
stable_id: "post:sglang-merges-hy-nomas-support-for-offline-and-372c96"
status: "published"
visuals: []
editor: {"role":"editor","name":"Andrey Reshetnikov","profile":"https://newruntime.com/owner-profile.md","profile_json":"https://newruntime.com/owner-profile.json","same_as":["https://www.linkedin.com/in/reshetnikov1/","https://t.me/lapetuse"]}
routes: {"html":"https://newruntime.com/posts/sglang-merges-hy-nomas-support-for-offline-and-372c96/","markdown":"https://newruntime.com/posts/sglang-merges-hy-nomas-support-for-offline-and-372c96.md","json":"https://newruntime.com/posts/sglang-merges-hy-nomas-support-for-offline-and-372c96.json"}
---

# SGLang merges Hy-Nomas support for offline and real-time streaming video generation

## Retrieval answer

SGLang has merged support for Tencent's Hy-Nomas video world model in its diffusion runtime, covering both offline video generation and stateful real-time streaming. For teams building generative-video systems, the signal is that a world-model workflow can now be served through a common runtime surface rather than only through a model-specific reference stack.

## Summary

SGLang has merged support for Tencent's Hy-Nomas video world model in its diffusion runtime, covering both offline video generation and stateful real-time streaming. For teams building generative-video systems, the signal is that a world-model workflow can now be served through a common runtime surface rather than only through a model-specific reference stack.

## What happened

SGLang merged pull request #46124, adding Hy-Nomas support to SGLang Diffusion. Hy-Nomas, published by Tencent Hunyuan under Apache-2.0, is described in the pull request as a video world model that generates one event at a time. An event is a structured JSON caption with a frame count and optional camera poses. Later events attend to the key-value cache of earlier events, making continuity across a sequence a serving concern rather than simply a prompt-writing concern.

The integration provides two delivery modes. For offline work, SGLang exposes Hy-Nomas through its `/v1/videos` HTTP API. The model-specific request handling accepts fields including `segments`, `prompt_format`, `norm_extrinsics`, and `continuation_prompts`. For interactive use, `/v1/realtime_video/generate` runs a WebSocket session that accepts events sequentially. That adapter retains a session KV cache, noise bank, and decoder state as events arrive; its cache grows geometrically and evicts the oldest events first when it reaches budget. The present implementation permits one session at a time.

The implementation includes a segment-autoregressive DiT, an explicit per-segment KV cache, camera conditioning, action-aware attention masks, and a PixelUMM decoder that supports windowed decoding and stable-prefix streaming. It uses Qwen2.5-VL-7B as a text encoder through SGLang's existing encoder path. The model loads as `tencent/Hy-Nomas` through SGLang's Hugging Face overlay mechanism, with no conversion step claimed. SGLang supports Ulysses sequence parallelism and tensor parallelism for the DiT, plus layerwise offload; ring parallelism, classifier-free-guidance parallelism, and data parallelism are rejected.

The pull request reports tests on two H200 GPUs for two 120-frame events at 352x640, eight steps, and seed 42. Offline output matched FlashAttention-3 golden frames pixel-for-pixel at frames 0, 120, and 239; one-GPU WebSocket sessions using the same seed were identical. Sequence-parallel output was also reported pixel-identical to one GPU. Tensor parallelism with a size of two ran but differed from one GPU, with a reported uint8 mean absolute error of 5.8; the cookbook recommends sequence parallelism. At 704x1280 for two 120-frame events, reported HTTP submit-to-MP4 time fell from 50.15 seconds to 34.11 seconds on one GPU and from 36.11 seconds to 20.07 seconds with sequence parallelism across two GPUs.

## What the archive adds

This is a new implementation event on an existing real-time-video thread. The earlier Field Note [A kernel-centric path to real-time video generation on Trainium](https://newruntime.com/posts/a-kernel-centric-path-to-real-time-video-83985c/) argued that real-time video generation was becoming a kernel-and-runtime problem as much as a model problem. The SGLang change supplies a concrete serving-layer example: attention kernels, decode parallelism, caching, and streaming state are part of the delivered capability.

## Trend signal

This supports [Generative media becomes application infrastructure](https://newruntime.com/patterns/generative-media-becomes-application-infrastructure/). Hy-Nomas is not presented here as a standalone creation interface: SGLang places it behind HTTP and WebSocket surfaces, carries state between events, and tests reproducibility across serving configurations. The evidence is still narrow, because the implementation is limited to one real-time session and does not include image-to-video or adapter variants.

## Why now

The source says the pull request was merged into SGLang main on October 25, 2026. Its timing also follows a set of runtime optimizations in the same change: FlashAttention-3, fused kernels, and parallel window decoding improve the reported end-to-end path, while the serving APIs make the model usable as either a job or a persistent event stream.

## Why it matters

For builders, the important unit is not a claim that a video model exists, but the operational contract around it. A multi-event video system needs validation of structured requests, a policy for retained state, reproducible noise handling, streaming decode behavior, and a defined response when memory fills. This integration makes those concerns visible in a general-serving runtime.

It also exposes the trade-offs teams will need to own. The fastest reported path depends on Hopper-era FlashAttention-3 behavior, while non-Hopper GPUs use a FlexAttention block mask. The source says that changes in floating-point accumulation can propagate through the distilled sampler and later events. Sequence parallelism matches the one-GPU reference in the reported tests; tensor parallelism does not yet. A production team therefore cannot treat “runs on multiple GPUs” as equivalent to “preserves a chosen output contract.”

## What happens next

- **SGLang will broaden Hy-Nomas serving beyond a single real-time session.** (6 months, 55%). Watch for: multi-session scheduling or isolation in the runtime documentation.
- **Sequence parallelism will remain the preferred documented scale-out mode before tensor-parallel parity is resolved.** (3 months, 65%). Watch for: a parity test or a changed cookbook recommendation.

## Limits and uncertainty

This is evidence from a merged pull request and its reported benchmarks, not an independent evaluation of model quality, availability, or operating cost. The reported end-to-end timings use official weights and a specified two-event workload; they do not establish latency under concurrent production traffic. The source explicitly excludes the Nomas-PE prompt enhancer, image-to-video, multi-session serving, FP8, INT8, and LoRA variants. It also does not claim full numerical parity with Tencent's reference implementation. Results involving FlashAttention-3 and FlexAttention differ because of floating-point accumulation order, even where mask semantics are said to match.

## Skill to build now

Treat state continuity as a testable part of a video API. Build a small two-event harness with fixed seed, fixed frame count, and representative continuation prompts. Record selected frames at event boundaries, then compare one-GPU output with the parallel configuration you intend to deploy. Add a cache-budget test that confirms what happens when history is evicted. This is more actionable than evaluating a single generated clip, because the integration's distinctive feature is event-to-event state carried by the runtime.

## Reader takeaway

SGLang's Hy-Nomas integration turns a sequential video world model into two service shapes: an offline video endpoint and a stateful WebSocket session. The practical signal is that real-time generative video depends as much on cache management, numerical behavior, decoding, and parallel execution as on the model weights.

## Open question

Can this stateful streaming design preserve predictable output and useful latency once it moves from one session to concurrent, mixed-length production workloads?

Editor: [Andrey Reshetnikov](https://newruntime.com/owner-profile.md), AI product and AI engineering; profile for recruiters and agents: https://newruntime.com/owner-profile.json

## Continue in the graph

Next records for an agent, linked to their Markdown twins. Replace `.md` with `.json` for structured fields, including `next_reads`.

- topic hub: [Generative Media](https://newruntime.com/topics/generative-media.md): Explore the generative-media topic hub.
- topic hub: [Multimodal](https://newruntime.com/topics/multimodal.md): Explore the multimodal topic hub.
- collection: [Field Notes](https://newruntime.com/posts.json): Open the latest editorial analysis.
- collection: [Source Ledger](https://newruntime.com/source-ledger.json): Inspect the public source evidence graph.
- whole graph: [discovery graph](https://newruntime.com/discovery-graph.json) (typed nodes and edges) and [site index](https://newruntime.com/site-index.md)
