Для китайских команд вызов Whisper API для транскрибации не сложен по интерфейсу: multipart-запрос, аудиофайл и текст в ответе. Опыт определяет сетевой путь: дневной трансграничный канал, потери пакетов в вечерний пик, обрыв загрузки файла в десятки мегабайт на середине — всё это превращает простой интерфейс в эксплуатационную проблему.
Ниже сравниваем три схемы — прямое подключение, прокси и шлюз — и отдельно разбираем загрузку больших файлов, тайм-ауты и повторы, нарезку и чек-лист проверки перед запуском.
Примечание: OpenAI и Whisper — товарные знаки соответствующих правообладателей. Статья носит технический характер и не подразумевает аффилированность, агентские или партнёрские отношения с OpenAI. Ограничения интерфейса, доступные модели и правила тарификации определяются официальной документацией и материалами на сайте.
1. Три пути — три границы ответственности
- Прямое подключение: код обращается к
api.openai.comбез промежуточного слоя. - Прокси: собственный обратный прокси на VPS или сторонний адрес пересылки.
- Шлюз: OpenAI-совместимый вход вроде ZSQH AI Gateway с едиными ключами, балансом, счётом и документами.
| Критерий | Прямое подключение | Собственный прокси | Шлюз |
|---|---|---|---|
| Управляемость канала | Зависит от оператора | Выше | Отвечает поставщик |
| Стабильность | Заметные колебания | Зависит от сервера и линии | Обычно несколько маршрутов |
| Стоимость обслуживания | Низкая | Высокая, нужно дежурство | Низкая |
| Биллинг и документы | Доллары, всё самостоятельно | Счёт upstream, тоже самостоятельно | Юани, документы от платформы |
| Подходящие сценарии | Низкая частота, допустимы повторы | Команды с эксплуатационной экспертизой | Китайские команды и production |
Ключевое различие не в том, «работает или нет», а в том, кто локализует проблему и кто страхует сбой. Понять это до выбора полезнее, чем сравнивать цифры задержки.
2. Прямое подключение: доступность не равна стабильности
Прямая схема убирает промежуточный слой, но качество трансграничного канала вам не подконтрольно. Типичные явления:
- днём нормально, в вечерний пик растёт доля тайм-аутов;
- DNS иногда отвечает медленнее, TLS-рукопожатие затягивается;
- при загрузке большого файла соединение сбрасывается, и передача начинается с нуля;
- один и тот же код работает в офисе, но не работает на облачном сервере.
Не ограничивайтесь ping с домашнего интернета. Запустите набор реальных запросов на production-сервере, зафиксируйте успешность, задержки p50 и p95, время загрузки и наблюдайте несколько дней. Для асинхронных задач прямое подключение допустимо, если бизнес переживает повторный запуск; для онлайн-субтитров и совещаний в реальном времени колебания канала сразу превращаются в заметные пользователю задержки.
3. Прокси: сервер дешёвый, обслуживание — нет
Собственный прокси обычно означает nginx на VPS с доменом и сертификатом. Он фиксирует путь запроса, но добавляет новые точки отказа:
- не хватает исходящей полосы, и параллельные загрузки аудио встают в очередь;
- не поднят лимит тела запроса, и файл в десятки мегабайт сразу получает 413;
- тайм-аут прокси короче времени транскрибации: backend ещё работает, а соединение уже закрыто;
- истёк сертификат, IP попал под лимит, upstream изменил интерфейс — всё требует ручного вмешательства.
В конфигурации как минимум проверьте client_max_body_size, proxy_read_timeout и настройки буферизации. У общего адреса прокси есть дополнительный риск: вы не знаете, кто ещё выходит через тот же IP, и лимиты или блокировки могут затронуть всех. Если ключ передаётся на уровне прокси, убедитесь, что заголовок авторизации не пишется в журнал в открытом виде.
4. Шлюз: сетевую проблему превращает в сервисную
Шлюз даёт OpenAI-совместимый base URL; обычно достаточно заменить base_url и ключ. Для китайских команд практическая ценность в трёх вещах: канал обслуживает поставщик; текст, аудио и embeddings используют общий баланс; оплата и документы в юанях.
При выборе шлюза не ограничивайтесь фразой «поддерживает Whisper», уточните:
- полностью ли поддержан аудиоинтерфейс транскрибации, включая
response_formatи тайм-коды; - лимиты на размер файла, параллелизм и тайм-аут;
- как тарифицируются неудачные запросы и выдаётся ли request ID;
- политика хранения журналов и способ удаления;
- указана ли на странице цен методика тарификации.
Шлюз решает канал и биллинг, но не все инженерные задачи. Аудио сверх лимита всё равно нужно нарезать, при сетевых колебаниях — повторять. Относитесь к нему как к инфраструктуре с обязательствами по сервису, а не как к универсальному ускорителю.
5. Загрузка больших файлов: почему сбоит даже в пределах 25 МБ
Частый лимит Whisper на файл — 25 МБ, точное значение смотрите в официальной документации. Многие думают, что файл меньше лимита загрузится без проблем, но сбой часто происходит на этапе передачи.
При исходящей полосе 1 Мбит/с передача 25 МБ занимает около 200 секунд; добавьте TLS-рукопожатие, очередь на сервере и время транскрибации — легко упереться в тайм-аут прокси или клиента. Мобильная сеть, трансграничный канал и общая полоса увеличивают это время.
Порядок снижения доли сбоев: сначала сжатие, затем нарезка, и только потом повторы.
- Привести к 16 кГц моно: для транскрибации речи высокая частота не нужна.
- Использовать MP3 64 кбит/с: в 25 МБ помещается более пятидесяти минут речи.
- Аудио длиннее 10 минут резать на фрагменты по 5–10 минут с перекрытием 0,5–1 секунды.
- Точки реза выбирать по тишине, чтобы не разрывать слова.
Эти цифры — инженерный опыт, а не обязательства интерфейса; ориентируйтесь на результаты тестов в своей среде.
6. Тайм-ауты, повторы и нарезка
Для нарезки можно использовать ffmpeg:
ffmpeg -i input.mp3 -f segment -segment_time 600 \
-ac 1 -ar 16000 -b:a 64k part_%03d.mp3
Стратегию повторов выстраивайте так:
- Повторять только сетевые ошибки, 408, 429 и 5xx; для 400, 401 и 413 повтор бессмысленен.
- Использовать экспоненциальную задержку со случайным разбросом, например 1, 2, 4, 8 секунд, максимум три–пять попыток.
- Для каждого запроса фиксировать имя файла, номер фрагмента и request ID для сверки.
- При сборке склеивать текст по порядку фрагментов и прибавлять начальное смещение к тайм-кодам.
- Дедуплицировать перекрытие, сохраняя более полную фразу.
- Ограничивать параллелизм пакетных задач, оставляя запас на восстановление после 429.
У аудиоинтерфейса обычно нет ключа идемпотентности, поэтому после тайм-аута сервер мог уже завершить транскрибацию и списать средства. Перед повтором проверьте журнал расхода и решите, допустимо ли небольшое двойное списание. Для чувствительных к затратам команд можно сохранять неудачные фрагменты отдельно и запускать их повторно после ручной проверки.
7. Оплата, документы и комплаенс
Типичная схема для китайской команды: пополнение шлюза в юанях, счёт от платформы, безналичная оплата по закупочной процедуре. До платежа проверьте совпадение юридического лица и получателя, рассчитывается ли сумма счёта от фактической оплаты или от зачисленной квоты, где описаны возврат и повторное выставление. Подробный порядок смотрите в материалах сайта о пополнении.
В комплаенсе обратите внимание на три момента:
- аудио может содержать имена, телефоны, диагнозы и данные сделок; до загрузки сообщите об обработке и получите согласие;
- чувствительные материалы сначала обезличьте или используйте решение с приватным развёртыванием;
- уточните, передаются ли данные за границу, и как поставщик хранит и удаляет их.
Права на результат транскрибации зависят от содержания аудио и условий платформы. Записи совещаний, курсы и звонки поддержки затрагивают права других людей; до коммерческого использования подтвердите разрешение.
8. Чек-лист проверки перед запуском
- Прогнать десятисекундное аудио и получить ответ 200.
- Проверить пятиминутное аудио на распознавание языка и пунктуацию.
- Загрузить файл близко к 25 МБ и замерить время и тайм-аут.
- Смоделировать 429 и 5xx и убедиться, что задержка работает.
- Смоделировать обрыв сети и убедиться, что повторы не уходят в бесконечный цикл.
- Проверить смещение тайм-кодов после сборки фрагментов.
- Проверить лимит параллелизма и длину очереди.
- Подтвердить оповещения о балансе, выставление счетов и сверку.
- Убедиться, что ключ хранится только на сервере и поддерживает ротацию и отзыв.
Список небольшой, но каждый пункт соответствует реальному сбою. Неделя на малом трафике, затем постепенное увеличение параллелизма надёжнее, чем сразу выйти на максимум.
Частые вопросы
Стабильно ли прямое подключение к Whisper API из Китая?
Единого ответа нет: зависит от оператора, времени и расположения сервера. Тестируйте несколько дней в production и смотрите успешность и p95, а не один запрос.
Чем шлюз отличается от прокси?
Прокси обычно только пересылает трафик, биллинг и обслуживание остаются на upstream; шлюз, как правило, добавляет аккаунт, баланс, управление ключами, оплату в юанях и документы, то есть более полную границу ответственности.
Что делать с аудио больше 25 МБ?
Сначала сжать в MP3 16 кГц моно, затем нарезать по 5–10 минут. Резать по тишине, при сборке возвращать смещение тайм-кодов.
Повтор после тайм-аута приводит к двойному списанию?
Возможно. Сервер мог уже завершить транскрибацию. Перед повтором проверьте журнал расхода и задайте предел попыток.
Какие комплаенс-вопросы важны при доступе из Китая?
Персональные данные в аудио, трансграничная передача, политика хранения поставщика и права на контент. При чувствительных данных предпочтительны обезличивание или приватное развёртывание.
Следующий шаг
Сначала проверьте канал на коротком аудио, затем протестируйте нарезку и сборку на реальной длинной записи и только после этого подключайте пакетные задачи. Командам, которым нужны пополнение в юанях, единый счёт и документы, можно начать с регистрации в ZSQH AI Gateway; аудиомодели и тарификация — на странице цен на модели.
Что читать дальше:
