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