API озвучки
Озвучка в kosareva.cloud работает через POST /v1/audio/speech: текст на входе, файл mp3 на выходе. Запрос как у OpenAI, ключ тот же, что у остальных моделей.
Запрос
Текст в речь на /v1/audio/speech, как у OpenAI: model, input и voice. Поле voice необязательно: без него подставится голос по умолчанию, но OpenAI SDK сам требует его указать. В ответ приходит файл mp3.
curl https://api.kosareva.cloud/v1/audio/speech \
-H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"model":"elevenlabs-turbo-2-5","input":"Добрый день! Это озвучка через API.","voice":"EkK5I93UQWFDigLMpZcX"}' \
-o speech.mp3
speech = client.audio.speech.create(
model="elevenlabs-turbo-2-5",
voice="EkK5I93UQWFDigLMpZcX", # id голоса ElevenLabs
input="Добрый день! Это озвучка через API.",
)
speech.write_to_file("speech.mp3")
Голоса
Значение voice у каждого семейства своё.
- ElevenLabs: id голоса из библиотеки ElevenLabs. Имена голосов OpenAI вроде
alloyздесь не подходят. Без поля подставится голос из примера выше. - Speech 2.8: имя голоса MiniMax, например русский
Russian_ReliableMan. Он же подставится, если поля нет или имя не похоже на голос MiniMax. - Grok Voice TTS 1.0: Eve, Ara, Rex, Sal или Leo. Без поля или с другим именем звучит Eve.
Модели и цены
В каталоге 5 моделей озвучки. Длинный текст делите по абзацам.
| Модель | Имя в запросе | Символов за запрос | За 1000 символов | Как считается |
|---|---|---|---|---|
| ElevenLabs Turbo 2.5 | elevenlabs-turbo-2-5 | до 5000 | 14 ₽ | неполная тысяча считается как полная |
| ElevenLabs Multilingual v2 | elevenlabs-multilingual-v2 | до 5000 | 27 ₽ | неполная тысяча считается как полная |
| Speech 2.8 HD | speech-2-8-hd | до 10 000 | 10,8 ₽ | считается по факту |
| Speech 2.8 Turbo | speech-2-8-turbo | до 10 000 | 6,48 ₽ | считается по факту |
| Grok Voice TTS 1.0 | grok-voice-tts-1-0 | до 15 000 | 1,62 ₽ | считается по факту |
Формат ответа один, mp3. Запрос, который закончился ошибкой, не списывается.