> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-mintlify-f533effe.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 et /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

<Tip>
  Vous narrez un contenu plus long que quelques phrases ? [Narrer des articles avec la synthèse vocale](/guides/media/article-narration) couvre la limite de 4096 caractères en entrée, le découpage du texte aux frontières de phrases, l'assemblage des morceaux en un seul fichier audio et la diffusion en streaming pour une lecture interactive.
</Tip>

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