Model reference · open weights

Dia2

Available as managed deployment Audio nari-labs Text→speech 2 variants 3k dl/mo

Dia2 is an open-weight audio or speech model from nari-labs. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.

Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.

What it is

Makernari-labs
TypeAudio & music
TaskText→speech
Parameters (lead)1.9B
Runs withdia2
Released2025-11-15
Popularity3k downloads / month
LicenceOpen weights

About

What Dia2 is

Dia2 is a streaming dialogue TTS model created by Nari Labs.

The model does not need the entire text to produce the audio, and can start generating as the first few words are given as input. You can condition the output on audio, enabling natural conversations in realtime.

We provide model checkpoints (1B, 2B) and inference code to accelerate research. The model only supports up to 2 minutes of generation in English.

Upcoming

  • Dia2 TTS Server: Real streaming support
  • Sori: Dia2-powered speech-to-speech engine written in Rust

Examples

Quickstart

Requirement — install uv and use CUDA 12.8+ drivers. All commands below run through uv run … as a rule.

  1. Install dependencies (one-time):
    uv sync
    
  2. Prepare a script: edit input.txt using [S1] / [S2] speaker tags.
  3. Generate audio:
    uv run -m dia2.cli \
      --hf nari-labs/Dia2-2B \
      --input input.txt \
      --cfg 2.0 --temperature 0.8 \
      --cuda-graph --verbose \
      output.wav
    
    The first run downloads weights/tokenizer/Mimi. The CLI auto-selects CUDA when available (otherwise CPU) and defaults to bfloat16 precision—override with --device / --dtype if needed.
  4. Conditional Generation (optional):
    uv run -m dia2.cli \
      --hf nari-labs/Dia2-2B \
      --input input.txt \
      --prefix-speaker-1 prefix_speaker1.wav \
      --prefix-speaker-2 prefix_speaker2.wav \
      --cuda-graph --verbose \
      output_conditioned.wav
    
    Condition the generation on previous conversational context in order to generate natural output for your speech-to-speech system. For example, place the voice of your assistant as prefix speaker 1, place user's audio input as prefix speaker 2, and generate the response to user's input.
  5. Gradio for Easy Usage
    uv run gradio_app.py
    

Programmatic Usage

from dia2 import Dia2, GenerationConfig, SamplingConfig

dia = Dia2.from_repo("nari-labs/Dia2-2B", device="cuda", dtype="bfloat16")
config = GenerationConfig(
    cfg_scale=2.0,
    audio=SamplingConfig(temperature=0.8, top_k=50),
    use_cuda_graph=True,
)
result = dia.generate("[S1] Hello Dia2!", config=config, output_wav="hello.wav", verbose=True)

Generation runs until the runtime config's max_context_steps (1500, 2 minutes) or until EOS is detected. GenerationResult includes audio tokens, waveform tensor, and word timestamps relative to Mimi’s ~12.5 Hz frame rate.

Hugging Face

VariantRepo
Dia2-1Bnari-labs/Dia2-1B
Dia2-2Bnari-labs/Dia2-2B

License & Attribution

Licensed under Apache 2.0. All third-party assets (Kyutai Mimi codec, etc.) retain their original licenses.

Disclaimer

This project offers a high-fidelity speech generation model intended for research and educational use. The following uses are strictly forbidden:

  • Identity Misuse: Do not produce audio resembling real individuals without permission.
  • Deceptive Content: Do not use this model to generate misleading content (e.g. fake news)
  • Illegal or Malicious Use: Do not use this model for activities that are illegal or intended to cause harm.

By using this model, you agree to uphold relevant legal standards and ethical responsibilities. We are not responsible for any misuse and firmly oppose any unethical usage of this technology.

Acknowledgements


From the published model card. Full card on the HuggingFace links in the sidebar.

How it works

How audio & music work

Audio or textinputAudio modelrecognise / synthesiseText or audiooutputSpeech-to-text turns audio into text; text-to-speech and music models turn text into audio.

Using it via the API

Call it like any OpenAI endpoint

Once AxForge deploys dia2 for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (dia2 below is illustrative; you get the exact model name on deployment.)

$ curl -sS https://api.axforge.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -F model="dia2" -F file=@audio.mp3

Create an account — your API key is available in the console. 5M tokens/month currently included with every new account at launch.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms