Перейти к основному содержанию
POST
/
api
/
v2
/
stt
Распознавание речи (STT)
curl --request POST \
  --url https://api.example.com/api/v2/stt \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "language": "<string>",
  "diarize": true
}
'
STT использует отдельный multipart-эндпоинт POST /api/v2/stt, не стандартный /generate.

Запрос

curl -X POST https://neuralbox.top/api/v2/stt \
  -H "Authorization: Bearer nb_ВАШ_КЛЮЧ" \
  -F "audio=@запись.mp3" \
  -F "model=whisper" \
  -F "language=ru"
Authorization
string
обязательно
Authorization: Bearer nb_ВАШ_КЛЮЧ
audio
file
обязательно
Аудиофайл. Форматы: mp3, mp4, wav, m4a, ogg, flac, webm. Макс. размер: 25 МБ.
model
string
по умолчанию:"whisper"
Слаг STT-модели. См. таблицу ниже.
language
string
Код языка (например ru, en, es). Необязательно — определяется автоматически.
diarize
boolean
по умолчанию:"false"
Диаризация (разметка по спикерам). Только для elevenlabs-scribe.

Модели

SlugПровайдерТарифТкнОсобенности
whisperOpenAIStarter2Быстро, 99 языков
gpt-4o-transcribeOpenAIBasic+2Наивысшая точность
elevenlabs-scribeElevenLabsBasic+2Лучший для встреч, диаризация

Ответ

{
  "id": 18510,
  "status": "completed",
  "model_slug": "whisper",
  "result_text": "Привет и добро пожаловать в сегодняшний выпуск...",
  "tokens_spent": 2,
  "processing_ms": 3420
}

Диаризация

Только с elevenlabs-scribe:
curl -X POST https://neuralbox.top/api/v2/stt \
  -H "Authorization: Bearer nb_ВАШ_КЛЮЧ" \
  -F "audio=@встреча.mp3" \
  -F "model=elevenlabs-scribe" \
  -F "diarize=true"
В result_text будут метки спикеров:
[Спикер 1]: Привет, начнём встречу.
[Спикер 2]: Хорошо, у меня три вопроса.

Пример кода

import requests

with open("audio.mp3", "rb") as f:
    response = requests.post(
        "https://neuralbox.top/api/v2/stt",
        headers={"Authorization": "Bearer nb_ВАШ_КЛЮЧ"},
        files={"audio": f},
        data={"model": "whisper", "language": "ru"}
    )

print(response.json()["result_text"])