Saltar a la navegación

Transcripción

Descubre cómo convertir audio hablado en texto con ElevenLabs.

Descripción general

La API de Voz a Texto (STT) de ElevenLabs convierte audio hablado en texto con una precisión puntera. Nuestro modelo Scribe v2 se adapta a señales textuales en más de 90 idiomas y múltiples estilos de voz. Para probar una demostración en directo, visita nuestra página de Voz a Texto.

Las empresas que requieran cumplimiento de la HIPAA deben contactar con Ventas de ElevenLabs para firmar un acuerdo de asociado comercial (BAA). Asegúrate de completar este paso antes de continuar con cualquier integración o implementación relacionada con la HIPAA.

Modelos

Ejemplo de respuesta de la API

El siguiente ejemplo muestra la salida de la API de Voz a Texto con el modelo Scribe v2 para un archivo de audio de muestra.

{
"language_code": "en",
"language_probability": 1,
"text": "With a soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditative guides, or adding an intimate feel to your narrative projects.",
"words": [
{
"text": "With",
"start": 0.119,
"end": 0.259,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.239,
"end": 0.299,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "a",
"start": 0.279,
"end": 0.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.339,
"end": 0.499,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "soft",
"start": 0.479,
"end": 1.039,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.019,
"end": 1.2,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "and",
"start": 1.18,
"end": 1.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.339,
"end": 1.44,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "whispery",
"start": 1.419,
"end": 1.979,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.959,
"end": 2.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "American",
"start": 2.159,
"end": 2.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 2.699,
"end": 2.779,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "accent,",
"start": 2.759,
"end": 3.389,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.119,
"end": 4.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "I'm",
"start": 4.159,
"end": 4.459,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.44,
"end": 4.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "the",
"start": 4.5,
"end": 4.599,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.579,
"end": 4.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ideal",
"start": 4.679,
"end": 5.099,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.079,
"end": 5.219,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "choice",
"start": 5.199,
"end": 5.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.699,
"end": 6.099,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "for",
"start": 6.099,
"end": 6.199,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.179,
"end": 6.279,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "creating",
"start": 6.259,
"end": 6.799,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.779,
"end": 6.979,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ASMR",
"start": 6.959,
"end": 7.739,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 7.719,
"end": 7.859,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "content,",
"start": 7.839,
"end": 8.45,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9,
"end": 9.06,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "meditative",
"start": 9.04,
"end": 9.64,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9.619,
"end": 9.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "guides,",
"start": 9.679,
"end": 10.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 10.359,
"end": 10.409,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "or",
"start": 11.319,
"end": 11.439,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.42,
"end": 11.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "adding",
"start": 11.5,
"end": 11.879,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.859,
"end": 12,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "an",
"start": 11.979,
"end": 12.079,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.059,
"end": 12.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "intimate",
"start": 12.179,
"end": 12.579,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.559,
"end": 12.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "feel",
"start": 12.679,
"end": 13.159,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.139,
"end": 13.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "to",
"start": 13.159,
"end": 13.26,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.239,
"end": 13.3,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "your",
"start": 13.299,
"end": 13.399,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.379,
"end": 13.479,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "narrative",
"start": 13.479,
"end": 13.889,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.919,
"end": 13.939,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "projects.",
"start": 13.919,
"end": 14.779,
"type": "word",
"speaker_id": "speaker_0"
}
]
}

La salida se clasifica en tres tipos de categorías:

  • word - Una palabra en el idioma del audio
  • spacing - El espacio entre palabras; no se aplica a idiomas que no usan espacios, como japonés, mandarín, tailandés, lao, birmano y cantonés
  • audio_event - Sonidos no verbales, como risas o aplausos

Concurrencia y prioridad

La concurrencia es el número de solicitudes que se pueden procesar al mismo tiempo.

En Voz a Texto, los archivos de más de 8 minutos se transcriben internamente en paralelo para acelerar el procesamiento. El audio se divide en cuatro segmentos que se transcriben de forma simultánea.

Puedes calcular el límite de concurrencia con el siguiente cálculo:

Concurrency=min⁡(4,round_up(audio_duration_secs480))Concurrency = \min(4, \text{round\_up}(\frac{\text{audio\_duration\_secs}}{480}))

Por ejemplo, un archivo de audio de 15 minutos se transcribirá con una concurrencia de 2, mientras que un archivo de audio de 120 minutos se transcribirá con una concurrencia de 4.

El cálculo anterior solo se aplica a Scribe v2 y Scribe v2 Medical. Para Scribe v2 Realtime, consulta el gráfico de límites de concurrencia.

Funciones avanzadas

El prompting de términos clave y la edición de transcripciones tienen un coste adicional. Consulta la página de precios de la API para obtener información detallada sobre los precios.

Prompting de términos clave

El prompting de términos clave está disponible con Scribe v2, Scribe v2 Medical (por lotes) y Scribe v2 Realtime.

Destaca palabras o frases para orientar al modelo a transcribirlas. Resulta útil para transcribir palabras o frases concretas que no son habituales en el audio, como nombres de productos, nombres u otros términos específicos. Los términos clave son más eficaces que las palabras clave sesgadas o los vocabularios personalizados que ofrecen otros modelos, porque se basan en el contexto para decidir si deben transcribir ese término o no. El procesamiento por lotes admite hasta 1000 términos clave (50 caracteres cada uno), mientras que el tiempo real admite hasta 50 términos clave (20 caracteres cada uno).

Para saber más sobre cómo usar el prompting de términos clave, consulta la documentación sobre prompting de términos clave.

Modo sin transcripción literal

El modo sin transcripción literal está disponible con Scribe v2, Scribe v2 Medical (por lotes) y Scribe v2 Realtime.

Cuando no_verbatim está activado, el modelo elimina muletillas, inicios en falso y disfluencias de la transcripción. Esto genera una salida más limpia, adecuada para subtítulos, resúmenes o cualquier caso de uso en el que la legibilidad sea más importante que recoger cada palabra pronunciada.

Detección de entidades

La detección de entidades está disponible con todos los modelos por lotes y Scribe v2 Realtime.

Los modelos por lotes y Scribe v2 Realtime pueden detectar varias categorías de entidades en la transcripción y proporcionar sus marcas de tiempo exactas. Resulta útil para destacar números de tarjetas de crédito, nombres, afecciones médicas o números de la Seguridad Social estadounidense.

Para ver una lista completa de las entidades compatibles, consulta la documentación sobre detección de entidades.

Edición de transcripciones

La edición de transcripciones es una función experimental disponible con todos los modelos por lotes y Scribe v2 Realtime. Actualmente no está disponible en entornos de residencia de datos.

Envía una instrucción en lenguaje natural con el parámetro transcript_edit y se aplicará a la transcripción finalizada. El texto editado se devuelve en edited_transcript junto con la transcripción original, de modo que las marcas de tiempo y las etiquetas de los hablantes se mantienen intactas. Resulta útil para normalizar cómo se escriben fechas, horas o unidades, aplicar un estilo diferente o reescribir la transcripción en una sola solicitud.

Para saber más, consulta la documentación sobre edición de transcripciones y la guía de edición de transcripciones en tiempo real.

Idiomas compatibles

Scribe v2 es compatible con más de 90 idiomas, incluidos:

Afrikáans (afr), amárico (amh), árabe (ara), armenio (hye), asamés (asm), asturiano (ast), azerbaiyano (aze), bielorruso (bel), bengalí (ben), bosnio (bos), búlgaro (bul), birmano (mya), cantonés (yue), catalán (cat), cebuano (ceb), chichewa (nya), croata (hrv), checo (ces), danés (dan), neerlandés (nld), inglés (eng), estonio (est), filipino (fil), finés (fin), francés (fra), fula (ful), gallego (glg), ganda (lug), georgiano (kat), alemán (deu), griego (ell), guyaratí (guj), hausa (hau), hebreo (heb), hindi (hin), húngaro (hun), islandés (isl), igbo (ibo), indonesio (ind), irlandés (gle), italiano (ita), japonés (jpn), javanés (jav), caboverdiano (kea), canarés (kan), kazajo (kaz), jemer (khm), coreano (kor), kurdo (kur), kirguís (kir), lao (lao), letón (lav), lingala (lin), lituano (lit), luo (luo), luxemburgués (ltz), macedonio (mkd), malayo (msa), malayalam (mal), maltés (mlt), chino mandarín (zho), maorí (mri), maratí (mar), mongol (mon), nepalí (nep), sesoto septentrional (nso), noruego (nor), occitano (oci), odia (ori), pastún (pus), persa (fas), polaco (pol), portugués (por), panyabí (pan), rumano (ron), ruso (rus), serbio (srp), shona (sna), sindhi (snd), cingalés (sin), eslovaco (slk), esloveno (slv), somalí (som), español (spa), suajili (swa), sueco (swe), tamil (tam), tayiko (tgk), telugu (tel), tailandés (tha), turco (tur), ucraniano (ukr), umbundu (umb), urdu (urd), uzbeko (uzb), vietnamita (vie), galés (cym), wólof (wol), xhosa (xho) y zulú (zul).

Desglose de la compatibilidad de idiomas

La tasa de error de palabras (WER) es una métrica clave para evaluar la precisión de los sistemas de transcripción. Mide cuántos errores hay en una transcripción en comparación con una transcripción de referencia. A continuación se muestra el desglose de la WER para cada idioma compatible con Scribe v2.

Bielorruso (bel), bosnio (bos), búlgaro (bul), catalán (cat), croata (hrv), checo (ces), danés (dan), neerlandés (nld), inglés (eng), estonio (est), finés (fin), francés (fra), gallego (glg), alemán (deu), griego (ell), húngaro (hun), islandés (isl), indonesio (ind), italiano (ita), japonés (jpn), canarés (kan), letón (lav), macedonio (mkd), malayo (msa), malabar (mal), noruego (nor), polaco (pol), portugués (por), rumano (ron), ruso (rus), eslovaco (slk), español (spa), sueco (swe), turco (tur), ucraniano (ukr) y vietnamita (vie).

Armenio (hye), azerbaiyano (aze), bengalí (ben), cantonés (yue), filipino (fil), georgiano (kat), guyaratí (guj), hindi (hin), kazajo (kaz), lituano (lit), maltés (mlt), mandarín (cmn), maratí (mar), nepalí (nep), odia (ori), persa (fas), serbio (srp), esloveno (slv), suajili (swa), tamil (tam) y télugu (tel)

Afrikáans (afr), árabe (ara), asamés (asm), asturiano (ast), birmano (mya), hausa (hau), hebreo (heb), javanés (jav), coreano (kor), kirguís (kir), luxemburgués (ltz), maorí (mri), occitano (oci), panyabí (pan), tayiko (tgk), tailandés (tha), uzbeko (uzb) y galés (cym).

Amhárico (amh), ganda (lug), igbo (ibo), irlandés (gle), jemer (khm), kurdo (kur), lao (lao), mongol (mon), sotho del norte (nso), pastún (pus), shona (sna), sindhi (snd), cingalés (sin), somalí (som), urdu (urd), wólof (wol), xhosa (xho), yoruba (yor) y zulú (zul).

Preguntas frecuentes

Sí, la API admite la carga de archivos de audio y vídeo para transcribirlos.

Se admiten archivos de hasta 3 GB. Los límites de duración dependen del modo de transcripción:

  • Modo estándar (use_multi_channel=false): Hasta 10 horas
  • Modo multicanal (use_multi_channel=true): La duración combinada de todos los canales debe ser inferior a 10 horas

La API admite los siguientes formatos de audio y vídeo:

  • audio/aac
  • audio/x-aac
  • audio/x-aiff
  • audio/ogg
  • audio/mpeg
  • audio/mp3
  • audio/mpeg3
  • audio/x-mpeg-3
  • audio/opus
  • audio/wav
  • audio/x-wav
  • audio/webm
  • audio/flac
  • audio/x-flac
  • audio/mp4
  • audio/aiff
  • audio/x-m4a

Los formatos de vídeo compatibles incluyen:

  • video/mp4
  • video/x-msvideo
  • video/x-matroska
  • video/quicktime
  • video/x-ms-wmv
  • video/x-flv
  • video/webm
  • video/mpeg
  • video/3gpp

ElevenLabs amplía constantemente el número de idiomas compatibles con nuestros modelos. Vuelve a consultar esta página con frecuencia para ver las novedades.

Sí, los resultados de transcripciones asíncronas se pueden enviar a los webhooks configurados en los ajustes de webhooks de la interfaz. Descubre más en la guía práctica de webhooks.

Sí, la función multicanal de STT te permite transcribir audio en el que cada canal se procesa de forma independiente y se le asigna un ID de hablante según su número de canal. Esta función admite hasta 5 canales. Descubre más en la guía práctica de transcripción multicanal.

ElevenLabs cobra por voz a texto según la duración del audio enviado para transcripción. La facturación se calcula por hora de audio y las tarifas varían según el plan y el modelo. Consulta la página de precios de la API para obtener información detallada sobre los precios.

El silencio cuenta para la duración facturada. Las transcripciones por lotes y en tiempo real se miden por cada segundo de audio que envíes, incluidas las pausas y los tramos silenciosos, y no hay descuento por silencio.

Datos clave

  • Entrada compatible: Se aceptan archivos de audio y vídeo
  • Tamaño máximo de archivo: 3 GB
  • Duración máxima: 10 horas (modo estándar), 1 hora (modo multicanal)
  • Modo multicanal: Hasta 5 canales; cada uno se procesa de forma independiente con un ID de hablante asignado según el número de canal
  • Webhooks: Los resultados de transcripciones asíncronas se pueden enviar a un webhook; configúralo en los ajustes del espacio de trabajo
  • Formatos de audio compatibles: AAC, AIFF, OGG, MP3, OPUS, WAV, FLAC, M4A, WebM
  • Formatos de vídeo compatibles: MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GPP