Skip to Content
ModelosElevenLabs

Familia ElevenLabs

Los modelos de voz de ElevenLabs, dos en total: Eleven v4 para síntesis de voz y Scribe v2 para transcripción de voz. Ambos se invocan a través de los endpoints de audio compatibles con OpenAI.

ID de modelo (cópielos exactamente)
Eleven v4 (síntesis de voz)elevenlabs/eleven_v4POST /v1/audio/speech
Scribe v2 (transcripción de voz)elevenlabs/scribe_v2POST /v1/audio/transcriptions

Los parámetros comunes de los endpoints están en Audio Speech API y Audio Transcriptions API. Los precios actualizados están en la página del modelo : la síntesis de voz se factura por caracteres y la transcripción por duración del audio.

Síntesis de voz con Eleven v4

Clavevoice debe ser un ID de voz, no un nombre de voz; las voces de OpenAI como alloy no son compatibles.
eleven_tts.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) with client.audio.speech.with_streaming_response.create( model="elevenlabs/eleven_v4", voice="21m00Tcm4TlvDq8ikWAM", input="Hola, bienvenido a la síntesis de voz de OfoxAI.", response_format="mp3", ) as resp: resp.stream_to_file("speech.mp3")
ParámetroDescripción
voiceObligatorio. ID de voz de ElevenLabs (20 caracteres), por ejemplo 21m00Tcm4TlvDq8ikWAM. Los ID de voz se encuentran en la biblioteca de voces de ElevenLabs . Si se envía un nombre de voz (como Rachel), se devuelve 404
response_formatmp3 (predeterminado, 44,1 kHz), opus (48 kHz, contenedor Ogg), wav (16 kHz), pcm (16 kHz, 16 bits, mono). aac y flac no son compatibles
language_codeCódigo de idioma, por ejemplo zh o en; si no se indica, se detecta automáticamente
provider_optionsTransmite parámetros propios de ElevenLabs, por ejemplo {"elevenlabs": {"voice_settings": {"stability": 0.3}}}; la definición de los parámetros está en la documentación oficial de ElevenLabs 

En las pruebas, una frase en chino de unos 20 caracteres se devolvió en unos 2 segundos, con un audio generado de unos 4 segundos.

Transcripción de voz con Scribe v2

Además del texto transcrito, Scribe v2 devuelve los tiempos de inicio y fin de cada palabra y puede distinguir entre hablantes.

scribe.py
import json import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) with open("meeting.mp3", "rb") as f: result = client.audio.transcriptions.create( model="elevenlabs/scribe_v2", file=f, extra_body={"provider_options": json.dumps({"elevenlabs": {"diarize": True}})}, ) print(result.text) for w in (result.model_extra or {}).get("words", [])[:10]: print(w.get("speaker"), w["start"], w["end"], w["word"])

Estructura de la respuesta:

CampoDescripción
textTexto transcrito completo
words[]Resultado por palabra, con word, start y end (segundos); con la diarización activada incluye además speaker (por ejemplo speaker_0, speaker_1)
languageIdioma detectado, por ejemplo zho o eng
durationDuración del audio (segundos)
usage{"type": "duration", "seconds": ...}; se factura por duración
  • La diarización de hablantes se activa mediante provider_options: {"elevenlabs": {"diarize": true}}, enviado como cadena JSON en un campo del formulario.
  • response_format admite json y verbose_json, que devuelven el mismo contenido. Si necesita un archivo de subtítulos, puede generarlo a partir de las marcas de tiempo de words.

Errores habituales

HTTPMensaje de error originalCausaSolución
404A voice with voice_id 'Rachel' was not found.En voice se envió un nombre de voz o un ID inexistenteUse un ID de voz
400unsupported ElevenLabs response_format: aacFormato no compatibleUse mp3, opus, wav o pcm
400Unsupported response_format 'srt'. Only 'json' and 'verbose_json' are supported on this gatewayLa transcripción usó text, srt o vttUse json

Más errores en Audio Speech API y Audio Transcriptions API.

Documentación oficial

Preguntas frecuentes

¿Qué valor va en voice de ElevenLabs?

Un ID de voz (20 caracteres), por ejemplo 21m00Tcm4TlvDq8ikWAM, que puede buscar en la biblioteca de voces de ElevenLabs. Si indica un nombre de voz (como Rachel) o la voz alloy de OpenAI, se devuelve 404 voice_id not found.

¿Qué formatos de audio admite Eleven v4?

mp3 (predeterminado), opus, wav y pcm. aac y flac no son compatibles.

¿Scribe v2 puede distinguir entre hablantes?

Sí. Pase {"elevenlabs": {"diarize": true}} mediante provider_options y cada palabra de words en la respuesta incluirá el campo speaker, por ejemplo speaker_0 o speaker_1.

¿Scribe v2 puede devolver directamente subtítulos srt?

No; response_format solo admite json y verbose_json. Puede generar los subtítulos a partir de las marcas de tiempo start y end de words en la respuesta.

¿Cómo se factura la voz de ElevenLabs?

Eleven v4 se factura por número de caracteres de entrada y Scribe v2 por duración del audio; los precios unitarios están en la página del modelo.

Última actualización: