ElevenLabs
ElevenLabs
elevenlabs/text-to-dialogue
Una familia de generación de voz y audio para desarrolladores que abarca la síntesis de voz a partir de texto, la voz conversacional y la generación de efectos de sonido y música
Probar elevenlabs/text-to-dialogue
Entrada
Creaciones
Ver todas las creacionesSalida
audioPrecios
elevenlabs/text-to-dialogue per 1,000 characters
| Precio unitario | $0.125 |
|---|
Descripción general
elevenlabs/text-to-dialogue es una interfaz que sintetiza directamente en voz un texto de diálogo con varios personajes: quien la invoca describe cada frase y su timbre mediante un arreglo de { text, voice }, y el modelo genera la voz correspondiente línea por línea; el total de todas las frases enviadas en una sola solicitud no debe superar los 5000 caracteres. Resulta adecuada para desarrolladores que necesitan producir en una sola petición audio de diálogo entre dos o más personas, por ejemplo, doblaje de microdramas, conversaciones para pódcast, material de ejemplo para asistentes de voz e interpretación dialogada de contenidos interactivos.
Aspectos destacados
- Asignación de timbre por línea y síntesis de diálogos con varios personajes en una sola solicitud: cada frase del arreglo dialogue se vincula por separado a un voice_id, sin necesidad de dividirla en varias síntesis individuales y luego unirlas.
- Cambio de timbre frase a frase con más de 60 voces candidatas: la enumeración voice del esquema ofrece decenas de opciones, de modo que distintos personajes de un mismo diálogo pueden usar timbres diferentes.
- Ajuste global del parámetro de estabilidad: stability admite tres niveles, 0, 0.5 y 1, para equilibrar la expresividad emocional y la consistencia del timbre.
- Detección automática o especificación del idioma: si se deja vacío language_code, se detecta automáticamente; también puede indicarse explícitamente un código ISO de idioma, con cobertura de más de 70 lenguas.
Descripción de capacidades
Síntesis de diálogos con varios personajes: se describen las frases y los timbres mediante un arreglo de diálogo, y una sola llamada devuelve el audio del diálogo con varios personajes, lo que evita la síntesis por segmentos y el ensamblaje manual.
Vinculación de timbre frase a frase: el voice de cada línea puede elegirse de forma independiente, lo que permite asignar timbres distintos a cada personaje y mantener sus rasgos vocales respectivos.
Control de estabilidad e idioma: stability controla la magnitud de las variaciones emocionales de la expresión, y language_code determina el idioma de lectura o se deja a la detección automática, lo que facilita el procesamiento por lotes de materiales de un idioma fijo.
Procesamiento de textos de diálogo largos: todas las frases de una solicitud están limitadas a un total de 5000 caracteres, lo que permite enviar de una vez guiones de diálogo por bloques sin preocuparse por la segmentación interna.
Casos de uso
- Creadores de microdramas y contenido narrativo: guiones de diálogo con varios personajes: se envían las frases por personaje junto con sus timbres y se obtiene un audio de diálogo completo para la interpretación de tramas en microdramas, radioteatros o dramas interactivos.
- Pódcast y contenido de entrevistas: guiones de conversación: se convierte un texto de conversación entre dos personas en una pista de diálogo con timbres distintos, lista para usarse como fragmento de pódcast o cinta de muestra de un programa.
- Equipos de producto y contenido: material de diálogo multilingüe: se especifica el código de idioma para sintetizar audio de diálogo en la lengua correspondiente, destinado al doblaje y la demostración de versiones para mercados extranjeros.
- Desarrolladores: material prototipo de diálogo de voz: se genera rápidamente audio de ejemplo con varios personajes para prototipos como asistentes de voz o robots de atención al cliente, destinado a la validación de flujos y a demostraciones internas.
Limitaciones y recomendaciones de selección
La salida es audio y no genera imágenes ni vídeo; si se necesita una pieza audiovisual, la producción visual debe realizarse por separado. Todas las frases de una solicitud no deben superar en conjunto los 5000 caracteres; los guiones demasiado largos deben dividirse en varias llamadas y ensamblarse. Los timbres solo pueden elegirse de la lista voice que ofrece la interfaz, sin posibilidad de clonar voces nuevas directamente. Si el caso solo implica una narración o una lectura individual, basta con usar la vía de texto a voz para una sola voz, sin necesidad de construir un arreglo de diálogo.
Preguntas frecuentes
Ver todas las preguntas →-
¿Qué es Turbo 2.5?
Modelo de texto a voz de baja latencia de ElevenLabs, adecuado para asistentes de voz, anuncios de notificaciones y doblaje a gran escala.
-
¿Cómo se invoca?
Envíe a POST /v1/tasks los parámetros model (elevenlabs/text-to-speech-turbo-2-5) e input, y luego consulte el resultado con taskId o configure un callback.
-
¿Cómo se factura?
Se factura según el número de caracteres de input.text, por cada 1,000 caracteres; el precio unitario en tiempo real se rige por la sección de precios de esta página.
-
¿previous_text y next_text tienen costo?
No tienen costo. Solo proporcionan contexto para la síntesis por segmentos, de modo que la entonación fluya de forma natural.
Crear una tarea de generación
https://api.hiapi.ai/v1/tasks Encabezados
AuthorizationstringObligatorioClave API de la cuenta. Obligatoria en cada solicitud. Ejemplo: Bearer YOUR_HIAPI_API_KEY. Obtener clave API
Content-TypestringOpcionalEl cuerpo de la solicitud siempre se analiza como JSON; si se envía, solo se acepta application/json (charset opcional) — cualquier otro valor devuelve 415. Ejemplo: application/json.
Idempotency-KeystringOpcionalClave de idempotencia, hasta 255 bytes. Los reintentos con la misma clave de la misma cuenta crean la tarea una sola vez; las repeticiones devuelven el taskId original.
Ante timeouts de red o reintentos automáticos del cliente, la misma clave crea la tarea una sola vez, sin doble cobro (alcance = la cuenta de la clave API). Usa un identificador de negocio único (p. ej. "order-42"); las repeticiones devuelven el taskId original y las claves caducan 24 h después de la primera solicitud. La matriz completa de escenarios está en la introducción de la API asíncrona unificada.
Cuerpo
modelstringObligatorioValor fijo actual: elevenlabs/text-to-dialogue
routestringOpcionalValor fijo actual: default
inputobjectObligatorio
Objeto de parámetros de negocio para elevenlabs/text-to-dialogue y la ruta default; consulta la tabla de parámetros a continuación.
dialoguearrayObligatoriominItems 1
Array de elementos de diálogo; cada elemento del array contiene dos campos, text y voice, que especifican respectivamente la línea de texto y la voz utilizada para esa línea. El número total de caracteres de los text de todos los elementos de diálogo no debe superar los 5000.
Array [ object ]
Elementos del array
textstringObligatoriominLength 1El contenido de texto de esta línea de diálogo. El número total de caracteres de todos los campos text del array de diálogo no debe superar los 5000.
voicestringObligatorioPredeterminado: "EkK5I93UQWFDigLMpZcX"La voz utilizada para esta línea de diálogo; puede ser el nombre de una voz predefinida o un voice_id. Valor predeterminado: EkK5I93UQWFDigLMpZcX.
EkK5I93UQWFDigLMpZcXZ3R5wn05IrDiVCyEkUrKNNl6r8mD7vthiJatiJt1YOq2y2Up4RgXP2HyXjE5B8gJV1IhpuegLxdpXFOE2zRM7PkgwBPiau2jvVXc1SM7GgM6IMuvQlz2BwM35l5f8iK3YPeGga21rQIXMostrar todo (59)
scOwDtmlUjD3prqpp97INOpBlnGInO9m6vDvFkFCBZgkqPqms7Kj9ulSkVznwo6udizrrtpIxWGp2qJkgU0LNdkMOQCOrPrwtbeeDGzg6RaUqxGRTHSBjfgFx70vRnQBMBu4FAYhjJbOSm1seazb4gs7RSlUVw7cP1bg08DkjqiVEzOn76yGqDuRKMlYmrm8trt5QyBnqXpMhyvQqiRxWQs4qSSBTX3LPaxmHKxFdv7VOQHJN2lVS1w4EtoT3dr4eOWOFGY2WhTYpPnrIDTdsKH5kPzsL2i3teMYv0FxEYQ6UgBBYS2sOqTuMpoF3BR0hpp4J3VqNfWAUOO0d1UsnPczCjzI2devNBz1zQrbuYXf8XasLslADfZ2MB4ugs0tAILXbY5DNrJrsM6FDTKMou8ccj1ZaWGBiotdvBKc2FfBKJfcZNyEt1n6DYkrAHD8iwork3YSUBbs56AoDkrOh6qfVPDXZ7PteR40ATw9ArzDf9h3v7t7g6xIsTj2HwM6VR4iXFCwlcMyyd2HUfFzxdCaC4Ta6aDn1KB0hjpdcocrUkmqSq93GQT4X1lKDXsQcixOflHkNRp1BlvT73UL6gyz9yzdeviXkFddZ4Oz8MokpPdl9cQBQq4p6mRkZy2ZzYcjlYFOd3taleS0gkk3nzeAacJi50IvxcyDnMXaruirxsoakN0GWmGNIo04TC0Zp7WVFzhA8zpTlRqVljo9gAlSqKOvF6D8sOsXPPzYpIqttlTYA83688JI8JVbfL6oEdmuxKn5DK2CiCrDUkL56s3C8sCRl7wbwJqPPQ618aTW29mptyocEiNlNiXeDU1pqqOPrYMO4YYIPFl9wE5c4L2eu2Gb6F5Zhi321D3Oq7v1oNT4YXpFCvM1S3JbWEJhoskWLG95yZDEHg6fCZdQjLqjCeNX9CMwmxDxUF5Q2InmaD6riP1btT197c6dACmymtrellq69YZsNwzUSyXhdHd5gvgSOzSfduK4CvEgeVItLK1UvXctxuaRV2Oqesy0r39YPLQjOczyOib8Tsns2HvNFKfGiNjllgqo1U02n4nD6AdIZ9CjF053AeRdCCKzvd23BpJoofzxLruHrtVF6PSyGItzMNHS1wGbFxmAM3Fgw63G1zZJhqfrgApggtO1785R4FsnMJ0RnG71ty4LH3dvNfSdstabilitynumberOpcionalPredeterminado: 0.5Estabilidad de la voz: cuanto menor es el valor, más rica en emociones y variada es la salida; cuanto mayor es el valor, más estable y consistente es la salida. Valor predeterminado: 0.5.
00.51language_codestringOpcionalPredeterminado: ""Código de idioma (formato ISO). Dejarlo vacío indica detección automática del idioma; valor predeterminado: vacío.
afarhyasazbebnMostrar todo (67)
bsbgcacebnyhrcsdanlenetfilfifrglkadeelguhahehihuisidgaitjajvknkkkykolvlnltlbmkmsmlzhmrnenopsfaplptparorusrsdskslsoesswsvtatethtrukurvicycallbackobjectOpcional
Configuración de notificación de estado terminal. Si se omite, no hay callback: consulta la tarea por tu cuenta.
Indica callback.url al crear y HiAPI hará POST a tu servicio en el estado terminal, sin necesidad de sondeo. El cuerpo del callback replica la estructura del detalle de la tarea; firma, reintentos e idempotencia se detallan en la introducción de la API asíncrona unificada.
urlstringObligatorioObligatorio si se incluye callback. Al estado terminal se envía un POST a esta URL; debe ser una URL http(s) válida.
whenstringOpcionalPredeterminado: "final"Actualmente solo se admite final: notifica tanto en success como en fail.
finalstoragestringOpcionalPredeterminado: "temp"Nivel de almacenamiento de artefactos: temp (por defecto, ~7 días) o persistent (largo plazo, facturado por tamaño). Saldo insuficiente o exceso de límite ⇒ degradación silenciosa a temp; el nivel efectivo se muestra en la respuesta del detalle.
temppersistentEjemplos de solicitud
# Envía una tarea asíncrona; devuelve un taskId de inmediato (sin esperar la generación)
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"
} Obtener el detalle de la tarea
https://api.hiapi.ai/v1/tasks/:id Campos de respuesta
taskIdstringObligatorioID de tarea, siempre con prefijo tk-hiapi-.
modelstringObligatorioNombre completo resuelto del modelo. Las tareas enviadas con el parámetro route devuelven base@route (p. ej. gpt-image-2/text-to-image@ext); si no, coincide con el nombre enviado.
routestringOpcionalSolo aparece si se usó el parámetro route explícito; repite el valor enviado.
statusstringObligatorioEstado de la tarea.
queued En cola, sin iniciar.
handling Procesando.
archiving Proceso terminado, preparando artefactos.
success Terminal: completado, artefactos disponibles (se devuelve output).
fail Terminal: error (se devuelve error).
Tras el envío, guíate por status: success y fail son terminales; el resto, no. Sondea cada 1–3 s hasta el estado terminal. Con éxito, descarga los artefactos desde output[].url y transfiérelos antes de expireAt; para retención larga usa storage: "persistent" al crear.
creatednumberObligatorioHora de creación de la tarea (segundos Unix).
completednumberObligatorioSegundos Unix al alcanzar estado terminal; 0 mientras no sea terminal.
outputarrayOpcional
Solo con status == success. Lista de artefactos — siempre un array; una tarea puede devolver varios types a la vez (p. ej. video + first_frame).
Array [ object ]
Elementos del array
urlstringObligatorioURL del artefacto, descargable directamente.
typestringObligatorioValores posibles actuales: video, image, audio, first_frame, last_frame, thumbnail; podrían ampliarse más adelante.
expireAtnumberObligatorioSegundos Unix hasta los que el artefacto es accesible; descárgalo o transfiérelo antes.
errorobjectOpcional
Solo con status == fail.
codestringObligatorioCódigo de error de negocio.
messagestringObligatorioDescripción del error.
Ejemplos de respuesta
Éxito
{
"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
}
]
}
} En proceso (no terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Fallido
{
"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"
}
}
} Artículos
Ver todos los artículos →-
Tutorial
Tutorial de kandinsky-6.0-pro/image-to-video en HiAPI: curl + Python
Realiza una solicitud de imagen a video funcional en HiAPI: desde la carga del primer fotograma hasta el sondeo asíncrono y la descarga final
-
Tutorial
Uso de Kandinsky 6.0 Pro texto a video en HiAPI: tutorial con curl y Python
Demostración práctica centrada en la solicitud: construir la llamada de prompt a clip de video, enviar la solicitud, sondear el estado de finalización y descargar el resultado
-
Tutorial
Cómo usar kling-4.0/text-to-video a través de la API de HiAPI: curl, Python y un ejemplo de solicitud ejecutable
Guía práctica para desarrolladores: prompts cinematográficos, audio sincronizado, sondeo asíncrono y descarga de resultados
-
Comparativa
Recraft v4.1 Flash comparativa horizontal de texto a imagen: guía de selección y migración para desarrolladores
Con un coste de $0.01 por imagen y capacidad pura de texto a imagen, evalúa si encaja en tu pipeline de generación de imágenes
-
Tutorial
Cómo llamar a hailuo-2.3-fast/image-to-video a través de la API de HiAPI: práctica con curl y Python
La primera solicitud ejecutable del nivel rápido y de bajo coste de imagen a vídeo: del ID del modelo a la descarga del MP4
-
Comparativa
hailuo-2.3-fast/image-to-video comparativa horizontal: cómo elegir un modelo de imagen a video y puntos clave para migrar
-
Tutorial
Cómo llamar a kling-4.0/image-to-video en HiAPI: curl, Python y sondeo
-
Tutorial
Cómo llamar a hailuo-2.3/text-to-video mediante la API de HiAPI: curl, Python y ejemplos de solicitud ejecutables
Modelos relacionados
Ver todos los modelos →Mismo tipo
-
Lyria 3.5 Google $0.090 /canción -
MiniMax Music 2.6 MiniMax $0.210 /canción -
ElevenLabs ElevenLabs $0.0029 /segundo -
Mureka 9.5 Mureka $0.322 per request -
MiniMax Music 3 MiniMax $0.0026 /segundo -
Qwen Audio 3.0 TTS Alibaba $0.030 /1.000 caracteres -
Gemini 3.1 Flash TTS Google -- -
Mirelo SFX 2.0 Mirelo AI $0.021 /segundo -
Lyria 3 Pro Google $0.140 /canción -
MiniMax Music 1.5 MiniMax $0.070 /canción



