# Транскрибация

`POST /v1/audio/transcriptions` — звук в текст, результат сразу. Тело —
`multipart/form-data`: `file`, `model`, по желанию `language`, `response_format`,
`timestamp_granularities`. Поля — схема `TranscriptionRequest`. Поля SDK OpenAI `prompt`,
`temperature` (0–1), `chunking_strategy` и `include` принимаются и на результат не влияют.
`stream=true` — ответ `text/event-stream`: `transcript.text.delta` с текстом, затем
`transcript.text.done`.

```bash tab="cURL"
curl https://api.souz.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $SOUZ_API_KEY" \
  -F model=whisper-large-v3-turbo \
  -F file=@meeting.m4a \
  -F language=ru
```

```python tab="Python"
with open("meeting.m4a", "rb") as audio:
    t = client.audio.transcriptions.create(model="whisper-large-v3-turbo", file=audio, language="ru")
print(t.text)
```

```ts tab="TypeScript"
import fs from "node:fs";

const t = await client.audio.transcriptions.create({
  model: "whisper-large-v3-turbo",
  file: fs.createReadStream("meeting.m4a"),
  language: "ru",
});
console.log(t.text);
```

## Звук

Форматы `wav`, `mp3`, `flac`, `m4a`, `ogg`, `webm`, `aac` — до 25 МиБ и до 4 часов; формат
определяется по самим байтам. Длина измеряется до вызова: файл, длину которого не
прочитать, отвергается до списания (`400 invalid_input`).

## Язык

Код ISO 639-1 в нижнем регистре (`ru`, `en`, схема `LanguageCode`) — и в запросе, и в
ответе. `language` запроса — подсказка; без неё модель определит язык сама. Другое
написание (`RU`, `ru-RU`, `russian`) — `400` со списком кодов в `allowed`. `language`
ответа — язык, который назвала модель, иначе ваша подсказка.

## Формат ответа

- `json` (по умолчанию) и `verbose_json` — объект задачи с `text`, `duration` и `language`.
- `verbose_json` у моделей с таймкодами добавляет `segments` — фразы (`start`, `end`,
  `text`) до 30 секунд; с `timestamp_granularities[]=word` (или JSON-массивом `["word"]`) —
  ещё `words` (`word`, `start`, `end`).
- `srt` — те же фразы субтитрами, `text` — только расшифровка; у текстовых ответов id
  задачи — в заголовке `X-Job-Id`.

`usage.characters` — число символов расшифровки. Присланный файл становится загрузкой
аккаунта (`GET /v1/files`), расшифровка — файлом результата задачи.

---

Оглавление документации: https://souz.ai/llms.txt. Всё руководство одним файлом: https://souz.ai/llms-full.txt. Справочник методов: https://souz.ai/docs/api-reference.md.
