BazaarLinkBazaarLink
Войти
ДокументацияAPI СсылкаSDK СсылкаАгентное использованиеAI Навыки
Содержание

Руководство по синтезу речи (TTS)

Руководство по синтезу речи (TTS)

POST /v1/audio/speech совместим с OpenAI-compatible форматом: отправьте JSON и получите аудиофайл в бинарном виде. Семейство ElevenLabs включает elevenlabs/eleven-v4, eleven-v4-turbo, eleven-v3, eleven-v3-conversational, eleven-multilingual-v2, eleven-flash-v2.5, eleven-flash-v2, eleven-turbo-v2.5, eleven-turbo-v2. Актуальный список: GET /v1/models?output_modalities=speech. GET /v1/models по умолчанию возвращает только текстовые модели; добавьте ?output_modalities=speech (или all), чтобы увидеть список.

POST/v1/audio/speech

Параметры

ПараметрТипОбязателенОписание
modelstringДаID модели речи, например elevenlabs/eleven-flash-v2.5.
inputstringДаТекст для синтеза: до 4 096 символов на запрос (10 000 для elevenlabs/eleven-v4 и eleven-v4-turbo). Более длинный текст разбейте на несколько запросов.
voicestringДаИспользуемый голос; формат зависит от модели. См. правила выбора голоса ниже.
response_formatstringНетmp3 (по умолчанию) или pcm. opus, aac, flac и wav API принимает, но модели ElevenLabs сейчас отклоняют их с 400.
speednumberНетСкорость речи от 0.25 до 4.0. Не каждая модель применяет её.
instructionsstringНетУказания по стилю голоса. Не каждая модель применяет их.
stabilitynumberНетСтабильность голоса, 0–1 (по умолчанию 0,5). Ниже — выразительнее, выше — ровнее. Действует для моделей elevenlabs/*, когда запрос обслуживается нашим прямым голосовым маршрутом; заголовок ответа X-Voice-Settings сообщает applied или ignored.
similarity_boostnumberНетСходство с исходным голосом, 0–1 (по умолчанию 0,75). Eleven v3 не использует.
stylenumberНетУсиление стиля, 0–1 (по умолчанию 0). Значения выше 0 увеличивают задержку. Eleven v4 не использует.
use_speaker_boostbooleanНетУсиливает сходство с исходным говорящим (по умолчанию true); немного увеличивает задержку.
clone_strengthnumberНетСила клона, 0–1 (для большинства голосов рекомендуется 0). Только для ваших собственных профессиональных клонов (voice_…), обученных для Eleven v4.
language_codestringНетДвухбуквенный код языка строчными буквами (ISO 639-1), например ar, ja или en, чтобы задать язык озвучивания. Модели multilingual-v2 не используют.
audio_effectsobjectНетНеобязательный объект аудиоэффектов: filter_preset_id (фильтр, например phone, old_radio), environment_id (реверберация, например small_room, hall), background_noise_id (например cafe), distance (0–1), send_level (уровень реверберации, 0–1) и pan (−1…1). ID — строчные буквы, цифры и подчёркивания; без доплаты. Реверберация или pan не равный 0 дают стерео и несовместимы с выводом pcm.

Семь настроек голоса выше необязательны; если их не указывать, ничего не меняется. Значение вне диапазона даёт 400 и не отправляется и не тарифицируется. Заголовок ответа X-Voice-Settings показывает, были ли использованы ваши настройки: applied — использованы; ignored — ответил резервный маршрут, поэтому настройки не использованы (аудио всё равно создаётся); нет заголовка — вы не передавали настроек голоса. Пример: stability 0 читает выразительнее, 1 — ровнее.

Правила выбора голоса

Модели ElevenLabs (elevenlabs/…) принимают одно из этих имён голосов (регистр не важен): george, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will. Для моделей ElevenLabs voice можно опустить (по умолчанию george). Любое другое значение даёт 400 invalid_voice. Ваш собственный голос (voice_…) описан в разделе «Собственные голоса» ниже.

Имена голосов OpenAI-style, например alloy, echo или nova, работают только с моделями, где они перечислены. Проверьте голоса на странице модели.

Собственные голоса (клонирование) открываются поэтапно: см. раздел «Собственные голоса» ниже (POST /v1/voices). Пока они не включены для вашего аккаунта, используйте одно из 21 готовых имён выше или публичный voice ID.

alloy не работает с моделью ElevenLabs
Если модель ElevenLabs получает голос, который не является voice ID и не входит в поддерживаемые имена (например alloy или Rachel), она возвращает 400 invalid_voice, а сообщение перечисляет допустимые имена. За неудачные запросы плата не взимается.

Встроенные голоса

Укажите в voice одно из имён ниже (строчными буквами). У каждого голоса есть короткий собственный пример, а GET /api/v1/audio/voices возвращает полный список (пол, возрастная группа, акцент, стиль и ссылки на примеры).

?lang= (en, zh-TW, zh-CN; по умолчанию Accept-Language) выбирает только язык description. Ссылки на примеры от него не зависят: preview_urls.en (то же, что preview_url) — английский клип, preview_urls.zh (то же, что preview_url_zh) — китайский.

ГолосОписаниеПрослушать
georgeMale, middle-aged, British accent. Mature and steady, suited to narration and storytelling.
sarahFemale, young adult, American accent. Professional and clear, suited to broadcast-style reading.
adamMale, middle-aged, American accent. Everyday and approachable, suited to short social videos.
aliceFemale, middle-aged, British accent. Professional and informative, suited to explainers and teaching.
bellaFemale, middle-aged, American accent. Professional and informative, suited to explainers and teaching.
billMale, senior, American accent. Crisp and direct, suited to advertising voice-overs.
brianMale, middle-aged, American accent. Polished and refined, suited to social and brand content.
callumMale, middle-aged, American accent. Expressive, suited to characters and animation.
charlieMale, young adult, Australian accent. Energetic and lively, suited to conversation.
chrisMale, middle-aged, American accent. Relaxed and casual, suited to conversation.
danielMale, middle-aged, British accent. Formal and measured, suited to news-style and educational reading.
ericMale, middle-aged, American accent. Polished and warm, suited to conversation.
harryMale, young adult, American accent. Rough and gritty, suited to character voices.
jessicaFemale, young adult, American accent. Bright and cute, suited to conversation.
lauraFemale, young adult, American accent. Playful with attitude, suited to social content.
liamMale, young adult, American accent. Confident and upbeat, suited to social content.
lilyFemale, middle-aged, British accent. Confident and clear, suited to explainers and teaching.
matildaFemale, middle-aged, American accent. Upbeat and friendly, suited to explainers and teaching.
riverNeutral voice, middle-aged, American accent. Calm and even, suited to conversation.
rogerMale, middle-aged, American accent. Polished and confident, suited to conversation.
willMale, young adult, American accent. Laid-back and easygoing, suited to conversation.

Теги эмоций и действий (audio tags)

Пишите теги в квадратных скобках прямо в input, например [laughs], [whispers], [excited], [sighs], [crying], [curious] или [softly]. Теги передаются модели в точности как набраны и задают манеру произнесения следующих слов. Даже если текст не на английском, оставляйте теги на английском.

curl https://api.bazaarlink.ai/v1/audio/speech \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"elevenlabs/eleven-v3","input":"[laughs] That was actually funny. [whispers] Do not tell anyone.","voice":"george","response_format":"mp3"}' \
  --output audio-tags.mp3

Поддерживаются моделью elevenlabs/eleven-v3 и семейством elevenlabs/eleven-v4. Другие модели речи не интерпретируют теги и могут прочитать скобки вслух, поэтому сначала проверьте короткую фразу.

Теги входят в число символов input и тарифицируются так же, как остальной текст.

Форматы вывода

Если response_format опущен, используется mp3 (Content-Type audio/mpeg); pcm (audio/pcm, сырой 16-bit PCM) тоже работает. API принимает opus, aac, flac и wav, но модели ElevenLabs сейчас отклоняют их с 400. Сохраняйте файл по заголовку Content-Type ответа.

Стоимость

Синтез речи оплачивается по числу символов ввода. Цена за символ указана на странице модели в /models и в GET /v1/models как pricing.character. На странице модели она показана за миллион символов.

Примеры

curl https://api.bazaarlink.ai/v1/audio/speech \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"elevenlabs/eleven-flash-v2.5","input":"Hello from BazaarLink.","voice":"george","response_format":"mp3"}' \
  --output speech.mp3

Частые ошибки

СтатусПричина и решение
400Неверный запрос: нет model, input или voice; input длиннее 4 096 символов; speed вне 0.25–4.0; неподдерживаемый response_format; Unknown voice; unknown_model (проверьте ID в /models).
401Ключ API отсутствует или недействителен. Отправьте Authorization: Bearer с ключом BazaarLink.
402Недостаточно средств. Пополните баланс и повторите запрос.
403Административный ключ не может вызывать модели либо учётная запись заблокирована. Используйте обычный ключ API.
429Превышен лимит запросов. Подождите согласно Retry-After и повторите.
502Сервис модели временно недоступен или передача аудио прервалась. Повторите запрос; неудачные запросы не оплачиваются.

Полный справочник параметров: Синтез речи

Синтез речи

Преобразует текст в аудио по ID модели из /v1/models?output_modalities=speech. Оплата — по цене за миллион символов на странице модели. Аудио полностью буферизуется и затем возвращается бинарными данными; пошаговая потоковая выдача не поддерживается. Поля управления маршрутизацией provider, transforms, route, service_tier и preset игнорируются.

POST/v1/audio/speech
curl https://api.bazaarlink.ai/v1/audio/speech \
  -H "$BAZAARLINK_AUTH_HEADER" \
  -H "Content-Type: application/json" \
  -d '{"model":"<speech-model-id>","input":"Hello","voice":"alloy","response_format":"mp3"}' \
  --output speech.mp3

# Voice settings (elevenlabs/* models; the X-Voice-Settings response header says applied or ignored)
curl -D - https://api.bazaarlink.ai/v1/audio/speech \
  -H "$BAZAARLINK_AUTH_HEADER" \
  -H "Content-Type: application/json" \
  -d '{"model":"elevenlabs/eleven-v4","input":"Hello","voice":"george","stability":0.4,"similarity_boost":0.8,"style":0.2,"use_speaker_boost":true,"language_code":"en","audio_effects":{"distance":0.3}}' \
  --output speech.mp3
POST/v1/chat/completions

Передайте audio или input_audio в /v1/chat/completions и выберите аудиомодель. Настроенные ставки входных и выходных токенов единообразно применяются ко всем учтённым текстовым и аудиотокенам.

curl https://api.bazaarlink.ai/v1/chat/completions \
  -H "$BAZAARLINK_AUTH_HEADER" \
  -H "Content-Type: application/json" \
  -d '{"model":"<audio-chat-model-id>","messages":[{"role":"user","content":"Say hi."}],"stream":true,"modalities":["text","audio"],"audio":{"voice":"alloy","format":"pcm16"},"max_tokens":32}'
Поддержка
Здравствуйте! Чем мы можем помочь?
Отправьте сообщение, и мы ответим в ближайшее время.
Руководство по синтезу речи (TTS) | BazaarLink