Audio API предоставляет две конечные точки для преобразования аудио в текст:
- transcriptions - транскрибирует аудио на том же языке
- translations - переводит и транскрибирует аудио на английский язык
- gpt-4o-transcribe - высококачественная модель для транскрибации
- gpt-4o-mini-transcribe - оптимизированная версия с хорошим балансом скорости и качества
- whisper-1 - классическая модель с полной поддержкой функций
Новые модели GPT-4o поддерживают ограниченный набор параметров и только форматы json
или text
.
Поддерживаются следующие форматы: mp3
, mp4
, mpeg
, mpga
, m4a
, wav
, webm
.
Максимальный размер файла: 25 МБ.
curl --request POST \ --url "https://api.proxyapi.ru/openai/v1/audio/transcriptions" \ --header "Authorization: Bearer <КЛЮЧ>" \ --header "Content-Type: multipart/form-data" \ --form file=@/path/to/file/audio.mp3 \ --form model=gpt-4o-transcribe
curl --request POST \ --url "https://api.proxyapi.ru/openai/v1/audio/transcriptions" \ --header "Authorization: Bearer <КЛЮЧ>" \ --header "Content-Type: multipart/form-data" \ --form file=@/path/to/file/speech.mp3 \ --form model=gpt-4o-transcribe \ --form prompt="Следующий разговор - лекция о последних разработках OpenAI, GPT-4.5 и будущем ИИ."
curl --request POST \ --url "https://api.proxyapi.ru/openai/v1/audio/translations" \ --header "Authorization: Bearer <КЛЮЧ>" \ --header "Content-Type: multipart/form-data" \ --form file=@/path/to/file/russian.mp3 \ --form model=whisper-1
curl --request POST \ --url "https://api.proxyapi.ru/openai/v1/audio/transcriptions" \ --header "Authorization: Bearer <КЛЮЧ>" \ --header "Content-Type: multipart/form-data" \ --form file=@example.wav \ --form model=gpt-4o-mini-transcribe \ --form stream=True
json
- JSON с текстом транскрипцииtext
- только текстsrt
- формат субтитровverbose_json
- подробный JSON с временными меткамиvtt
- формат WebVTT
json
- JSON с текстомtext
- только текст
Для получения временных меток используйте модель whisper-1
с параметром timestamp_granularities
:
transcription = client.audio.transcriptions.create( file=audio_file, model="whisper-1", response_format="verbose_json", timestamp_granularities=["word"] # или ["segment"] или ["word", "segment"] )
API поддерживает тот же набор языков, что и модель Whisper, включая русский, английский, французский, немецкий, китайский, японский и многие другие.
Полный список: африкаанс, арабский, армянский, азербайджанский, белорусский, боснийский, болгарский, каталанский, китайский, хорватский, чешский, датский, голландский, английский, эстонский, финский, французский, галисийский, немецкий, греческий, иврит, хинди, венгерский, исландский, индонезийский, итальянский, японский, каннада, казахский, корейский, латышский, литовский, македонский, малайский, маратхи, маори, непальский, норвежский, персидский, польский, португальский, румынский, русский, сербский, словацкий, словенский, испанский, суахили, шведский, тагальский, тамильский, тайский, турецкий, украинский, урду, вьетнамский и валлийский.
Для улучшения распознавания специальных терминов и аббревиатур используйте параметр prompt
:
transcription = client.audio.transcriptions.create( model="whisper-1", file=audio_file, prompt="OpenAI, ChatGPT, GPT-4, API, машинное обучение, нейронные сети" )
Для дополнительной обработки транскрипции используйте GPT-4 для исправления ошибок и улучшения форматирования.
Для файлов больше 25 МБ разбивайте их на части:
from pydub import AudioSegment song = AudioSegment.from_mp3("long_audio.mp3") ten_minutes = 10 * 60 * 1000 # PyDub работает с миллисекундами first_10_minutes = song[:ten_minutes] first_10_minutes.export("audio_part1.mp3", format="mp3")
- Максимальный размер файла: 25 МБ
- Перевод поддерживается только на английский язык
- Временные метки доступны только для модели
whisper-1
- Потоковая транскрибация не поддерживается в
whisper-1