ElevenLabs
ElevenLabs
elevenlabs/text-to-dialogue
Família de geração de voz e áudio voltada para desenvolvedores, abrangendo conversão de texto em fala, voz conversacional, efeitos sonoros e geração de música
Experimentar elevenlabs/text-to-dialogue
Entrada
Criações
Ver todas as criaçõesSaída
audioPreços
elevenlabs/text-to-dialogue per 1,000 characters
| Preço unitário | $0.125 |
|---|
Visão geral do posicionamento
elevenlabs/text-to-dialogue é uma interface que sintetiza diretamente em fala um texto de diálogo com múltiplos personagens: o chamador descreve cada fala e seu timbre por meio de um array de { text, voice }, e o modelo gera as vozes correspondentes linha por linha, com o total de todas as falas de uma única submissão não ultrapassando 5000 caracteres. É adequado para desenvolvedores que precisam produzir áudio de diálogo entre dois ou mais personagens em uma única requisição, como dublagem de curtas, conversas de podcast, materiais de exemplo para assistentes de voz e interpretação de diálogos em conteúdos interativos.
Destaques principais
- Timbre especificado por linha, diálogo com vários personagens sintetizado em uma única requisição — cada fala no array dialogue é vinculada individualmente a um voice_id, sem a necessidade de dividir em várias sínteses individuais e depois concatenar.
- Timbre alterável a cada fala, com mais de 60 timbres candidatos — a enumeração voice do schema oferece dezenas de opções, permitindo que personagens diferentes em um mesmo diálogo usem timbres distintos.
- Parâmetro de estabilidade ajustável de forma global — stability aceita três níveis (0, 0.5 e 1), usado para equilibrar oscilações emocionais e consistência do timbre.
- Idioma com detecção automática ou especificação manual — quando language_code fica vazio, o idioma é detectado automaticamente; também é possível especificar explicitamente o código ISO do idioma, cobrindo mais de 70 línguas.
Descrição das capacidades
Síntese de diálogo com múltiplos personagens: descreve-se as falas e os timbres em um array de diálogo, e uma única chamada gera o áudio do diálogo contendo vários personagens, eliminando a síntese por segmentos e a concatenação manual.
Vinculação de timbre por fala: o voice de cada linha de fala pode ser escolhido de forma independente, ideal para atribuir timbres diferentes a personagens distintos e preservar as características vocais de cada um.
Controle de estabilidade e idioma: stability controla a amplitude da variação emocional na expressão, e language_code define o idioma da leitura ou delega a detecção automática, facilitando o processamento em lote de materiais de um idioma fixo.
Processamento de textos de diálogo longos: o total de todas as falas de uma única requisição é limitado a 5000 caracteres, adequado para submeter roteiros de diálogo em blocos de uma só vez, sem se preocupar com a segmentação interna.
Cenários de aplicação
- Criadores de curtas e conteúdo dramático: roteiros de diálogo com múltiplos personagens — submeta as falas divididas por personagem junto com seus respectivos timbres e obtenha um áudio de diálogo completo, para a interpretação de enredos em curtas, radionovelas ou dramas interativos.
- Conteúdo de podcast e entrevistas: roteiros de conversa — converta textos de conversa entre duas pessoas em faixas de diálogo com timbres diferentes, para uso direto como trechos de podcast ou amostras de programa.
- Equipes de produto e conteúdo: materiais de diálogo multilíngues — especifique o código de idioma para sintetizar áudio de diálogo no idioma correspondente, para dublagem e demonstração de conteúdos em versões internacionais.
- Desenvolvedores: materiais de protótipo de diálogo por voz — gere rapidamente áudios de exemplo com múltiplos personagens para protótipos de assistentes de voz, robôs de atendimento etc., para validação de fluxos e demonstrações internas.
Limitações e recomendações de escolha
A saída é áudio e não gera imagens nem vídeo; quando for necessário um produto final, a produção visual deve ser realizada separadamente. O total de todas as falas de uma única requisição não pode ultrapassar 5000 caracteres, e roteiros muito longos precisam ser divididos em várias chamadas e concatenados pelo próprio usuário. Os timbres só podem ser escolhidos na lista voice fornecida pela interface, sem possibilidade de clonar novos timbres diretamente. Se o cenário envolver apenas uma narração única ou leitura de um único locutor, basta usar a linha de conversão de texto em fala para um único locutor, sem a necessidade de construir um array de diálogo.
Perguntas frequentes
Ver todas as perguntas →-
O que é o Turbo 2.5?
Modelo de conversão de texto em fala de baixa latência da ElevenLabs, ideal para assistentes de voz, anúncios de notificação e dublagem em grande volume.
-
Como chamar?
Envie via POST /v1/tasks o model (elevenlabs/text-to-speech-turbo-2-5) e o input, depois use o taskId para consultar o resultado ou configurar o callback.
-
Como é feita a cobrança?
A cobrança é feita com base no número de caracteres de input.text, a cada 1.000 caracteres; o preço unitário em tempo real está sujeito à seção de preços desta página.
-
previous_text e next_text são cobrados?
Não são cobrados. Eles apenas fornecem contexto para a síntese por segmentos, para que a entonação se conecte naturalmente.
Criar uma tarefa de geração
https://api.hiapi.ai/v1/tasks Cabeçalhos
AuthorizationstringObrigatórioChave de API da conta. Obrigatória em toda requisição. Exemplo: Bearer YOUR_HIAPI_API_KEY. Obter chave de API
Content-TypestringOpcionalO corpo da requisição é sempre interpretado como JSON; se enviado, apenas application/json (charset opcional) é aceito — qualquer outro valor retorna 415. Exemplo: application/json.
Idempotency-KeystringOpcionalChave de idempotência, até 255 bytes. Retries com a mesma chave da mesma conta criam a tarefa apenas uma vez; replays retornam o taskId original.
Em timeouts de rede ou retries automáticos do cliente, a mesma chave cria a tarefa apenas uma vez, sem cobrança duplicada (escopo = a conta da chave de API). Use um identificador de negócio exclusivo (ex.: "order-42"); replays retornam o taskId original e as chaves expiram 24 h após a primeira requisição. A matriz completa de cenários está na introdução da API assíncrona unificada.
Corpo
modelstringObrigatórioValor fixo atual: elevenlabs/text-to-dialogue
routestringOpcionalValor fixo atual: default
inputobjectObrigatório
Objeto de parâmetros de negócio para elevenlabs/text-to-dialogue e a rota default — veja a tabela de parâmetros abaixo.
dialoguearrayObrigatóriominItems 1
array de itens de diálogo; cada elemento do array contém os campos text e voice, que especificam respectivamente a fala da linha e o timbre de voz utilizado. O total de caracteres dos campos text de todos os itens de diálogo não pode exceder 5000.
Array [ object ]
Itens do array
textstringObrigatóriominLength 1O conteúdo de texto da fala desta linha. O total de caracteres de todos os campos text no array de diálogo não pode exceder 5000.
voicestringObrigatórioPadrão: "EkK5I93UQWFDigLMpZcX"O timbre de voz utilizado na fala desta linha; pode ser preenchido com o nome de um timbre predefinido ou com voice_id. Padrão: EkK5I93UQWFDigLMpZcX.
EkK5I93UQWFDigLMpZcXZ3R5wn05IrDiVCyEkUrKNNl6r8mD7vthiJatiJt1YOq2y2Up4RgXP2HyXjE5B8gJV1IhpuegLxdpXFOE2zRM7PkgwBPiau2jvVXc1SM7GgM6IMuvQlz2BwM35l5f8iK3YPeGga21rQIXMostrar tudo (59)
scOwDtmlUjD3prqpp97INOpBlnGInO9m6vDvFkFCBZgkqPqms7Kj9ulSkVznwo6udizrrtpIxWGp2qJkgU0LNdkMOQCOrPrwtbeeDGzg6RaUqxGRTHSBjfgFx70vRnQBMBu4FAYhjJbOSm1seazb4gs7RSlUVw7cP1bg08DkjqiVEzOn76yGqDuRKMlYmrm8trt5QyBnqXpMhyvQqiRxWQs4qSSBTX3LPaxmHKxFdv7VOQHJN2lVS1w4EtoT3dr4eOWOFGY2WhTYpPnrIDTdsKH5kPzsL2i3teMYv0FxEYQ6UgBBYS2sOqTuMpoF3BR0hpp4J3VqNfWAUOO0d1UsnPczCjzI2devNBz1zQrbuYXf8XasLslADfZ2MB4ugs0tAILXbY5DNrJrsM6FDTKMou8ccj1ZaWGBiotdvBKc2FfBKJfcZNyEt1n6DYkrAHD8iwork3YSUBbs56AoDkrOh6qfVPDXZ7PteR40ATw9ArzDf9h3v7t7g6xIsTj2HwM6VR4iXFCwlcMyyd2HUfFzxdCaC4Ta6aDn1KB0hjpdcocrUkmqSq93GQT4X1lKDXsQcixOflHkNRp1BlvT73UL6gyz9yzdeviXkFddZ4Oz8MokpPdl9cQBQq4p6mRkZy2ZzYcjlYFOd3taleS0gkk3nzeAacJi50IvxcyDnMXaruirxsoakN0GWmGNIo04TC0Zp7WVFzhA8zpTlRqVljo9gAlSqKOvF6D8sOsXPPzYpIqttlTYA83688JI8JVbfL6oEdmuxKn5DK2CiCrDUkL56s3C8sCRl7wbwJqPPQ618aTW29mptyocEiNlNiXeDU1pqqOPrYMO4YYIPFl9wE5c4L2eu2Gb6F5Zhi321D3Oq7v1oNT4YXpFCvM1S3JbWEJhoskWLG95yZDEHg6fCZdQjLqjCeNX9CMwmxDxUF5Q2InmaD6riP1btT197c6dACmymtrellq69YZsNwzUSyXhdHd5gvgSOzSfduK4CvEgeVItLK1UvXctxuaRV2Oqesy0r39YPLQjOczyOib8Tsns2HvNFKfGiNjllgqo1U02n4nD6AdIZ9CjF053AeRdCCKzvd23BpJoofzxLruHrtVF6PSyGItzMNHS1wGbFxmAM3Fgw63G1zZJhqfrgApggtO1785R4FsnMJ0RnG71ty4LH3dvNfSdstabilitynumberOpcionalPadrão: 0.5Estabilidade do timbre; quanto menor o valor, mais rica em emoções e mais variada a saída; quanto maior, mais estável e consistente. Padrão: 0.5.
00.51language_codestringOpcionalPadrão: ""Código de idioma (formato ISO). Deixe em branco para detecção automática do idioma; padrão em branco.
afarhyasazbebnMostrar tudo (67)
bsbgcacebnyhrcsdanlenetfilfifrglkadeelguhahehihuisidgaitjajvknkkkykolvlnltlbmkmsmlzhmrnenopsfaplptparorusrsdskslsoesswsvtatethtrukurvicycallbackobjectOpcional
Configuração de notificação de estado terminal. Se omitida, sem callback: consulte a tarefa por conta própria.
Informe callback.url na criação e o HiAPI fará POST no seu serviço no estado terminal, sem polling. O corpo do callback replica a estrutura do detalhe da tarefa; assinatura, retries e idempotência estão descritos na introdução da API assíncrona unificada.
urlstringObrigatórioObrigatória se callback estiver presente. No estado terminal é enviado um POST para esta URL; deve ser uma URL http(s) válida.
whenstringOpcionalPadrão: "final"Atualmente só há suporte a final — notifica tanto em success quanto em fail.
finalstoragestringOpcionalPadrão: "temp"Nível de armazenamento de artefatos: temp (padrão, ~7 dias) ou persistent (longo prazo, cobrado por tamanho). Saldo insuficiente ou limite excedido ⇒ rebaixamento silencioso para temp; o nível efetivo aparece na resposta de detalhes.
temppersistentExemplos de requisição
# Envia uma tarefa assíncrona; retorna um taskId imediatamente (sem esperar a geração)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "elevenlabs/text-to-dialogue",
"input": {
"dialogue": "…",
"stability": 0.5,
"language_code": ""
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "elevenlabs/text-to-dialogue",
input: {
"dialogue": "…",
"stability": 0.5,
"language_code": ""
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "elevenlabs/text-to-dialogue",
"input": {
"dialogue": "…",
"stability": 0.5,
"language_code": ""
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obter detalhes da tarefa
https://api.hiapi.ai/v1/tasks/:id Campos da resposta
taskIdstringObrigatórioID da tarefa, sempre com prefixo tk-hiapi-.
modelstringObrigatórioNome completo resolvido do modelo. Tarefas enviadas com o parâmetro route retornam base@route (ex.: gpt-image-2/text-to-image@ext); caso contrário, igual ao nome enviado.
routestringOpcionalPresente apenas se o parâmetro route explícito foi usado; ecoa o valor enviado.
statusstringObrigatórioEstado da tarefa.
queued Na fila, ainda não iniciada.
handling Em processamento.
archiving Processamento concluído, preparando artefatos.
success Terminal: concluído, artefatos disponíveis (retorna output).
fail Terminal: falha (retorna error).
Após o envio, acompanhe status: success e fail são terminais, os demais não. Faça polling a cada 1–3 s até o estado terminal. Em caso de sucesso, baixe os artefatos em output[].url e transfira antes de expireAt; para retenção longa, use storage: "persistent" na criação.
creatednumberObrigatórioMomento de criação da tarefa (segundos Unix).
completednumberObrigatórioSegundos Unix do estado terminal; 0 enquanto não terminal.
outputarrayOpcional
Presente apenas com status == success. Lista de artefatos — sempre um array; uma tarefa pode retornar vários types ao mesmo tempo (ex.: video + first_frame).
Array [ object ]
Itens do array
urlstringObrigatórioURL do artefato, baixável diretamente.
typestringObrigatórioValores possíveis no momento: video, image, audio, first_frame, last_frame, thumbnail; poderão ser ampliados.
expireAtnumberObrigatórioSegundos Unix de disponibilidade do artefato; baixe ou transfira antes da expiração.
errorobjectOpcional
Presente apenas com status == fail.
codestringObrigatórioCódigo de erro de negócio.
messagestringObrigatórioDescrição do erro.
Exemplos de resposta
Sucesso
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Em processamento (não final)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Falhou
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Artigos
Ver todos os artigos →-
Tutorial
Como chamar kling-4.0/image-to-video na HiAPI: curl, Python e polling
-
Tutorial
Como chamar hailuo-2.3/text-to-video pela API HiAPI: curl, Python e exemplos de requisição executáveis
-
Tutorial
Como usar kling-4.0/text-to-video através da API HiAPI: curl, Python e um exemplo de requisição executável
Guia prático para desenvolvedores: prompts cinematográficos, áudio sincronizado, polling assíncrono e download da saída
-
Tutorial
Como chamar hailuo-2.3-fast/image-to-video pela API HiAPI: curl e Python na prática
A primeira requisição executável do nível rápido e econômico de geração de vídeo a partir de imagem — do ID do modelo ao download do MP4
-
Avaliação comparativa
hailuo-2.3-fast/image-to-video comparação lado a lado: como escolher modelos de imagem para vídeo e pontos de migração
-
Avaliação comparativa
Comparação lado a lado do Recraft v4.1 Flash em text-to-image: guia de seleção e migração para desenvolvedores
Com um custo de $0.01 por imagem e capacidade de text-to-image pura, avalie se ele é adequado para seu pipeline de geração de imagens
-
Tutorial
Usar Kandinsky 6.0 Pro text-to-video na HiAPI: tutorial de curl e Python
Demonstração prática com foco na requisição: montar a chamada de prompt para clipe de vídeo, enviar a requisição, consultar o status de conclusão e baixar o resultado
-
Tutorial
Tutorial de kandinsky-6.0-pro/image-to-video na HiAPI: curl + Python
Faça uma requisição de imagem para vídeo funcional na HiAPI: do upload do primeiro quadro ao polling assíncrono e ao download final
-
Tutorial
recraft-v4.1-flash geração de imagens por texto na prática: 5 cenários de negócio de alto valor e pontos de integração
Partindo de um custo de US$ 0,01 por imagem, planeje como aplicar a geração de imagens em negócios reais
Modelos relacionados
Ver todos os modelos →Mesmo tipo
-
Lyria 3 Pro Google $0.140 /música -
Lyria 3.5 Google $0.090 /música -
ElevenLabs ElevenLabs $0.0029 /segundo -
MiniMax Music 3 MiniMax $0.0026 /segundo -
Mureka 9.5 Mureka $0.322 per request -
Qwen Audio 3.0 TTS Alibaba $0.030 /1.000 caracteres -
Mirelo SFX 2.0 Mirelo AI $0.021 /segundo -
MiniMax Music 1.5 MiniMax $0.070 /música -
Gemini 3.1 Flash TTS Google -- -
MiniMax Music 2.6 MiniMax $0.210 /música



