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:
- 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.
- 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,webmoump4.
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.
| Idioma | Frase |
|---|---|
de | Ich bin der Eigentümer dieser Stimme und bin damit einverstanden, dass OpenAI diese Stimme zur Erstellung eines synthetischen Stimmmodells verwendet. |
en | I am the owner of this voice and I consent to OpenAI using this voice to create a synthetic voice model. |
es | Soy el propietario de esta voz y doy mi consentimiento para que OpenAI la utilice para crear un modelo de voz sintética. |
fr | Je 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 को इस आवाज का उपयोग करने की सहमति देता हूं |
id | Saya adalah pemilik suara ini dan saya memberikan persetujuan kepada OpenAI untuk menggunakan suara ini guna membuat model suara sintetis. |
it | Sono il proprietario di questa voce e acconsento che OpenAI la utilizzi per creare un modello di voce sintetica. |
ja | 私はこの音声の所有者であり、OpenAIがこの音声を使用して音声合成 モデルを作成することを承認します。 |
ko | 나는 이 음성의 소유자이며 OpenAI가 이 음성을 사용하여 음성 합성 모델을 생성할 것을 허용합니다. |
nl | Ik ben de eigenaar van deze stem en ik geef OpenAI toestemming om deze stem te gebruiken om een synthetisch stemmodel te maken. |
pl | Jestem właścicielem tego głosu i wyrażam zgodę na wykorzystanie go przez OpenAI w celu utworzenia syntetycznego modelu głosu. |
pt | Eu 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 використовувати цей голос для створення синтетичної голосової моделі. |
vi | Tô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.wavExemplo 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.