ElevenLabs можно использовать не только через сайт. Почти все основные функции доступны через API: озвучка текста, распознавание речи, Voice Changer, Sound Effects, Music и голосовые агенты.
Для подключения нужен API-ключ. Ниже разберём, где его создать, как ограничить доступ и как сделать первый реальный запрос к Text to Speech, чтобы на выходе получить MP3-файл.
Что такое ElevenLabs API
API позволяет вашему сайту, приложению или скрипту отправлять запросы в ElevenLabs автоматически.
Например, можно:
- озвучивать новые статьи без ручного входа в интерфейс;
- делать голос для приложения;
- расшифровывать загруженные аудиофайлы;
- генерировать звуковые эффекты;
- создавать голосового бота;
- встраивать генерацию музыки в сервис.
Где взять API-ключ
Войдите в ElevenLabs и откройте настройки API Keys.
Создайте новый ключ и сразу задайте ограничения, если они нужны.
ElevenLabs позволяет ограничить ключ тремя способами:
- по доступным API-эндпоинтам;
- по максимальному расходу кредитов;
- по IP-адресам.
Это полезно, если ключ используется только для одной функции. Например, приложению для озвучки совсем необязательно давать доступ к управлению другими продуктами аккаунта.
Почему API-ключ нельзя вставлять в код сайта
API-ключ — секрет. Его нельзя оставлять в JavaScript, HTML или мобильном приложении так, чтобы пользователь мог увидеть значение.
Правильнее хранить ключ:
- в переменной окружения;
- в серверном хранилище секретов;
- в защищённых настройках хостинга;
- в .env-файле, который не попадает в публичный репозиторий.
Запрос к ElevenLabs должен идти с вашего сервера, а не напрямую из браузера пользователя. Для клиентских сценариев ElevenLabs также поддерживает одноразовые токены для отдельных API-функций, но постоянный API-ключ всё равно не должен попадать в открытый код.
Как API авторизует запросы
ElevenLabs использует заголовок xi-api-key.
Схематично запрос выглядит так:
xi-api-key: YOUR_ELEVENLABS_API_KEY
Без ключа API не сможет связать запрос с вашим аккаунтом и проверить доступный лимит.
Как подключить Text to Speech: рабочий пример
Для озвучки нужны три вещи: API-ключ, voice_id выбранного голоса и текст.
У синхронного Text to Speech используется адрес вида:
https://api.elevenlabs.io/v1/text-to-speech/VOICE_ID
Минимальный запрос через cURL:
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/JBFqnCBsd6RMkjVDRZzb?output_format=mp3_44100_128" \
-H "xi-api-key: YOUR_ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Привет! Это тест озвучки через ElevenLabs API.",
"model_id": "eleven_multilingual_v2"
}' \
--output speech.mp3
Если ключ и voice_id действительны, в текущей папке появится файл speech.mp3. Это уже полноценная проверка подключения: запрос отправлен на сервер ElevenLabs, модель сгенерировала речь, а ответ сохранён как аудио.
JBFqnCBsd6RMkjVDRZzb в примере — идентификатор голоса из примера официальной документации. Для своего проекта лучше подставить voice_id выбранного вами голоса.
Где взять voice_id
У каждого голоса в ElevenLabs есть собственный идентификатор. Его можно получить из Voice Library или через API списка голосов.
Если запрос возвращает ошибку, хотя ключ работает, первым делом проверьте именно voice_id: удалённый, недоступный или ошибочно скопированный идентификатор — частая причина неудачного запроса.
Пример на Python
Через официальный Python SDK тот же сценарий можно собрать без ручной работы с HTTP-заголовками:
import os
from elevenlabs.client import ElevenLabs
client = ElevenLabs(
api_key=os.environ["ELEVENLABS_API_KEY"]
)
audio = client.text_to_speech.convert(
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_multilingual_v2",
text="Привет! Это тест ElevenLabs API."
)
with open("speech.mp3", "wb") as f:
for chunk in audio:
f.write(chunk)
Ключ здесь берётся из переменной окружения, а не хранится прямо в файле программы.
Что проверить, если запрос не работает
Если вместо MP3 приходит ошибка, полезно идти по короткому чек-листу:
- 401 — в первую очередь проверить API-ключ и заголовок xi-api-key;
- 403 — проверить ограничения ключа, особенно IP allowlist и разрешённые функции;
- 422 — проверить тело запроса, model_id, voice_id и обязательные параметры;
- 429 — вы упёрлись в лимит, rate limit или доступную квоту;
- если запрос проходит, но файл не открывается — убедитесь, что бинарный ответ сохраняется как аудио, а не выводится как обычный текст.
Для первого теста лучше использовать одну короткую фразу. Так проще отделить проблему подключения от расхода кредитов и длинной генерации.
Можно ли подключить русскую озвучку
Да. Для русского языка подходят мультиязычные модели ElevenLabs.
Принцип тот же, что и в веб-интерфейсе: передаёте русский текст и выбираете голос, который хорошо работает с русской речью. Отдельно мы разобрали настройку русской озвучки, пауз, эмоций и произношения.
Speech to Text через API
Для обратной задачи используется Scribe. Вы отправляете аудио или видео, а в ответ получаете транскрипт.
Scribe поддерживает русский язык, таймкоды и разделение спикеров, поэтому его можно встроить в сервис расшифровки встреч, интервью или подкастов.
Sound Effects через API
В Sound Effects API достаточно передать описание нужного звука.
Например, приложение может автоматически создавать:
- звуки интерфейса;
- игровые эффекты;
- фоновые атмосферы;
- короткие звуковые вставки.
Можно ли использовать Eleven Music через API
Да. Music API доступен на платных подписках. Через API можно работать с Music v2 и Music v2.5, использовать обычный prompt или отдельный Composition Plan для сложной структуры.
Как ограничить расходы
У API-ключа можно установить собственную квоту кредитов.
Это одна из самых полезных настроек для тестового проекта. Даже если в коде появится ошибка и приложение начнёт отправлять запросы бесконечно, ограниченный ключ не сможет потратить весь месячный баланс.
Для разных приложений лучше создавать отдельные ключи с собственными лимитами и разрешениями.
Что делать, если ключ случайно попал в открытый доступ
Такой ключ нужно считать скомпрометированным.
Не стоит просто удалить его из GitHub и продолжить пользоваться тем же значением. Лучше сразу отозвать ключ в ElevenLabs и создать новый.
После этого проверьте историю использования и убедитесь, что не появилось незнакомых запросов.
Нужен ли платный тариф
Доступность конкретных API-функций и лимиты зависят от продукта и тарифа. Например, API для Eleven Music доступен на платных планах.
Если API нужен для реального приложения, имеет смысл заранее оценить объём запросов и месячный запас кредитов.
ElevenLabs API и ElevenAgents
Если ваша задача — не просто воспроизводить голос, а вести разговор с пользователем, стоит посмотреть ElevenAgents.
Там уже есть управление диалогом, голос, база знаний, инструменты, аналитика и интеграция с вебом и телефонией.
Итог
Проверить ElevenLabs API проще всего на одном коротком TTS-запросе. Создайте отдельный ключ с небольшим лимитом, сохраните его в переменной окружения, подставьте voice_id и убедитесь, что на выходе действительно получается MP3.
После такого минимального теста уже можно подключать Scribe, Sound Effects, Music или полноценного голосового агента.
Проверено по актуальной документации ElevenLabs 23 сентября 2026 года.
