Skip to content

Быстрый старт ​

Начните работу с GenVoice API за 2 минуты.

Что потребуется ​

1. Проверьте баланс ​

Формат ответа и ошибки: операция проверки баланса.

bash
curl https://api.genvoice.ru/v1/api/balance \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Ответ:

json
{
  "balance": 10.00,
  "currency": "RUB"
}

2. Получите список голосов ​

bash
curl https://api.genvoice.ru/v1/api/voices/public \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Ответ:

json
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Алексей",
    "description": "Мужской, нейтральный тон",
    "published_at": "2026-01-15T10:00:00Z",
    "favorites_count": 42
  }
]

3. Синтезируйте речь ​

С использованием публичного голоса. Замените демонстрационный voice_id ниже на настоящий id из ответа на предыдущий запрос; показанный UUID — только пример.

bash
curl --fail -X POST https://api.genvoice.ru/v1/api/tts \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Привет! Это тестовый запрос к GenVoice API.",
    "voice_id": "550e8400-e29b-41d4-a716-446655440000",
    "output_format": "mp3_24000_48"
  }' \
  --output speech.mp3

Тело успешного ответа — аудиофайл. Сохраните его с помощью --output в curl. При HTTP-ошибке curl завершится с ненулевым кодом, не записывая тело ошибки в MP3. Все параметры: операция синтеза речи.

Пример на Python ​

python
import requests

API_KEY = "sk_live_YOUR_API_KEY"
BASE_URL = "https://api.genvoice.ru/v1"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# Получить список публичных голосов
voices_response = requests.get(
    f"{BASE_URL}/api/voices/public", headers=HEADERS, timeout=(10, 30)
)
voices_response.raise_for_status()
voices = voices_response.json()
if not voices:
    raise RuntimeError("В публичном каталоге нет доступных голосов")
voice_id = voices[0]["id"]

# Синтезировать речь
response = requests.post(
    f"{BASE_URL}/api/tts",
    headers=HEADERS,
    json={
        "text": "Привет! Это тестовый запрос к GenVoice API.",
        "voice_id": voice_id,
        "output_format": "mp3_24000_48",
    },
    timeout=(10, 120),
)
response.raise_for_status()

with open("speech.mp3", "wb") as f:
    f.write(response.content)

print(f"Сохранено {len(response.content)} байт в speech.mp3")

Что дальше ​