For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal

Vozes personalizadas

Crie uma voz personalizada aprovada e use-a para geração de fala e agentes de voz.

As vozes personalizadas permitem criar uma voz única para seu agente ou aplicativo. Essas vozes podem ser usadas na saída de áudio com a API de conversão de texto em fala, a Realtime API ou a API chat completions com saída de áudio.

Para criar uma voz personalizada, você fornecerá uma breve amostra de áudio como referência, que o modelo tentará reproduzir.

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.

Como criar uma voz

Atualmente, as vozes devem ser criadas por meio de uma requisição à API. Consulte a referência da API para ver todas as operações disponíveis.

A criação de uma voz exige duas gravações de áudio separadas:

  1. Gravação de consentimento: Esta gravação registra o consentimento do locutor para criar uma reprodução da sua voz. O locutor deve ler uma das frases de consentimento fornecidas abaixo.
  2. Gravação de amostra: A amostra de áudio que o modelo tentará reproduzir. A voz deve ser a mesma da gravação de consentimento.

Dicas para criar uma voz de alta qualidade

A qualidade da sua voz personalizada depende muito da qualidade da amostra fornecida. Melhorar a qualidade da gravação pode fazer uma grande diferença.

  • Grave em um local silencioso, com o mínimo de eco.
  • Use um microfone XLR profissional.
  • Mantenha uma distância de cerca de 7–8 polegadas do microfone, com um filtro antipop entre você e ele, e preserve essa distância durante a gravação.
  • O modelo copia exatamente o que você fornece: tom, cadência, energia, pausas e hábitos. Por isso, grave exatamente a voz que você deseja. Mantenha a mesma energia, estilo e sotaque durante toda a gravação.
  • Pequenas variações na amostra de áudio podem resultar em diferenças na qualidade da voz gerada. Experimente várias amostras para encontrar a mais adequada.

Requisitos e limitações

  • É possível criar no máximo 20 vozes por organização.
  • As amostras de áudio devem ter no máximo 30 segundos.
  • As amostras de áudio devem ser de um dos seguintes tipos: mpeg, wav, ogg, aac, flac, webm ou mp4.

Consulte o Contrato Complementar de Conversão de Texto em Fala para conhecer os termos de uso adicionais.

Como criar um consentimento de voz

A gravação de áudio de consentimento deve conter apenas uma das frases a seguir. Qualquer alteração no texto resultará em falha.

IdiomaFrase
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使用此声音创建语音合成模型

Em seguida, envie a gravação pela API. Se o envio for bem-sucedido, a API retornará o ID da gravação de consentimento, que você usará como referência depois. O mesmo consentimento pode ser usado para criar várias vozes diferentes, caso o mesmo locutor esteja fazendo várias tentativas.

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"

Como criar uma voz

Em seguida, você criará a voz em si, informando o ID da gravação de consentimento e fornecendo a amostra de voz.

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"

Se a criação for bem-sucedida, a voz aparecerá na aba Áudio.

Como usar uma voz na geração de fala

A geração de fala funcionará normalmente. Especifique o ID da voz no parâmetro voice ao gerar fala ou ao iniciar uma sessão em tempo real.

Exemplo de conversão de texto em fala

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

Exemplo da Realtime API

Para Ruby, substitua voice_123 pelo ID da sua voz personalizada antes de executar o exemplo.

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

Use uma voz personalizada com o GPT-Live

Use uma chave de API com escopo de projeto aprovada tanto para o GPT-Live quanto para a criação de vozes personalizadas. A leitura das frases de consentimento e o uso de uma voz personalizada exigem api.voices.read; a criação de consentimentos e vozes exige api.voices.write e acesso à API de vozes personalizadas. Use o mesmo projeto em todas as requisições e mantenha a chave de API em um servidor confiável.

Prepare as gravações

Liste as frases de consentimento atualmente aceitas antes de gravar:

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

A gravação de consentimento e a amostra de referência devem ser da mesma pessoa. A amostra precisa ter pelo menos cinco segundos de fala efetiva e pelo menos 15 tokens de texto transcrito; o silêncio não conta. Use uma gravação de 10–30 segundos com várias frases completas. Cada envio está limitado a 10 MiB. O serviço extrai a transcrição de referência; não envie tokens de transcrição, não configure um decodificador nem adicione cabeçalhos personalizados à requisição.

Gravadores de navegador podem identificar o áudio como audio/webm;codecs=opus, formato rejeitado pelo endpoint de upload. Ao preparar um upload, use o tipo MIME base compatível audio/webm, preservando os bytes originais do áudio. Use as requisições de criação de consentimento e de voz acima e salve o ID da voz retornado.

Selecione a voz ao criar a sessão

Passe uma voz personalizada como o objeto { "id": "voice_123" }, não como a string "voice_123". Vozes com nome, como "marin", usam strings.

O gpt-live-1 oferece suporte a vozes personalizadas com sotaques do inglês. Para usar um sotaque, também especifique-o em session.instructions, por exemplo, "Speak British English" ou "Speak Irish English." O exemplo abaixo usa inglês britânico; altere a instrução para usar o sotaque desejado na sua voz personalizada.

Inclua a seguinte configuração na sessão inicial:

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

Para WebRTC, o intermediário de sessões confiável coloca essa configuração no campo session do JSON, junto de transport. O endpoint Live exige JSON, não multipart nem SDP bruto. Leia o ID da sessão criada em session.id e a resposta SDP em transport.sdp. Autentique as requisições ao intermediário hospedado com as credenciais do aplicativo; nunca exponha a chave da API da OpenAI ao navegador.

Para WebSockets, coloque a configuração no primeiro evento session.start. Conecte-se sem parâmetros de consulta e aguarde session.started antes de transmitir áudio. Envie áudio com session.input_audio.append. Após enviar session.close, continue recebendo até que session.closed forneça os dados finais de uso.

Trate falhas de acesso e de ciclo de vida

  • A voz de saída não pode ser alterada após o início da sessão Live. Inicie uma nova sessão para usar outra voz.
  • Uma voz excluída ou revogada, um consentimento de outro projeto ou a falta de acesso a vozes personalizadas podem resultar em um erro 404.
  • Áudio malformado, um locutor que não corresponde ao esperado ou uma chave sem escopo de projeto são rejeitados.

Confirme as permissões do seu projeto, os requisitos mínimos de gravação e os limites de upload antes de criar uma voz. Consulte Primeiros passos com o GPT-Live para ver os requisitos de configuração da sessão.