> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elumenta.ru/llms.txt
> Use this file to discover all available pages before exploring further.

# Распознавание речи (STT)

> Транскрибация аудиофайлов с помощью Whisper, GPT-4o Transcribe или ElevenLabs Scribe

<Note>
  STT использует отдельный multipart-эндпоинт `POST /api/v2/stt`, не стандартный `/generate`.
</Note>

## Запрос

```bash theme={null}
curl -X POST https://elumenta.ru/api/v2/stt \
  -H "Authorization: Bearer nb_ВАШ_КЛЮЧ" \
  -F "audio=@запись.mp3" \
  -F "model=whisper" \
  -F "language=ru"
```

<ParamField header="Authorization" type="string" required>
  `Authorization: Bearer nb_ВАШ_КЛЮЧ`
</ParamField>

<ParamField body="audio" type="file" required>
  Аудиофайл. Форматы: `mp3`, `mp4`, `wav`, `m4a`, `ogg`, `flac`, `webm`. Макс. размер: 25 МБ.
</ParamField>

<ParamField body="model" type="string" default="whisper">
  Слаг STT-модели. См. таблицу ниже.
</ParamField>

<ParamField body="language" type="string">
  Код языка (например `ru`, `en`, `es`). Необязательно — определяется автоматически.
</ParamField>

<ParamField body="diarize" type="boolean" default="false">
  Диаризация (разметка по спикерам). Только для `elevenlabs-scribe`.
</ParamField>

## Модели

| Slug                | Провайдер  | Тариф   | Ткн | Особенности                   |
| ------------------- | ---------- | ------- | --- | ----------------------------- |
| `whisper`           | OpenAI     | Starter | 2   | Быстро, 99 языков             |
| `gpt-4o-transcribe` | OpenAI     | Basic+  | 2   | Наивысшая точность            |
| `elevenlabs-scribe` | ElevenLabs | Basic+  | 2   | Лучший для встреч, диаризация |

## Ответ

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

## Диаризация

Только с `elevenlabs-scribe`:

```bash theme={null}
curl -X POST https://elumenta.ru/api/v2/stt \
  -H "Authorization: Bearer nb_ВАШ_КЛЮЧ" \
  -F "audio=@встреча.mp3" \
  -F "model=elevenlabs-scribe" \
  -F "diarize=true"
```

В `result_text` будут метки спикеров:

```
[Спикер 1]: Привет, начнём встречу.
[Спикер 2]: Хорошо, у меня три вопроса.
```

## Пример кода

```python theme={null}
import requests

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

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