Saltar a la navegación

Indicaciones de términos clave

Esta guía te muestra cómo usar indicaciones de términos clave con la API de Voz a Texto.

Guía práctica · Da por hecho que has completado la guía de inicio rápido de Voz a Texto.

Resumen

Las indicaciones de términos clave están disponibles con Scribe v2, Scribe v2 Medical (por lotes) y Scribe v2 Realtime, y tienen un coste adicional. Consulta la página de precios de la API para obtener información detallada sobre los precios.

Las indicaciones de términos clave son una función que te permite destacar palabras o frases para orientar al modelo hacia su transcripción. Esto resulta útil para transcribir palabras o frases específicas que no son habituales en el audio, como nombres de productos, nombres u otros términos concretos. Los términos clave son más potentes que las palabras clave sesgadas o los vocabularios personalizados que ofrecen otros modelos, porque se basan en el contexto para decidir si transcribir ese término o no.

Por lotes (Scribe v2 / Scribe v2 Medical)Tiempo real (Scribe v2 Realtime)
Máx. de términos clave100050
Máx. de caracteres por término clave5020

En la transcripción por lotes, cada término clave también puede contener como máximo 5 palabras.

Por ejemplo, si el nombre de tu empresa no es una frase común o tiene una ortografía o pronunciación única, puedes usar términos clave para asegurarte de que el modelo lo transcriba correctamente. Escucha el siguiente audio:

Sin indicaciones de términos clave, el modelo podría transcribir lo anterior así:

I work at eleven labs.

Lo que usa un estilo incorrecto para el nombre de la empresa. Con las indicaciones de términos clave, puedes asegurarte de que el modelo transcriba lo anterior con la ortografía y el estilo correctos:

I work at ElevenLabs.

Contexto

El modelo puede usar el contexto para determinar si debe transcribir un término o no. Al proporcionar el término clave “ElevenLabs”, el audio anterior se transcribe como se espera, pero el modelo seguirá pudiendo transcribir correctamente lo siguiente según el contexto:

Lo que genera la siguiente transcripción:

I've worked at many labs. In fact I've worked at eleven labs.

Transcripción por lotes

Las indicaciones de términos clave se integran en la API de Voz a Texto por lotes pasando el parámetro keyterms al método convert.

import os
from dotenv import load_dotenv
from io import BytesIO
import requests
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
audio_url = (
"https://storage.googleapis.com/eleven-public-cdn/documentation_assets/audio/stt-keyterm-prompting.mp3"
)
response = requests.get(audio_url)
audio_data = BytesIO(response.content)
transcription = elevenlabs.speech_to_text.convert(
file=audio_data,
model_id="scribe_v2", # Model to use
# Keyterms to prompt the model with.
# Up to 1000 keyterms can be provided, with a maximum length of 50 characters each
keyterms=["ElevenLabs"],
)
print(transcription)

Streaming en tiempo real

Las indicaciones de términos clave también están disponibles para la API de WebSocket de Voz a Texto en tiempo real. Pasa el parámetro keyterms al conectarte.

connection = await elevenlabs.speech_to_text.realtime.connect(RealtimeUrlOptions(
model_id="scribe_v2_realtime",
keyterms=["ElevenLabs"],
))

Cuando uses la API de WebSocket directamente, pasa los términos clave como parámetros de consulta:

wss://api.elevenlabs.io/v1/speech-to-text/realtime?model_id=scribe_v2_realtime&keyterms=ElevenLabs&keyterms=AnotherTerm

Siguientes pasos