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: Bearer nb_ВАШ_КЛЮЧ
Аудиофайл. Форматы: mp3, mp4, wav, m4a, ogg, flac, webm. Макс. размер: 25 МБ.
model
string
по умолчанию:"whisper"
Слаг STT-модели. См. таблицу ниже.
Код языка (например ru, en, es). Необязательно — определяется автоматически.
diarize
boolean
по умолчанию:"false"
Диаризация (разметка по спикерам). Только для elevenlabs-scribe.
Модели
| Slug | Провайдер | Тариф | Ткн | Особенности |
|---|
whisper | OpenAI | Starter | 2 | Быстро, 99 языков |
gpt-4o-transcribe | OpenAI | Basic+ | 2 | Наивысшая точность |
elevenlabs-scribe | ElevenLabs | Basic+ | 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"])