NEWVectors or files. Pick a path.Start →
    Models/Speech & Audio/nvidia/canary-qwen-2.5b
    NeMoTranscriptionCC-BY-4.0

    canary-qwen-2.5b

    by nvidia

    #1 open-source ASR on the HuggingFace Open ASR Leaderboard

    Identifiers
    Model ID
    nvidia/canary-qwen-2.5b
    Feature URI
    mixpeek://transcription@v1/nvidia_canary_qwen_25b_v1

    Overview

    Canary-Qwen is NVIDIA's speech-augmented language model that holds the top position on the HuggingFace Open ASR Leaderboard with a mean WER of 5.63%. It combines a FastConformer encoder with Linearly Scalable Attention and a Qwen3-1.7B decoder, trained on 234K hours of speech data.

    On Mixpeek, Canary-Qwen delivers the most accurate English transcription available in an open-source model: critical for video search pipelines where transcript quality directly determines retrieval precision.

    Architecture

    Speech-Augmented Language Model (SALM). FastConformer encoder with Linearly Scalable Attention + Qwen3-1.7B decoder connected via linear projection + LoRA. 80ms frame rate (12.5 tokens/sec). Trained on 234K hours, ~40M speech-text pairs.

    Mixpeek SDK Integration

    // No extractor parameter takes a Hugging Face model id (checked against
    // GET /v1/discovery/extractors, which returns 13), so canary-qwen-2.5b runs
    // on your side and the output is upserted through POST
    // /v1/namespaces/{namespace_id}/documents/upsert. On Enterprise the other
    // path is to upload the weights instead: POST /v1/namespaces/{id}/models
    // accepts the huggingface format and a custom plugin loads them.
    const res = await fetch(
      "https://api.mixpeek.com/v1/namespaces/ns_your_namespace/documents/upsert",
      {
        method: "POST",
        headers: {
          Authorization: "Bearer API_KEY",
          "Content-Type": "application/json",
        },
        body: JSON.stringify({
          collection_id: "col_your_collection",
          documents: [
            {
              document_id: "asset-00412",
              // The model produces text, so it lands in payload. Give the
              // collection a text vector index and embed that text to make it
              // searchable rather than only filterable.
              payload: { extracted_text: modelOutput, source_key: "archive/2026/asset-00412" },
              vectors: { "text-embedding": embeddingOfModelOutput },
            },
          ],
        }),
      },
    );
    
    // Managed alternative, if this exact model is not the requirement:
    // universal_extractor@v1 runs google/gemini-embedding-2
    // (3072-d) over a bucket, with no inference of your own.

    Capabilities

    • #1 on HuggingFace Open ASR Leaderboard (5.63% mean WER)
    • English ASR with punctuation and capitalization
    • Noise-robust (2.41% WER at SNR 10)
    • 418x real-time factor on GPU
    • Production-grade accuracy on financial earnings calls (10.42% WER)

    Use Cases on Mixpeek

    High-accuracy transcription for video search pipelines
    Earnings call and financial audio processing
    Meeting transcription where word accuracy is critical
    Lecture and educational content indexing

    Benchmarks

    DatasetMetricScoreSource
    Open ASR LeaderboardMean WER5.63%HuggingFace Open ASR Leaderboard, 2025
    LibriSpeech CleanWER1.60%NVIDIA Model Card, 2025
    LibriSpeech OtherWER3.10%NVIDIA Model Card, 2025

    Performance

    Input SizeAudio (any length)
    GPU Latency~0.24x real-time (A100)
    GPU Throughput418x RTFx
    GPU Memory~5 GB

    Specification

    FrameworkNeMo
    Organizationnvidia
    FeatureTranscription
    Outputtext + timestamps
    Modalitiesvideo, audio
    RetrieverTranscript Search
    Parameters2.5B
    LicenseCC-BY-4.0
    Downloads/moN/A

    Research Paper

    SALM: Speech-Augmented Language Model

    arxiv.org

    Build a pipeline with canary-qwen-2.5b

    Add this model to a processing pipeline alongside other extractors. Combine with retrieval stages for end-to-end search.

    Run it on your own data, free