В этой статье
Если вы встретили формулировку OpenAI transcription, обычно речь идёт о расшифровке уже записанного аудиофайла: сервис получает запись и возвращает её текст. Для этого в OpenAI API используется запрос POST /v1/audio/transcriptions. Это сценарий для готового файла, а не генерация речи и не потоковая расшифровка в реальном времени.
Как отправить готовую запись
Файл передаётся в multipart-запросе полем file, а вместе с ним указывается модель. Минимальный пример на curl выглядит так:
curl https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F file="@meeting.mp3" \
-F model="gpt-4o-transcribe"
Это форма запроса, а не результат фактически выполненного вызова. В рабочем окружении замените meeting.mp3 на путь к своей записи, а модель выберите с учётом её доступности и нужного формата ответа. Описание метода и параметров есть в справочнике Create transcription.
В JSON-ответе обычной расшифровки основной текст находится в поле text. Его можно сохранить в базу, показать в интерфейсе или передать следующему этапу обработки. В приложении логика обычно сводится к тому, чтобы отправить файл, дождаться ответа и прочитать response.text; точное имя переменной зависит от SDK или HTTP-клиента.
Endpoint принимает файлы flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav и webm. Передавайте именно содержимое файла как объект загрузки, а не строку с одним его именем: серверу нужны данные записи и корректные сведения о формате.
Если вам нужен готовый сервис или подписка, а не собственный код и API-доступ, можно отдельно посмотреть каталог Amber Market. Это общий каталог доступных AI-сервисов, а не пополнение OpenAI API: он не заменяет API-ключ, проект и настройку запроса к /v1/audio/transcriptions. Поэтому для программной расшифровки аудио ваш маршрут остаётся тем же.
Как выбрать модель и формат результата
В API Reference на 19 сентября 2026 года перечислены модели gpt-transcribe, gpt-4o-transcribe, gpt-4o-mini-transcribe, whisper-1 и gpt-4o-transcribe-diarize. Названия и доступность моделей могут меняться, поэтому перед внедрением сверяйте список с актуальным справочником метода.
Параметр response_format позволяет запросить json, text, srt, verbose_json, vtt или diarized_json. Но разные модели поддерживают разные подмножества этих форматов: пару model и response_format нужно сверить с документацией, а не выбирать формат независимо от модели.
Формат text возвращает саму расшифровку без обычной JSON-обёртки. srt и vtt пригодятся для субтитров, а verbose_json — когда нужны дополнительные детали, предусмотренные этим форматом. diarized_json предназначен для разметки говорящих и связан с моделью gpt-4o-transcribe-diarize. Если в записи один диктор и нужен просто текст, начинать с диаризации не обязательно.
Язык записи можно передать явно в формате ISO-639-1. Документация рекомендует это делать, потому что указание языка может улучшить точность и задержку обработки. Это рекомендация для запроса, а не обещание идеального результата: качество зависит от шума, дикции, перекрывающихся голосов и специальной лексики.
Например, для русской записи можно указать код ru:
curl https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F file="@interview.m4a" \
-F model="gpt-4o-transcribe" \
-F language="ru"
После ответа всё равно проверьте имена людей, числа, адреса, названия компаний и термины вашей предметной области. Автоматическая транскрибация экономит время, но её не стоит считать стенограммой, точной до последнего слова.
Что не следует смешивать с transcription
В этой статье под openai transcription имеется в виду сценарий с завершённой записью: у вас уже есть файл, который можно загрузить одним запросом. Такой сценарий описан в руководстве OpenAI по расшифровке файлов.
Это не то же самое, что генерация речи из текста. При генерации на вход подаётся текст, а результатом становится аудио; здесь направление обратное — на входе аудиофайл, на выходе текст.
Не стоит также подменять файловую расшифровку переводом аудио. Перевод — отдельный сценарий и отдельный endpoint. А realtime-транскрибация рассчитана на потоковую работу с речью, тогда как POST /v1/audio/transcriptions подходит для уже сохранённого файла.
Если сначала нужно разобраться с общим подключением API-клиента, пригодится материал о первом запросе к OpenAI API на Python. Для самой расшифровки достаточно удержать три элемента: multipart-поле file, выбранную model и совместимый с ней response_format. Затем обработайте поле text, проверьте результат и встроьте его в свой сценарий.
Источники
- Create transcription — OpenAI API ReferenceOpenAI Developers
- File transcription — OpenAI APIOpenAI Developers