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

# Speech-to-Text

> Transkribiere Audiodateien mit Venice-Speech-to-Text-Modellen über den OpenAI-kompatiblen /audio/transcriptions-Endpunkt.

Speech-to-Text transkribiert gesprochene Audioaufnahmen in geschriebenen Text. Sende eine Audiodatei an `/audio/transcriptions`, wähle ein Transkriptionsmodell und lege das gewünschte Antwortformat fest.

## Grundlegende Nutzung

<CodeGroup>
  ```python Python theme={"system"}
  import os

  import requests

  with open("meeting.mp3", "rb") as audio:
      response = requests.post(
          "https://api.venice.ai/api/v1/audio/transcriptions",
          headers={"Authorization": f"Bearer {os.environ['VENICE_API_KEY']}"},
          files={"file": audio},
          data={
              "model": "nvidia/parakeet-tdt-0.6b-v3",
              "response_format": "json",
          },
      )

  response.raise_for_status()
  print(response.json()["text"])
  ```

  ```javascript Node.js theme={"system"}
  import { createReadStream } from "node:fs";
  import FormData from "form-data";

  const form = new FormData();
  form.append("file", createReadStream("meeting.mp3"));
  form.append("model", "nvidia/parakeet-tdt-0.6b-v3");
  form.append("response_format", "json");

  const response = await fetch("https://api.venice.ai/api/v1/audio/transcriptions", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
      ...form.getHeaders(),
    },
    body: form,
  });

  if (!response.ok) {
    throw new Error(await response.text());
  }

  const transcript = await response.json();
  console.log(transcript.text);
  ```

  ```bash cURL theme={"system"}
  curl https://api.venice.ai/api/v1/audio/transcriptions \
    -H "Authorization: Bearer $VENICE_API_KEY" \
    --form file=@meeting.mp3 \
    --form model=nvidia/parakeet-tdt-0.6b-v3 \
    --form response_format=json
  ```
</CodeGroup>

## Unterstützte Eingaben

Gängige Audioformate sind `mp3`, `mp4`, `mpeg`, `mpga`, `m4a`, `wav`, `webm`, `flac` und `ogg`. Aktuelle Modellunterstützung und Preise findest du auf der Seite [Speech-to-Text-Modelle](/models/speech-to-text).

## Antwortformate

| Format         | Verwendung                                                           |
| -------------- | -------------------------------------------------------------------- |
| `json`         | Wenn du eine einfache `{ "text": "..." }`-Antwort möchtest.          |
| `text`         | Wenn du reinen Text ohne JSON-Parsing möchtest.                      |
| `srt`          | Wenn du SubRip-Untertitel benötigst.                                 |
| `vtt`          | Wenn du WebVTT-Untertitel benötigst.                                 |
| `verbose_json` | Wenn du umfangreichere Zeitstempel- und Segment-Metadaten benötigst. |

<Tip>
  Verwende Untertitelformate, wenn das Transkript mit einer Medienwiedergabe kombiniert wird. Verwende `json` oder `text`, wenn das Transkript in Zusammenfassungen, Suche oder nachgelagerte Chat-Prompts einfließt.
</Tip>

## Tipps für den Produktiveinsatz

* Halte das Audio klar und vermeide nach Möglichkeit sich überlappende Sprecher.
* Teile sehr lange Aufnahmen in kleinere Chunks auf, wenn dein Workflow geringere Latenz oder einfachere Wiederholungen benötigt.
* Speichere den ursprünglichen Audiopfad, die Modell-ID und das Antwortformat mit jedem Transkript, um die Nachvollziehbarkeit zu gewährleisten.

## Verwandte Ressourcen

* [Audio-Transcriptions-API](/api-reference/endpoint/audio/transcriptions)
* [Speech-to-Text-Modelle](/models/speech-to-text)
* [Anleitung: Text-to-Speech](/guides/media/text-to-speech)
