Usa tu propia transcripción

Crea un proyecto de doblaje a partir de tu propia transcripción y proporciona tus propias traducciones.

Guía práctica · Da por hecho que sabes crear proyectos de doblaje, como se muestra en la guía de inicio rápido de Doblaje.

Proporcionar tu propia transcripción y traducciones solo está disponible para espacios de trabajo Enterprise. Ponte en contacto con ventas para obtener acceso.

De forma predeterminada, la API de Doblaje transcribe tu contenido multimedia de origen y traduce automáticamente la transcripción a cada idioma de destino. Si ya tienes una transcripción precisa —subtítulos, un guion o texto traducido profesionalmente—, puedes proporcionarla en su lugar. Esta guía explica el formato del archivo de transcripción, cómo crear un proyecto a partir de una transcripción y cómo proporcionar tus propias traducciones al añadir un idioma.

Formato del archivo de transcripción

Una transcripción es un archivo JSON con un único array segments de nivel superior. Cada segmento es una intervención: el texto hablado, cuándo empieza y termina y, opcionalmente, quién lo dice.

transcript.json
{
"segments": [
{
"external_id": "line_0",
"speaker_id": "speaker_0",
"start_s": 0.0,
"end_s": 14.5,
"text": "With my soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditation guides, or adding an intimate feel to your narrative projects."
}
]
}
CampoObligatorioDescripción
textSíEl texto hablado durante el segmento.
start_sSíHora de inicio del segmento, en segundos.
end_sSíHora de finalización del segmento, en segundos.
speaker_idNoIdentificador que agrupa los segmentos hablados por la misma persona, para que cada persona se doble con una voz coherente. Los segmentos que lo omitan comparten una sola persona predeterminada.
external_idNoTu propio identificador para el segmento, de un máximo de 128 caracteres y único dentro de la transcripción. Se utiliza como clave para las traducciones y se devuelve en cada lectura de la transcripción.
translationNoTexto traducido del segmento, utilizado para inicializar el idioma de destino creado mediante target_language. Si algún segmento incluye uno, deben incluirlo todos.

Reglas de los segmentos

La transcripción se valida al crear el proyecto:

  • Los segmentos deben estar ordenados por start_s.
  • Un segmento debe durar entre 0,1 y 25 segundos, y end_s debe ser mayor que start_s.
  • Los segmentos con el mismo speaker_id no deben solaparse, aunque pueden coincidir en un punto final. Los segmentos de personas distintas pueden solaparse para representar habla simultánea.
  • Una transcripción puede contener como máximo 20.000 segmentos y el archivo puede tener un tamaño máximo de 4 MiB.

Es preferible usar segmentos cortos en lugar de largos: divide las frases donde haya una pausa de un segundo o más. Los límites de los segmentos determinan cómo se sincroniza el audio doblado con el original, por lo que una transcripción con pausas naturales y precisas genera un doblaje mejor sincronizado.

Crea un proyecto a partir de tu transcripción

Pasa el archivo de transcripción al crear el proyecto. source_language es obligatorio al proporcionar una transcripción, ya que el contenido multimedia de origen no se transcribe automáticamente. Los idiomas se especifican como etiquetas BCP-47, por ejemplo, es o fr-CA. Consulta los idiomas y dialectos compatibles para ver todos los valores aceptados.

import os
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))
with open("transcript.json", "rb") as transcript:
project = elevenlabs.dubbing.project.create(
source_url="https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3",
source_language="en",
transcript=transcript,
)
print(project.project_id)

El proyecto debe seguir procesando el contenido multimedia de origen antes de poder doblarse, así que consulta su estado hasta que sea ready, como se muestra en la guía de inicio rápido. Tus segmentos se utilizan tal cual; no se ejecuta ninguna transcripción automática.

Proporciona tus propias traducciones

Al añadir un idioma de destino, pasa un mapa translations para usar tus propias traducciones en lugar de la traducción automática. El mapa usa como clave el external_id de cada segmento de origen o su id de segmento interno si no proporcionaste uno, y debe cubrir cada segmento de origen exactamente una vez.

project_id = "proj_1601kwkyxp0hfzvtmyxwqxx6mcy3"
language = elevenlabs.dubbing.project.language.create(
project_id,
target_language="fr",
translations={
"line_0": "Avec mon accent américain doux et murmuré, je suis le choix idéal pour créer du contenu ASMR, des guides de méditation, ou pour apporter une touche d'intimité à vos projets narratifs.",
},
)

Cada idioma de destino requiere una llamada de creación, así que repite esta solicitud para cada idioma al que quieras doblar. Un mapa translations puede contener como máximo 20.000 entradas que sumen un máximo de 4 MiB de texto.

Si tus segmentos no tienen external_id, lee la transcripción de origen para obtener el id interno de cada segmento y úsalo como clave:

transcript = elevenlabs.dubbing.project.transcript.get(project_id)
for segment in transcript.segments:
print(segment.id, segment.text)

Inicializa traducciones al crear el proyecto

Para un único idioma de destino, puedes omitir el mapa translations independiente incluyendo una translation en cada segmento del archivo de transcripción y pasando target_language al crear el proyecto. El idioma de destino se crea en cola con tus traducciones y empieza a generarse cuando el proyecto está listo.

transcript.json
{
"segments": [
{
"external_id": "line_0",
"speaker_id": "speaker_0",
"start_s": 0.0,
"end_s": 14.5,
"text": "With my soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditation guides, or adding an intimate feel to your narrative projects.",
"translation": "Avec mon accent américain doux et murmuré, je suis le choix idéal pour créer du contenu ASMR, des guides de méditation, ou pour apporter une touche d'intimité à vos projets narratifs."
}
]
}

Consideraciones sobre la calidad

La calidad del doblaje depende de la transcripción y las traducciones en las que se basa. Los tiempos y el texto de los segmentos se usan directamente para sincronizar y dar voz a la interpretación doblada, por lo que los tiempos o textos imprecisos empeoran el resultado. Las traducciones se interpretan para ajustarse a la duración de su segmento: una traducción mucho más larga o corta que el original afecta al ritmo del habla doblada, así que procura que las traducciones tengan una duración hablada similar.

Siguientes pasos