For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale

Voix personnalisées

Créez une voix personnalisée approuvée et utilisez-la pour la génération de parole et les agents vocaux.

Les voix personnalisées vous permettent de créer une voix unique pour votre agent ou votre application. Vous pouvez les utiliser pour produire des sorties audio avec l’API de synthèse vocale, la Realtime API ou l’API Chat Completions avec sortie audio.

Pour créer une voix personnalisée, fournissez un court échantillon audio de référence que le modèle tentera de reproduire.

Custom voices are limited to eligible customers. Contact our sales team to learn more. Once enabled for your organization, you’ll have access to the Voices tab under Audio.

Création d’une voix

Actuellement, la création de voix doit passer par une requête API. Consultez la référence de l’API pour connaître toutes les opérations disponibles.

La création d’une voix nécessite deux enregistrements audio distincts :

  1. Enregistrement du consentement : dans cet enregistrement, la personne qui prête sa voix donne son consentement à la création d’une reproduction de sa voix. Elle doit lire l’une des phrases de consentement fournies ci-dessous.
  2. Échantillon de référence : il s’agit de l’échantillon audio que le modèle tentera de reproduire fidèlement. La voix doit correspondre à celle de l’enregistrement du consentement.

Conseils pour créer une voix de haute qualité

La qualité de votre voix personnalisée dépend fortement de celle de l’échantillon fourni. Soigner la qualité de l’enregistrement peut nettement améliorer le résultat.

  • Enregistrez dans un endroit calme, avec le moins d’écho possible.
  • Utilisez un microphone XLR professionnel.
  • Placez-vous à environ 7–8 pouces du microphone, avec un filtre anti-pop entre vous et le microphone, et gardez cette distance constante.
  • Le modèle reproduit exactement ce que vous lui fournissez : ton, cadence, énergie, pauses et habitudes. Enregistrez donc précisément la voix souhaitée. Gardez la même énergie, le même style et le même accent tout au long de l’enregistrement.
  • De légères variations dans l’échantillon audio peuvent modifier la qualité de la voix générée. Essayez plusieurs échantillons pour trouver celui qui convient le mieux.

Exigences et limites

  • Vous pouvez créer au maximum 20 voix par organisation.
  • Les échantillons audio ne doivent pas dépasser 30 secondes.
  • Les échantillons audio doivent être dans l’un des formats suivants : mpeg, wav, ogg, aac, flac, webm ou mp4.

Consultez l’accord complémentaire relatif à la synthèse vocale pour connaître les conditions d’utilisation supplémentaires.

Création d’un consentement vocal

L’enregistrement audio du consentement doit contenir uniquement l’une des phrases suivantes. Tout écart par rapport au texte entraînera un échec.

LanguePhrase
deIch bin der Eigentümer dieser Stimme und bin damit einverstanden, dass OpenAI diese Stimme zur Erstellung eines synthetischen Stimmmodells verwendet.
enI am the owner of this voice and I consent to OpenAI using this voice to create a synthetic voice model.
esSoy el propietario de esta voz y doy mi consentimiento para que OpenAI la utilice para crear un modelo de voz sintética.
frJe suis le propriétaire de cette voix et j'autorise OpenAI à utiliser cette voix pour créer un modèle de voix synthétique.
hiमैं इस आवाज का मालिक हूं और मैं सिंथेटिक आवाज मॉडल बनाने के लिए OpenAI को इस आवाज का उपयोग करने की सहमति देता हूं
idSaya adalah pemilik suara ini dan saya memberikan persetujuan kepada OpenAI untuk menggunakan suara ini guna membuat model suara sintetis.
itSono il proprietario di questa voce e acconsento che OpenAI la utilizzi per creare un modello di voce sintetica.
ja私はこの音声の所有者であり、OpenAIがこの音声を使用して音声合成 モデルを作成することを承認します。
ko나는 이 음성의 소유자이며 OpenAI가 이 음성을 사용하여 음성 합성 모델을 생성할 것을 허용합니다.
nlIk ben de eigenaar van deze stem en ik geef OpenAI toestemming om deze stem te gebruiken om een synthetisch stemmodel te maken.
plJestem właścicielem tego głosu i wyrażam zgodę na wykorzystanie go przez OpenAI w celu utworzenia syntetycznego modelu głosu.
ptEu sou o proprietário desta voz e autorizo o OpenAI a usá-la para criar um modelo de voz sintética.
ruЯ являюсь владельцем этого голоса и даю согласие OpenAI на использование этого голоса для создания модели синтетического голоса.
ukЯ є власником цього голосу і даю згоду OpenAI використовувати цей голос для створення синтетичної голосової моделі.
viTôi là chủ sở hữu giọng nói này và tôi đồng ý cho OpenAI sử dụng giọng nói này để tạo mô hình giọng nói tổng hợp.
zh我是此声音的拥有者并授权OpenAI使用此声音创建语音合成模型

Envoyez ensuite l’enregistrement via l’API. Si l’envoi réussit, l’API renvoie l’identifiant de l’enregistrement du consentement, que vous utiliserez par la suite. Le même consentement peut servir à créer plusieurs voix si la personne qui prête sa voix effectue plusieurs essais.

curl https://api.openai.com/v1/audio/voice_consents \
  -X POST \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F "name=test_consent" \
  -F "language=en" \
  -F "recording=@$HOME/tmp/voice_consent/consent_recording.wav;type=audio/x-wav"

Création d’une voix

Créez ensuite la voix en indiquant l’identifiant de l’enregistrement du consentement et en fournissant l’échantillon vocal.

curl https://api.openai.com/v1/audio/voices \
  -X POST \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F "name=test_voice" \
  -F "audio_sample=@$HOME/tmp/voice_consent/audio_sample_recording.wav;type=audio/x-wav" \
  -F "consent=cons_123abc"

Si la création réussit, la voix apparaît dans l’onglet Audio.

Utilisation d’une voix pour la génération de parole

La génération de parole fonctionne comme d’habitude. Indiquez l’identifiant de la voix dans le paramètre voice lors de la génération de parole ou du démarrage d’une session en temps réel.

Exemple de synthèse vocale

curl https://api.openai.com/v1/audio/speech \
  -X POST \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini-tts",
    "voice": {
      "id": "voice_123abc"
    },
    "input": "Maple est le meilleur golden retriever du monde entier.",
    "language": "fr",
    "format": "wav"
  }' \
  --output sample.wav

Exemple avec la Realtime API

Pour Ruby, remplacez voice_123 par l’identifiant de votre voix personnalisée avant d’exécuter l’exemple.

const sessionConfig = JSON.stringify({
  session: {
    type: "realtime",
    model: "gpt-realtime-2",
    audio: {
      output: {
        voice: { id: "voice_123abc" },
      },
    },
  },
});

Utilisez une voix personnalisée avec GPT-Live

Utilisez une clé API limitée à un projet et approuvée pour GPT-Live ainsi que pour la création de voix personnalisées. La consultation des phrases de consentement et l’utilisation d’une voix personnalisée nécessitent api.voices.read ; la création de consentements et de voix nécessite api.voices.write et un accès à l’API des voix personnalisées. Utilisez le même projet pour chaque requête et conservez la clé API sur un serveur de confiance.

Préparez les enregistrements

Récupérez la liste des phrases de consentement actuellement prises en charge avant de procéder à l’enregistrement :

curl https://api.openai.com/v1/audio/consent_phrases \
  -H "Authorization: Bearer $OPENAI_API_KEY"

L’enregistrement du consentement et l’échantillon de référence doivent provenir de la même personne. L’échantillon doit contenir au moins cinq secondes de parole effective et au moins 15 tokens de texte transcrit ; les silences ne comptent pas. Utilisez un enregistrement de 10–30 secondes contenant plusieurs phrases complètes. Chaque envoi est limité à 10 MiB. Le service extrait la transcription de référence ; n’envoyez pas de tokens de transcription, ne configurez pas de décodeur et n’ajoutez pas d’en-têtes de requête personnalisés.

Les outils d’enregistrement du navigateur peuvent attribuer à l’audio le type audio/webm;codecs=opus, que le point de terminaison de téléversement rejette. Pour préparer un téléversement, utilisez le type MIME de base pris en charge audio/webm, tout en conservant les octets audio d’origine. Utilisez les requêtes de création de consentement et de voix ci-dessus, puis enregistrez l’identifiant de voix renvoyé.

Sélectionnez la voix lors de la création de la session

Transmettez une voix personnalisée sous la forme de l’objet { "id": "voice_123" }, et non de la chaîne "voice_123". Les voix nommées, telles que "marin", utilisent des chaînes.

gpt-live-1 prend en charge les voix personnalisées avec des accents anglophones. Pour utiliser un accent, précisez-le également dans session.instructions, par exemple "Speak British English" ou "Speak Irish English." L’exemple ci-dessous utilise l’anglais britannique ; modifiez l’instruction en fonction de l’accent souhaité pour votre voix personnalisée.

Incluez la configuration suivante dans la session initiale :

{
  "model": "gpt-live-1",
  "instructions": "You are a helpful voice assistant. Speak British English.",
  "audio": { "output": { "voice": { "id": "voice_123" } } }
}

Pour WebRTC, le serveur intermédiaire de confiance chargé des sessions place cette configuration dans le champ JSON session, à côté de transport. Le point de terminaison Live exige du JSON, et non du multipart ou du SDP brut. Récupérez l’identifiant de la session créée dans session.id et la réponse SDP dans transport.sdp. Authentifiez les requêtes adressées au serveur intermédiaire hébergé avec les identifiants de l’application ; n’exposez jamais la clé API OpenAI au navigateur.

Pour WebSockets, placez la configuration dans le premier événement session.start. Connectez-vous sans paramètres de requête et attendez session.started avant de diffuser l’audio en continu. Envoyez l’audio avec session.input_audio.append. Après avoir envoyé session.close, continuez à recevoir les données jusqu’à ce que session.closed fournisse les données d’utilisation finales.

Gérez les échecs liés à l’accès et au cycle de vie

  • La voix de sortie ne peut plus être modifiée une fois la session Live démarrée. Démarrez une nouvelle session pour utiliser une autre voix.
  • Une voix supprimée ou révoquée, un consentement provenant d’un autre projet ou l’absence d’accès aux voix personnalisées peuvent se traduire par une erreur 404.
  • Un audio mal formé, un locuteur qui ne correspond pas ou une clé dont la portée n’est pas limitée à un projet entraîne un rejet.

Vérifiez les autorisations de votre projet, les exigences minimales des enregistrements et les limites de téléversement avant de créer une voix. Consultez Bien démarrer avec GPT-Live pour connaître les exigences de configuration des sessions.