> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tinfoil.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Audio models

> Audio models available on Tinfoil for speech-to-text transcription, audio understanding, and text-to-speech.

<Card>
  <div style={{ display: 'flex', alignItems: 'center', gap: '16px', marginBottom: '16px' }}>
    <img src="https://mintcdn.com/tinfoil/7kpqELCdP4WIVCil/images/model-icons/openai-light.png?fit=max&auto=format&n=7kpqELCdP4WIVCil&q=85&s=9310e77996ef1b70d6fa1ccc4d278581" alt="OpenAI" style={{ height: '40px', width: '40px', flexShrink: 0 }} className="dark:block hidden" width="225" height="225" data-path="images/model-icons/openai-light.png" />

    <img src="https://mintcdn.com/tinfoil/7kpqELCdP4WIVCil/images/model-icons/openai.png?fit=max&auto=format&n=7kpqELCdP4WIVCil&q=85&s=1b9cbe9cd3cbfe37d282867e0d448c69" alt="OpenAI" style={{ height: '40px', width: '40px', flexShrink: 0 }} className="dark:hidden block" width="225" height="225" data-path="images/model-icons/openai.png" />

    <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>
      <div id="whisper-large-v3-turbo" className="model-anchor" style={{ fontSize: '18px', fontWeight: 'bold' }}>Whisper Large v3 Turbo</div>

      <a href="#whisper-large-v3-turbo" className="model-id-link" style={{ textDecoration: 'none' }}>
        <code className="text-xs text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-300 px-1.5 py-0.5 rounded">whisper-large-v3-turbo</code>
      </a>
    </div>
  </div>

  **Parameters:** 809M

  **Quantization:** None (served in FP16)

  **Capabilities:** Fast speech-to-text transcription of uploaded audio files

  **Audio Format:** File upload (.mp3, .wav, and other common formats) via the `/v1/audio/transcriptions` endpoint with `model=whisper-large-v3-turbo`

  **Languages:** Multilingual (99 languages)

  **Best for:** High-throughput batch transcription of recorded audio, where the whole file is available up front rather than streamed live

  **Model weights:** [openai/whisper-large-v3-turbo](https://huggingface.co/openai/whisper-large-v3-turbo)

  **Configuration repo:** [tinfoilsh/confidential-realtime-models](https://github.com/tinfoilsh/confidential-realtime-models)
</Card>

<Card>
  <div style={{ display: 'flex', alignItems: 'center', gap: '16px', marginBottom: '16px' }}>
    <img src="https://mintcdn.com/tinfoil/vfMAM73wcpT2SrpR/images/model-icons/mistral.png?fit=max&auto=format&n=vfMAM73wcpT2SrpR&q=85&s=c629064347c0c847d788dc2b2e0c1e10" alt="Mistral" style={{ height: '40px', width: '40px' }} width="225" height="225" data-path="images/model-icons/mistral.png" />

    <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>
      <div id="voxtral-small-24b" className="model-anchor" style={{ fontSize: '18px', fontWeight: 'bold' }}>Voxtral Small 24B</div>

      <a href="#voxtral-small-24b" className="model-id-link" style={{ textDecoration: 'none' }}>
        <code className="text-xs text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-300 px-1.5 py-0.5 rounded">voxtral-small-24b</code>
      </a>
    </div>
  </div>

  **Parameters:** 24B

  **Quantization:** None (served in BF16)

  **Capabilities:** Speech-to-text transcription, audio Q\&A, summarization, translation, voice-triggered function calling

  **Audio Duration:** Up to 30 minutes (transcription) or 40 minutes (understanding)

  **Audio Format:** Supports .mp3 and .wav files

  **Languages:** English, Spanish, French, Portuguese, Hindi, German, Dutch, Italian

  **Best for:** Speech transcription with automatic language detection, answering questions from spoken input, generating summaries from audio, and triggering functions from voice commands

  **Model weights:** [mistralai/Voxtral-Small-24B-2507](https://huggingface.co/mistralai/Voxtral-Small-24B-2507)

  **Configuration repo:** [tinfoilsh/confidential-voxtral-small-24b](https://github.com/tinfoilsh/confidential-voxtral-small-24b)

  <Info>
    **Audio + Text:** Built on Mistral Small 3.1 foundation, combining speech processing with strong text capabilities including function calling from voice commands.
  </Info>
</Card>

<Card>
  <div style={{ display: 'flex', alignItems: 'center', gap: '16px', marginBottom: '16px' }}>
    <img src="https://mintcdn.com/tinfoil/vfMAM73wcpT2SrpR/images/model-icons/mistral.png?fit=max&auto=format&n=vfMAM73wcpT2SrpR&q=85&s=c629064347c0c847d788dc2b2e0c1e10" alt="Mistral" style={{ height: '40px', width: '40px' }} width="225" height="225" data-path="images/model-icons/mistral.png" />

    <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>
      <div id="voxtral-tts" className="model-anchor" style={{ fontSize: '18px', fontWeight: 'bold' }}>Voxtral TTS</div>

      <a href="#voxtral-tts" className="model-id-link" style={{ textDecoration: 'none' }}>
        <code className="text-xs text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-300 px-1.5 py-0.5 rounded">voxtral-tts</code>
      </a>
    </div>
  </div>

  **Parameters:** 4B

  **Quantization:** None (served in BF16)

  **Capabilities:** Text-to-speech synthesis — converts text into natural-sounding spoken audio

  **Audio Format:** Returns generated audio via the `/v1/audio/speech` endpoint with `model=voxtral-tts`

  **Best for:** High-quality voice output for assistants, narration, and accessibility, kept inside a secure enclave

  **Model weights:** [mistralai/Voxtral-4B-TTS-2603](https://huggingface.co/mistralai/Voxtral-4B-TTS-2603)

  **Configuration repo:** [tinfoilsh/confidential-realtime-models](https://github.com/tinfoilsh/confidential-realtime-models)
</Card>

<Card>
  <div style={{ display: 'flex', alignItems: 'center', gap: '16px', marginBottom: '16px' }}>
    <img src="https://mintcdn.com/tinfoil/7kpqELCdP4WIVCil/images/model-icons/qwen.png?fit=max&auto=format&n=7kpqELCdP4WIVCil&q=85&s=ceccb0e82dd42dae1af15f79d28fe557" alt="Qwen" style={{ height: '40px', width: '40px' }} width="225" height="225" data-path="images/model-icons/qwen.png" />

    <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>
      <div id="qwen3-tts" className="model-anchor" style={{ fontSize: '18px', fontWeight: 'bold' }}>Qwen3 TTS</div>

      <a href="#qwen3-tts" className="model-id-link" style={{ textDecoration: 'none' }}>
        <code className="text-xs text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-300 px-1.5 py-0.5 rounded">qwen3-tts</code>
      </a>
    </div>
  </div>

  **Parameters:** 1.7B

  **Quantization:** None (served in BF16)

  **Capabilities:** Text-to-speech synthesis with custom voice support

  **Audio Format:** Returns generated audio via the `/v1/audio/speech` endpoint (the default model for that endpoint)

  **Best for:** Lightweight, low-latency speech generation where a smaller model keeps the GPU footprint down

  **Model weights:** [Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice](https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice)

  **Configuration repo:** [tinfoilsh/confidential-realtime-models](https://github.com/tinfoilsh/confidential-realtime-models)
</Card>

<Card>
  <div style={{ display: 'flex', alignItems: 'center', gap: '16px', marginBottom: '16px' }}>
    <img src="https://mintcdn.com/tinfoil/vfMAM73wcpT2SrpR/images/model-icons/mistral.png?fit=max&auto=format&n=vfMAM73wcpT2SrpR&q=85&s=c629064347c0c847d788dc2b2e0c1e10" alt="Mistral" style={{ height: '40px', width: '40px' }} width="225" height="225" data-path="images/model-icons/mistral.png" />

    <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>
      <div id="voxtral-mini-4b-realtime" className="model-anchor" style={{ fontSize: '18px', fontWeight: 'bold' }}>Voxtral Mini Realtime</div>

      <a href="#voxtral-mini-4b-realtime" className="model-id-link" style={{ textDecoration: 'none' }}>
        <code className="text-xs text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-300 px-1.5 py-0.5 rounded">voxtral-mini-4b-realtime</code>
      </a>
    </div>
  </div>

  **Parameters:** 4B

  **Quantization:** None (served in BF16)

  **Capabilities:** Streaming speech-to-text transcription — partial transcripts appear word-by-word as audio arrives (\~480ms behind the speaker)

  **Audio Format:** PCM16 mono over WebSocket (16kHz native; 24kHz accepted on the OpenAI-compatible endpoint and resampled in-enclave)

  **Languages:** English, Chinese, Hindi, Spanish, Arabic, French, Portuguese, Russian, German, Japanese, Korean, Italian, Dutch

  **Best for:** Live dictation, voice interfaces, and any UI that should show words as they're spoken rather than after the recording ends

  **Model weights:** [mistralai/Voxtral-Mini-4B-Realtime-2602](https://huggingface.co/mistralai/Voxtral-Mini-4B-Realtime-2602)

  **Configuration repo:** [tinfoilsh/confidential-realtime-models](https://github.com/tinfoilsh/confidential-realtime-models)

  <Warning>
    This model is picky. Realtime transcription streams over a WebSocket, which currently can only be verifiably connected to using the [`tinfoil-js`](https://github.com/tinfoilsh/tinfoil-js) SDK, and only in Node, so not in browsers. If this is a problem, [contact us](mailto:contact@tinfoil.sh).
  </Warning>

  <Info>
    **Streaming by architecture:** Causal audio encoder emits text incrementally with a fixed lookahead — transcripts are append-only and never revised. Served over the WebSocket `/v1/realtime` endpoint, including an OpenAI Realtime API-compatible mode. See the realtime section of the [processing audio guide](/guides/processing-audio).
  </Info>
</Card>
