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

# Reconnaissance vocale

> Transcrivez des fichiers audio en texte avec les modèles speech-to-text de Venice via /audio/transcriptions : formats de réponse, horodatages de segments.

La reconnaissance vocale transcrit l'audio parlé en texte écrit. Envoyez un fichier audio à `/audio/transcriptions`, choisissez un modèle de transcription et sélectionnez le format de réponse que vous souhaitez recevoir.

Vous travaillez sur l'enregistrement d'une conversation ? [Notes de réunion avec la reconnaissance vocale](/guides/media/meeting-notes) part d'un fichier audio pour aboutir à des décisions et des actions à réaliser qui citent la seconde où elles ont été convenues, en précisant quels modèles renvoient les horodatages de segments et comment gérer une transcription qui ne dit jamais qui parle.

## Utilisation de base

<CodeGroup>
  ```python Python theme={null}
  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={null}
  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={null}
  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>

## Entrées prises en charge

Les formats audio pris en charge sont `wav`, `wave`, `flac`, `m4a`, `aac`, `mp4`, `mp3`, `ogg`, `oga` et `webm`. Un fichier est accepté lorsque son type MIME ou son extension figure dans cette liste, et les octets téléversés doivent également passer une vérification des octets magiques — renommer un fichier avec une extension prise en charge ne suffira pas. Consultez la page [Modèles de reconnaissance vocale](/models/speech-to-text) pour connaître les modèles actuellement pris en charge et les tarifs.

## Formats de réponse

| Format | À utiliser lorsque                                                                                           |
| ------ | ------------------------------------------------------------------------------------------------------------ |
| `json` | Vous souhaitez une réponse structurée : `text`, plus `duration` et `timestamps` lorsqu'ils sont disponibles. |
| `text` | Vous souhaitez du texte brut sans analyse JSON.                                                              |

<Note>
  Ce sont les deux seules valeurs acceptées par `response_format`. Il n'existe pas d'option `srt`, `vtt` ou `verbose_json` — en demander une renvoie un `400`. Pour créer des sous-titres, utilisez `timestamps: true` avec `response_format: json` et générez vous-même le rendu des données temporelles.
</Note>

## Timestamps

Passez `timestamps=true` pour recevoir des données temporelles avec la transcription. La prise en charge est spécifique au modèle, et la granularité diffère :

| Modèle                        | Granularité |
| ----------------------------- | ----------- |
| `elevenlabs/scribe-v2`        | `word`      |
| `stt-xai-v1`                  | `word`      |
| `openai/whisper-large-v3`     | `segment`   |
| `fal-ai/wizper`               | `segment`   |
| `nvidia/parakeet-tdt-0.6b-v3` | Aucune      |

<Warning>
  Le modèle par défaut, `nvidia/parakeet-tdt-0.6b-v3`, accepte `timestamps=true` puis l'ignore — vous obtenez une réponse contenant uniquement `text`, sans erreur ni avertissement. Choisissez un modèle du tableau ci-dessus si vous avez besoin de données temporelles, et vérifiez que la clé `timestamps` existe avant de la lire.
</Warning>

```bash theme={null}
curl https://api.venice.ai/api/v1/audio/transcriptions \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  --form file=@meeting.mp3 \
  --form model=elevenlabs/scribe-v2 \
  --form timestamps=true \
  --form response_format=json
```

```json theme={null}
{
  "text": "The quick brown fox jumps over the lazy dog.",
  "duration": 4.099,
  "timestamps": {
    "word": [
      { "word": "The", "start": 0.0, "end": 0.14 },
      { "word": "quick", "start": 0.14, "end": 0.42 }
    ]
  }
}
```

Les modèles au niveau du segment renvoient à la place un tableau `segment`, où chaque entrée est `{ "text": "...", "start": 0.0, "end": 3.2 }`. Tous les temps sont en secondes.

<Note>
  Aucun modèle de transcription Venice n'effectue de diarisation des locuteurs, il n'y a donc pas de champ `speaker` dans les réponses. Une transcription est un flux de texte unique — les locuteurs ne peuvent être attribués que lorsqu'un nom est prononcé à voix haute.
</Note>

## Conseils pour la production

* Gardez l'audio clair et évitez les locuteurs qui se chevauchent lorsque possible.
* Découpez les enregistrements très longs en fragments plus petits si votre flux de travail nécessite une latence plus faible ou des réessais plus faciles.
* Stockez le chemin audio d'origine, l'identifiant du modèle et le format de réponse avec chaque transcription pour la traçabilité.

## Ressources connexes

* [API Audio Transcriptions](/api-reference/endpoint/audio/transcriptions)
* [Modèles de reconnaissance vocale](/models/speech-to-text)
* [Guide de synthèse vocale](/guides/media/text-to-speech)
