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

# Synthèse vocale

> Générez de l'audio parlé à partir de texte avec les modèles de synthèse vocale Venice, choisissez une voix propre au modèle et enregistrez la réponse binaire de l'endpoint /audio/speech.

La synthèse vocale transforme du texte écrit en audio parlé. Choisissez un modèle TTS, sélectionnez une voix prise en charge par ce modèle, envoyez le texte à `/audio/speech` et enregistrez la réponse audio binaire.

Utilisez ce guide pour la génération de voix standard. Si vous souhaitez créer de la parole à partir d'une voix de référence personnalisée, consultez [Clonage vocal](/guides/media/voice-cloning).

## Utilisation de base

<CodeGroup>
  ```python Python theme={null}
  import os
  from pathlib import Path

  import requests

  response = requests.post(
      "https://api.venice.ai/api/v1/audio/speech",
      headers={
          "Authorization": f"Bearer {os.environ['VENICE_API_KEY']}",
          "Content-Type": "application/json",
      },
      json={
          "model": "tts-kokoro",
          "voice": "af_sky",
          "input": "Hello, welcome to Venice Voice.",
      },
  )

  response.raise_for_status()
  Path("speech.mp3").write_bytes(response.content)
  ```

  ```javascript Node.js theme={null}
  import { writeFile } from "node:fs/promises";

  const response = await fetch("https://api.venice.ai/api/v1/audio/speech", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "tts-kokoro",
      voice: "af_sky",
      input: "Hello, welcome to Venice Voice.",
    }),
  });

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

  await writeFile("speech.mp3", Buffer.from(await response.arrayBuffer()));
  ```

  ```bash cURL theme={null}
  curl https://api.venice.ai/api/v1/audio/speech \
    -H "Authorization: Bearer $VENICE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "tts-kokoro",
      "voice": "af_sky",
      "input": "Hello, welcome to Venice Voice."
    }' \
    --output speech.mp3
  ```
</CodeGroup>

Le corps de la réponse en cas de succès est de l'audio binaire dans le format par défaut du modèle, et non du JSON. `tts-kokoro` produit actuellement du MP3 par défaut.

## Choisir un modèle et une voix

Les voix sont spécifiques au modèle. La valeur `voice` doit être valide pour le `model` que vous choisissez.

Consultez la page [Modèles de synthèse vocale](/models/text-to-speech) pour parcourir les modèles et les voix disponibles. Le sélecteur de voix indique les identifiants exacts à transmettre dans votre requête.

<Note>
  Les identifiants de voix sont sensibles à la casse. Si vous changez de modèle TTS, mettez à jour la valeur `voice` en même temps.
</Note>

## Forme de la requête

| Paramètre         | Type   | Requis | Description                                                                                                                                      |
| ----------------- | ------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `model`           | string | Oui    | Identifiant du modèle de synthèse vocale.                                                                                                        |
| `voice`           | string | Oui    | Identifiant de voix pris en charge par le modèle sélectionné.                                                                                    |
| `input`           | string | Oui    | Texte à synthétiser, jusqu'à 4096 caractères.                                                                                                    |
| `response_format` | string | Non    | Format de sortie demandé : `mp3`, `opus`, `aac`, `flac`, `wav` ou `pcm`. Les formats pris en charge et la valeur par défaut dépendent du modèle. |

## Format de sortie

Vous pouvez omettre `response_format` pour utiliser la valeur par défaut du modèle. Avant de choisir une extension de fichier ou de remplacer le format, interrogez l'API Models pour obtenir les valeurs actuelles `default_format` et `supported_formats` du modèle :

```bash theme={null}
curl "https://api.venice.ai/api/v1/models?type=tts" \
  -H "Authorization: Bearer $VENICE_API_KEY" |
  jq '.data[] | select(.id == "tts-kokoro") | .model_spec | {default_format, supported_formats}'
```

L'en-tête `Content-Type` de la réponse identifie le format audio retourné. Demander un format que le modèle sélectionné ne prend pas en charge renvoie un HTTP `400`.

## Conseils pour la production

* Mettez en cache l'audio généré lorsque le texte source et la voix sont réutilisés.
* Normalisez et relisez le texte avant la synthèse. La ponctuation influence le rythme et l'intonation.
* Stockez la sortie avec l'extension de fichier appropriée au format de réponse du modèle.

## Ressources connexes

* [API Audio Speech](/api-reference/endpoint/audio/speech)
* [Modèles de synthèse vocale](/models/text-to-speech)
* [Guide de clonage vocal](/guides/media/voice-cloning)
