M* Documentation#
mstar is the package behind M* (“M-star”), a disaggregated, any-to-any
multimodal inference engine. It serves models built from structurally distinct
components — vision encoders, transformer backbones, diffusion / flow heads, audio codecs,
action generators, world-model predictors — whose execution path changes with the input
and the task.
The core abstraction is the graph walk: each model declares its computation as a
dataflow graph of components, and every request is a walk over that graph. A request flows
HTTP / SDK → API server → conductor → workers → streamed results; the conductor schedules
the model’s graph walks to coordinate multi-engine pipelines across one or more GPUs. Logical
graph structure is decoupled from physical placement, so the same model runs single-GPU
or fully disaggregated by changing only a YAML config.
One runtime serves unified multimodal models, omni models, speech LMs, vision-language-action policies, and world models — through a Python SDK, an OpenAI-compatible API, and a native streaming endpoint.
Getting Started
- Installation
- Requirements
- Install from PyPI
- Install from source
- Using Docker image on Intel GPU
- Optional dependencies
- GPU libraries
- omnivoice (OmniVoice)
- qwen-tts (Qwen3-TTS)
- flash-attn (Qwen3-Omni, LingBot-World)
- flash-attn-4 (Waypoint, FA3 sm90 kernel)
- Matching your CUDA toolkit
- Verify the install
- Optional: Rust support
- Optional: the Rust HTTP frontend
- Troubleshooting
- Quickstart
Reference
- Architecture
- Supported Models
- Notes
- Qwen3.5 / Qwen3.8 (
qwen3_5_*,qwen3_8_27b) - Command A+ (
command_a_plus) - Kokoro notes
- Qwen3-Omni notes
- CosyVoice3 notes
- Qwen3-TTS notes
- Fish Audio S2-Pro notes
- Nemotron VoiceChat (
nemotron_duplex) notes - Chatterbox notes
- Cosmos3 environment requirements
- Cosmos3 image-to-video conditioning
- Cosmos3-Edge reasoner and action loop
- Cosmos3 streaming rollout (windowed video)
- Wan2.2 (
wan22) - LTX-2.5 (
ltx2_5) - FLUX.2 [klein] (
flux2_klein/flux2_klein_9b)
- Speech recognition: Whisper and Qwen3-ASR
- API Reference
- Environment variables
Contributing
- Adding a New Model
- Overview
- What you will create
- Step 1 — Register the model
- Step 2 — Implement the
Modelclass - Step 2a — Declare your resources
- Step 3 — Declare the computation graph
- Step 4 — Implement the submodules
- Step 5 — Continuous batching and CUDA graphs
- Step 6 — Write a config YAML
- Worked example: Orpheus
- Worked example: BAGEL
- Worked example: Whisper
- Worked example: an image DiT on the diffusion scaffold
- Advanced: async partitions and streaming
- Checklist
- Testing