Быстро озвучивает текст готовым голосом на русском и других языках. Цена - 10 ₽ за 1000 символов.
Общая документация Public API · API-ключ можно создать в настройках аккаунта
Qwen3 TTS Flash быстро озвучивает текст одним из 17 готовых голосов. Модель читает по-русски и ещё на 10 языках, а текст на 2000 символов обычно готов меньше чем за минуту.
Типичные задачи: голосовые ответы и уведомления в приложении, озвучка карточек товаров и коротких роликов, реплики для обучающих материалов, быстрые черновики дикторского текста.
Каждый вызов создаёт асинхронную операцию: вы получаете id, а готовый WAV забираете отдельным запросом статуса.
POST /api/v1/operationsAuthorization: Bearer brth_...id и стартовый статус queued.У модели один сценарий: текст и готовый голос. Меняются только голос и язык.
{
"tool": "qwen3-tts-flash",
"input": {
"...": "..."
}
}
tool - slug нейросети, здесь всегда "qwen3-tts-flash".input - параметры конкретного запуска.input, без дополнительного вложенного объекта input.| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
text | string | Да | Текст для озвучки, от 1 до 2000 символов. Модель читает его целиком, поэтому пишите только то, что должно прозвучать. |
voice | enum | Нет | Голос: Cherry (используется, если поле не передано), Ethan, Nofish, Jennifer, Ryan, Katerina, Elias, Jada, Dylan, Sunny, li, Marcus, Roy, Peter, Rocky, Kiki, Eric. Значение li пишется строчными буквами. Все голоса говорят по-русски. |
language_type | enum | Нет | Язык текста: Russian (используется, если поле не передано), Auto (модель определит язык сама), English, Chinese, German, French, Spanish, Italian, Portuguese, Japanese, Korean, Thai. |
Самый частый вариант: голос и явно указанный русский язык.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "qwen3-tts-flash",
"input": {
"voice": "Ethan",
"text": "Добрый день! Ваш заказ собран и уже едет к вам. Курьер позвонит за полчаса до приезда.",
"language_type": "Russian"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'qwen3-tts-flash',
input: {
voice: 'Ethan',
text: 'Добрый день! Ваш заказ собран и уже едет к вам. Курьер позвонит за полчаса до приезда.',
language_type: 'Russian',
},
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'qwen3-tts-flash',
'input': {
'voice': 'Ethan',
'text': 'Добрый день! Ваш заказ собран и уже едет к вам. Курьер позвонит за полчаса до приезда.',
'language_type': 'Russian',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
Тот же запрос для английского текста. С Auto модель сама понимает язык, но для текста на одном языке надёжнее указать его явно.
curl -X POST https://bratuha.ru/api/v1/operations \
-H "Authorization: Bearer brth_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"tool": "qwen3-tts-flash",
"input": {
"voice": "Jennifer",
"text": "Welcome to our store! Today every coffee comes with a free cookie.",
"language_type": "Auto"
}
}'
const response = await fetch('https://bratuha.ru/api/v1/operations', {
method: 'POST',
headers: {
Authorization: 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'qwen3-tts-flash',
input: {
voice: 'Jennifer',
text: 'Welcome to our store! Today every coffee comes with a free cookie.',
language_type: 'Auto',
},
}),
})
const data = await response.json()
import requests
response = requests.post(
'https://bratuha.ru/api/v1/operations',
headers={
'Authorization': 'Bearer brth_ваш_ключ',
'Content-Type': 'application/json',
},
json={
'tool': 'qwen3-tts-flash',
'input': {
'voice': 'Jennifer',
'text': 'Welcome to our store! Today every coffee comes with a free cookie.',
'language_type': 'Auto',
},
},
timeout=30,
)
print(response.status_code)
print(response.json())
{
"id": "op_uuid-123",
"status": "queued",
"tool": "qwen3-tts-flash",
"cost": 10,
"balance_after": 490,
"created_at": "2026-09-24T12:00:00Z"
}
{
"id": "op_uuid-123",
"status": "completed",
"tool": "qwen3-tts-flash",
"cost": 10,
"created_at": "2026-09-24T12:00:00Z",
"completed_at": "2026-09-24T12:00:08Z",
"result": {
"type": "audio",
"urls": [
"https://storage.yandexcloud.net/bratuha.ru.files/user_files/1790255097120-voice.wav"
],
"files": [
{
"url": "https://storage.yandexcloud.net/bratuha.ru.files/user_files/1790255097120-voice.wav",
"name": "result"
}
]
},
"error_message": null
}
{
"id": "op_uuid-123",
"status": "failed",
"tool": "qwen3-tts-flash",
"cost": 10,
"created_at": "2026-09-24T12:00:00Z",
"completed_at": "2026-09-24T12:00:30Z",
"result": null,
"error_message": "По вашему запросу не удалось получить результат. Пожалуйста, измените запрос или входные данные и попробуйте снова."
}
После создания операции сохраните id и проверяйте её статус запросом:
GET /api/v1/operations/{id}
curl -H "Authorization: Bearer brth_ваш_ключ" \
https://bratuha.ru/api/v1/operations/op_uuid-123
const response = await fetch(
'https://bratuha.ru/api/v1/operations/op_uuid-123',
{
headers: {
Authorization: 'Bearer brth_ваш_ключ',
},
}
)
const data = await response.json()
Пока озвучка создаётся, status будет queued или processing. Опрашивайте статус раз в 3-5 секунд.
После успешного завершения result содержит один аудиофайл WAV (моно, 24 кГц, 16 бит):
type всегда равен "audio";urls содержит одну ссылку на WAV;files дублирует ту же ссылку с именем файла.WAV не сжат, поэтому файл заметно больше MP3: минута речи весит около 2,9 МБ. Длительность зависит от длины текста и голоса: 170 символов русского текста звучат примерно 9-16 секунд.
text.text, включая пробелы и знаки препинания.cost. Если операция завершилась с ошибкой, деньги возвращаются на баланс автоматически.POST /api/v1/operations не идемпотентен: каждый повторный запрос создаёт новую операцию и списывает деньги.queued проверяйте статус по id.text, voice и language_type. Другие поля в input не учитываются.language_type. Auto удобен для смешанных текстов, но с явным языком произношение стабильнее.text, будет прочитано вслух.validation_error. Длинный материал разбивайте на части и склеивайте готовые файлы.