> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-feat-models-redesign.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Speech-to-Text Models

> Venice speech-to-text models like Whisper Large V3 and ElevenLabs Scribe with multilingual support, timestamps, and per-second pricing.

export const HubMount = ({view, children, ...props}) => {
  const [hub, setHub] = useState(null);
  const [failed, setFailed] = useState(false);
  useEffect(() => {
    let alive = true;
    const w = window;
    if (!w.__veniceModelHub) {
      const urls = w.location.hostname === 'localhost' ? ['http://localhost:3333/data/model-hub.bundle.json', '/data/model-hub.bundle.json'] : ['/data/model-hub.bundle.json'];
      const load = i => fetch(urls[i], {
        cache: 'no-cache'
      }).then(res => {
        if (!res.ok) throw new Error(`bundle ${res.status}`);
        return res.json();
      }).catch(err => i + 1 < urls.length ? load(i + 1) : Promise.reject(err));
      const Frag = <></>.type;
      const h = (type, props, ...kids) => {
        const T = type;
        const {key, ...rest} = props || ({});
        if (!kids.length) return <T key={key} {...rest} />;
        if (kids.length === 1) return <T key={key} {...rest}>{kids[0]}</T>;
        return <T key={key} {...rest}>{kids.map((kid, i) => <Frag key={i}>{kid}</Frag>)}</T>;
      };
      w.__veniceModelHub = load(0).then(bundle => new Function(`return (${bundle.code})`)()({
        h,
        Fragment: Frag,
        useState,
        useEffect,
        useRef,
        useMemo,
        useCallback
      }));
    }
    w.__veniceModelHub.then(instance => {
      if (alive) setHub(instance);
    }).catch(() => {
      w.__veniceModelHub = null;
      if (alive) setFailed(true);
    });
    return () => {
      alive = false;
    };
  }, []);
  const View = hub ? hub[view] : null;
  if (View) return <View {...props}>{children}</View>;
  if (failed) {
    return <div className="vx-mount is-failed">
        <p className="vx-mount-note">The interactive model catalog could not load. The full data is below.</p>
        {children}
      </div>;
  }
  return <div className="vx-mount" aria-busy="true">
      <div className="vx-mount-skeleton" aria-hidden="true"><span /><span /><span /></div>
      <div className="vx-mount-source">{children}</div>
    </div>;
};

<HubMount view="ModelExplorer" modality="audio" task="stt">
  <div id="model-catalog-static">
    Use the `id` value as the `model` parameter in API requests. 5 models currently available.

    | Model | ID | Per audio second | Privacy |
    | - | - | - | - |
    | [ElevenLabs Scribe V2](/models/elevenlabs-scribe-v2) | `elevenlabs/scribe-v2` | \$0.0002 | Anonymized |
    | [Parakeet ASR](/models/parakeet-asr) | `nvidia/parakeet-tdt-0.6b-v3` | \$0.0001 | Private |
    | [Whisper Large V3](/models/whisper-large-v3) | `openai/whisper-large-v3` | \$0.0001 | Private |
    | [Wizper (Whisper v3)](/models/wizper) | `fal-ai/wizper` | \$0.0001 | Private |
    | [xAI Speech to Text v1](/models/xai-speech-to-text-v1) | `stt-xai-v1` | \$0.0000 | Anonymized |
  </div>
</HubMount>

<div className="vx-prose">
  ## Usage

  Speech-to-text models transcribe spoken audio into written text. They are accessed via the [Audio Transcriptions API](/api-reference/endpoint/audio/transcriptions).

  ### Supported audio formats

  `wav`, `wave`, `flac`, `m4a`, `aac`, `mp4`, `mp3`, `ogg`, `oga`, `webm`

  A file is accepted when either its MIME type or its extension is on this list, and it must also pass a magic-byte check on the uploaded bytes. Renaming a file to a supported extension is not sufficient.

  ### Response formats

  | Format | Description |
  | - | - |
  | `json` | Default. Returns `{ "text": "..." }`, plus `duration` and `timestamps` when available. |
  | `text` | Plain transcribed text. |

  ### Timestamps

  Set `timestamps: true` to receive timing data alongside the transcript. The response adds a `timestamps` object whose granularity depends on the model:

  | Model | Granularity |
  | - | - |
  | `elevenlabs/scribe-v2` | `word` |
  | `stt-xai-v1` | `word` |
  | `openai/whisper-large-v3` | `segment` |
  | `fal-ai/wizper` | `segment` |
  | `nvidia/parakeet-tdt-0.6b-v3` | None |

  <Warning>
    `nvidia/parakeet-tdt-0.6b-v3` is the default model, and it accepts `timestamps: true` without returning timings. There is no error and no warning — the response simply contains `text` and nothing else. If you need timings, choose a model from the table above and check that the `timestamps` key is present before reading it.
  </Warning>

  Word entries are `{ "word": "...", "start": 0.0, "end": 0.5 }` and segment entries are `{ "text": "...", "start": 0.0, "end": 3.2 }`, with all times in seconds.

  <Note>
    Pricing is billed per second of input audio. See the [Audio Transcriptions API](/api-reference/endpoint/audio/transcriptions) for request examples and parameter details.
  </Note>
</div>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.