Skip to main content
POST
Транскрибировать аудио в текст (STT)
Этот эндпоинт совместим с OpenAI SDK и подходит для быстрой миграции существующего кода.
Распознавание речи обслуживается только этим эндпоинтом. Media API отвечает за генерацию изображений, видео и музыки — опрашивать через /v1/media/{id} статус транскрипции нельзя, он вернёт ошибку RESULT_EXPIRED, даже когда текст готов.

Доступные модели

Тарификация STT — посекундная (per_second), по длительности аудио.

Асинхронные модели

Эти модели работают иначе: запрос возвращает не текст, а id задачи, результат забирается опросом статуса. Подробности и примеры — в руководстве Aiesa Транскрипция. Тарификация — по целым минутам, минимум одна минута.

Параметры запроса

Допустимые response_format по моделям

  • openai/whisper-1json, text, srt, verbose_json, vtt
  • openai/gpt-4o-transcribe, openai/gpt-4o-mini-transcribejson, text
  • openai/gpt-4o-transcribe-diarizejson, text, diarized_json
  • elevenlabs/speech-to-text → стандартный набор + diarized_json

Объект chunking_strategy типа server_vad

Либо строкой: "chunking_strategy": "auto".

Диаризация (gpt-4o-transcribe-diarize)

Модель gpt-4o-transcribe-diarize возвращает разбивку по спикерам. Используйте response_format: "diarized_json".
При аудио длительностью более 30 секунд параметр chunking_strategy обязателен. Без него запрос вернёт ошибку 400.
Опционально можно заранее «обучить» диаризатор на конкретные голоса:
  • known_speaker_names — массив имён, до 4. Имена используются как метки спикеров.
  • known_speaker_references — массив data-URL с короткими аудио-примерами тех же спикеров.

Поддерживаемые форматы файлов

MP3, WAV, M4A, FLAC, OGG, WebM.
Лимит размера тела — около 15 МБ. На больших файлах возможен 502. Для больших аудио разбивайте файл на части.

Примеры

Пример с диаризацией

Ответ (200)

response_format: json (по умолчанию)

response_format: verbose_json (только whisper-1)

Поле words появляется, только если указан timestamp_granularities: ["word"].

response_format: diarized_json (gpt-4o-transcribe-diarize)

response_format: text / srt / vtt

Поле text содержит результат — plain text либо готовые субтитры в формате SRT/VTT. Поля segments/words отсутствуют.

Поля ответа

Ответ асинхронных моделей (aiesa/*)

Асинхронные модели вместо текста возвращают идентификатор задачи:
Результат забирается опросом:
Параметр response_format на этих моделях не применяется — диаризация всегда приходит в segments. Подробнее: Aiesa Транскрипция.

Авторизации

Authorization
string
header
обязательно

API ключ передаётся в заголовке: Authorization: Bearer <POLZA_AI_API_KEY>

Тело

file
string
обязательно

Аудио файл в формате base64 (data:audio/mp3;base64,...) или URL

Пример:

"data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAA..."

model
string
по умолчанию:whisper-1

ID модели для транскрипции

Пример:

"whisper-1"

language
string

Язык аудио в формате ISO-639-1 (например: ru, en, de)

Пример:

"ru"

prompt
string

Промпт для улучшения контекста транскрипции

Пример:

"Это разговор об искусственном интеллекте"

response_format
enum<string>
по умолчанию:json

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

Доступные опции:
json,
text,
srt,
verbose_json,
vtt,
diarized_json
temperature
number
по умолчанию:0

Температура сэмплирования (0-1)

Требуемый диапазон: 0 <= x <= 1
Пример:

0

timestamp_granularities
enum<string>[]

Granularity для временных меток (только для verbose_json)

Доступные опции:
word,
segment
Пример:
user
string

Уникальный идентификатор конечного пользователя для отслеживания и предотвращения злоупотреблений

Пример:

"user-123"

chunking_strategy

Chunking strategy для разбивки аудио (обязателен для gpt-4o-transcribe-diarize при >30 сек)

Доступные опции:
auto
Пример:

"auto"

include
enum<string>[]

Дополнительная информация в ответе (logprobs)

Доступные опции:
logprobs
Пример:
known_speaker_names
array[]

Имена известных спикеров (до 4)

Пример:
known_speaker_references
array[]

Аудио референсы для известных спикеров (data URLs)

stream
boolean

Стриминг ответа (не поддерживается для whisper-1)

Пример:

false

Ответ

text
string
обязательно

Транскрибированный текст

Пример:

"Привет! Это тестовое сообщение."

language
string

Определенный язык аудио (ISO-639-1)

Пример:

"ru"

duration
number

Длительность аудио в секундах

Пример:

10.5

segments
object[]

Сегменты с таймстампами (для verbose_json)

words
object[]

Words с таймстампами (для verbose_json с word granularity)

model
string

ID использованной модели

Пример:

"whisper-1"

usage
object

Информация об использовании

Пример: