Skip to Content
МоделиElevenLabs

Семейство ElevenLabs

Речевые модели ElevenLabs — всего две: Eleven v4 для синтеза речи и Scribe v2 для транскрибации. Обе вызываются через OpenAI-совместимые аудиоэндпоинты.

ID моделей (копируйте без изменений)
Eleven v4 (синтез речи)elevenlabs/eleven_v4POST /v1/audio/speech
Scribe v2 (транскрибация)elevenlabs/scribe_v2POST /v1/audio/transcriptions

Общие параметры эндпоинтов описаны в разделах Audio Speech API и Audio Transcriptions API. Актуальные цены см. на странице модели : синтез речи оплачивается по числу символов, транскрибация — по длительности аудио.

Синтез речи Eleven v4

КраткоВ voice передаётся ID голоса, а не его название; голоса OpenAI вроде alloy не поддерживаются.
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="Здравствуйте! Добро пожаловать в синтез речи OfoxAI.", response_format="mp3", ) as resp: resp.stream_to_file("speech.mp3")
ПараметрОписание
voiceОбязательный. ID голоса ElevenLabs (20 символов), например 21m00Tcm4TlvDq8ikWAM. ID голоса можно найти в библиотеке голосов ElevenLabs . Название голоса (например, Rachel) возвращает 404
response_formatmp3 (по умолчанию, 44,1 кГц), opus (48 кГц, контейнер Ogg), wav (16 кГц), pcm (16 кГц, 16 бит, моно). aac и flac не поддерживаются
language_codeКод языка, например zh, en; если не передан, определяется автоматически
provider_optionsПроброс собственных параметров ElevenLabs, например {"elevenlabs": {"voice_settings": {"stability": 0.3}}}; определения параметров — в официальной документации ElevenLabs 

В наших тестах фраза на китайском длиной около 20 иероглифов возвращалась примерно за 2 секунды, а длительность сгенерированного аудио составляла около 4 секунд.

Транскрибация Scribe v2

Помимо текста транскрипции, Scribe v2 возвращает время начала и конца каждого слова и умеет различать дикторов.

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"])

Структура ответа:

ПолеОписание
textПолный текст транскрипции
words[]Пословные результаты с word, start, end (в секундах); при включённом разделении дикторов дополнительно speaker (например, speaker_0, speaker_1)
languageРаспознанный язык, например zho, eng
durationДлительность аудио (в секундах)
usage{"type": "duration", "seconds": ...}, оплата по длительности
  • Разделение дикторов включается через provider_options: {"elevenlabs": {"diarize": true}} передаётся JSON-строкой в поле формы.
  • response_format поддерживает json и verbose_json, оба возвращают одинаковое содержимое. Если нужен файл субтитров, сформируйте его самостоятельно по временным меткам из words.

Распространённые ошибки

HTTPТекст ошибкиПричинаРешение
404A voice with voice_id 'Rachel' was not found.В voice передано название голоса или несуществующий IDИспользуйте ID голоса
400unsupported ElevenLabs response_format: aacФормат не поддерживаетсяИспользуйте mp3, opus, wav или pcm
400Unsupported response_format 'srt'. Only 'json' and 'verbose_json' are supported on this gatewayДля транскрибации указан text, srt или vttИспользуйте json

Другие ошибки — в разделах Audio Speech API и Audio Transcriptions API.

Официальная документация

Часто задаваемые вопросы

Что указывать в voice для ElevenLabs?

ID голоса (20 символов), например 21m00Tcm4TlvDq8ikWAM; его можно найти в библиотеке голосов ElevenLabs. Название голоса (например, Rachel) или голос OpenAI alloy возвращают 404 voice_id not found.

Какие аудиоформаты поддерживает Eleven v4?

mp3 (по умолчанию), opus, wav, pcm. aac и flac не поддерживаются.

Умеет ли Scribe v2 различать дикторов?

Да. Передайте через provider_options значение {"elevenlabs": {"diarize": true}} — каждое слово в words ответа получит поле speaker, например speaker_0, speaker_1.

Может ли Scribe v2 сразу выдавать субтитры srt?

Нет, response_format поддерживает только json и verbose_json. Субтитры можно сформировать самостоятельно по временным меткам start и end из words в ответе.

Как тарифицируется речь ElevenLabs?

Eleven v4 оплачивается по числу входных символов, Scribe v2 — по длительности аудио; цены см. на странице модели.

Обновлено