Полная API документация

Готовые примеры, параметры и пошаговый сценарий интеграции для внешних сервисов.

Авторизация

Передавайте API ключ одним из способов:

  • X-API-Key: YOUR_API_KEY
  • Authorization: Bearer YOUR_API_KEY

Основные эндпоинты

POST https://genius-bot.ru/wp-json/tts/v1/api/generate
POST https://genius-bot.ru/wp-json/tts/v1/api/parse-text-file
GET https://genius-bot.ru/wp-json/tts/v1/api/status/{task_id}
GET https://genius-bot.ru/wp-json/tts/v1/api/balance
GET https://genius-bot.ru/wp-json/tts/v1/api/free-voices
POST https://genius-bot.ru/wp-json/tts/v1/api/youtube-audio
POST https://genius-bot.ru/wp-json/tts/v1/api/transcribe
GET https://genius-bot.ru/wp-json/tts/v1/api/transcribe-status/{task_id}
POST https://genius-bot.ru/wp-json/tts/v1/api/topup
GET https://genius-bot.ru/wp-json/tts/v1/api/payment-status/{label}
GET https://genius-bot.ru/wp-json/tts/v1/api/payments?limit=20
GET https://genius-bot.ru/wp-json/tts/v1/api/generations
GET https://genius-bot.ru/wp-json/tts/v1/api/generation/{id}
Для POST /api/topup можно передать заголовок Idempotency-Key для защиты от дублей при ретраях.

Пример генерации (обычная модель)

{
  "model": "elevenlabs/text-to-speech-multilingual-v2",
  "text": "Привет! Это тест.",
  "voice": "Rachel",
  "output_format": "mp3_44100_128"
}

Пример генерации (диалог)

{
  "model": "elevenlabs/text-to-dialogue-v3",
  "dialogue": [
    {"voice":"EkK5I93UQWFDigLMpZcX","text":"Добрый день!"},
    {"voice":"NNl6r8mD7vthiJatiJt1","text":"Здравствуйте, чем помочь?"}
  ],
  "output_format": "mp3_44100_128"
}

Пример генерации (бесплатная библиотека)

{
  "model": "free-library",
  "text": "Проверка бесплатного голоса",
  "free_voice": "edge:ru-RU-DmitryNeural",
  "output_format": "opus_48000_64"
}

Пример YouTube -> Audio

{
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "format": "mp3"
}

Пример транскрибации (по audio_url)

{
  "audio_url": "https://example.com/audio.mp3",
  "language_code": "ru",
  "diarize": true,
  "tag_audio_events": true
}

Пример создания платежа

{
  "amount": 100
}

cURL пример

curl -X POST "https://genius-bot.ru/wp-json/tts/v1/api/generate" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"model":"free-library","text":"Тест","free_voice":"edge:ru-RU-DmitryNeural","output_format":"opus_48000_64"}'

cURL: транскрибация + проверка статуса

curl -X POST "https://genius-bot.ru/wp-json/tts/v1/api/transcribe" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"audio_url":"https://example.com/audio.mp3","language_code":"ru","diarize":true,"tag_audio_events":true}'

curl -X GET "https://genius-bot.ru/wp-json/tts/v1/api/transcribe-status/TASK_ID" \
  -H "X-API-Key: YOUR_API_KEY"

cURL: платежи (идемпотентно)

curl -X POST "https://genius-bot.ru/wp-json/tts/v1/api/topup" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Idempotency-Key: topup-2026-05-05-user42-001" \
  -d '{"amount":100}'

curl -X GET "https://genius-bot.ru/wp-json/tts/v1/api/payment-status/LABEL_VALUE" \
  -H "X-API-Key: YOUR_API_KEY"

curl -X GET "https://genius-bot.ru/wp-json/tts/v1/api/payments?limit=20" \
  -H "X-API-Key: YOUR_API_KEY"

Типовой сценарий интеграции

  1. Создайте API ключ в разделе API личного кабинета.
  2. Получите доступные бесплатные голоса через GET /api/free-voices.
  3. Отправьте генерацию через POST /api/generate.
  4. Проверяйте статус задачи через GET /api/status/{task_id}.
  5. Для транскрибации используйте POST /api/transcribe и затем GET /api/transcribe-status/{task_id}.
  6. Для пополнения используйте POST /api/topup, затем отслеживайте платеж через GET /api/payment-status/{label}.
  7. После статуса completed используйте audio_url и текст транскрипции в вашем сценарии.