Рекомендуемые таймауты
Рассуждающие модели думают перед ответом, и один запрос может идти несколько минут. Примеры:
gpt-6-solиgpt-5.6-solgpt-5.4-proиo3-pro(gpt-5.5-proвыведена из эксплуатации в октябре 2026)gemini-3.1-pro-preview
Потоковая передача для длинных ответов
Запрос без потоковой передачи возвращается только после генерации всего ответа, так что таймаут чтения соревнуется с полным временем генерации. При потоковой передаче (stream=True) вывод приходит по мере генерации:
- первые данные приходят быстро, затем события идут непрерывно;
- таймаут чтения должен покрывать лишь паузу между событиями, обычно хватает 90–120 секунд;
- общее время остаётся прежним, но соединение больше не обрывается в ожидании полного ответа.
Отключение автоматических повторов для долгих запросов
Официальный OpenAI Python SDK по умолчанию делает два повтора после таймаута и некоторых других ошибок. Для запросов к изображениям и рассуждающим моделям установитеmax_retries равным 0 и пусть решение о повторе принимает ваш код:
- Python
- Node.js
- cURL
Таймаут не исчез после увеличения
Проверьте по порядку:1
Убедитесь, что новый таймаут действует
Некоторые фреймворки оборачивают HTTP-клиент собственным таймаутом. Выведите фактические настройки и убедитесь, что вы изменили именно используемый.
2
Проверьте все звенья цепочки
Любое звено с таймаутом короче генерации закроет соединение первым. Увеличьте каждое:
- обратный прокси, который вы запускаете, например Nginx, у которого
proxy_read_timeoutпо умолчанию 60 секунд; - таймаут простоя балансировщика нагрузки в вашем облаке;
- максимальное время выполнения вашей serverless-функции;
- таймаут задачи у вашего воркера очереди.
3
Отличите таймауты от лимитов
Оборванное соединение или таймаут чтения означают, что вы ждали недостаточно долго.
429 — это лимит скорости или ёмкости, он не зависит от длительности. Повторяйте 429 несколько раз с задержкой и пишите в поддержку, если ошибка не исчезает.4
Посмотрите реальную длительность в журнале вызовов
Откройте журнал вызовов, найдите длительность и стоимость запроса и задайте таймаут выше этого значения с запасом.
Частые вопросы
Оплачивается ли запрос, если у клиента сработал таймаут?
Да, если апстрим-провайдер закончил генерацию. Разрыв происходит на вашей стороне, а шлюз и провайдер продолжают работу. Ответы апстрима не со статусом 200, например429 или 503, не оплачиваются. Фактическую стоимость показывает журнал вызовов, а возвраты и корректировки баланса регулируют Условия использования.
Можно ли получить изображение по ID после обрыва соединения?
Нет. Эндпоинты изображений синхронные, а LaoZhang API по умолчанию не хранит сгенерированные результаты, поэтому потерянный результат вернуть нельзя. Если нужна асинхронность, поставьте очередь задач в своём бэкенде, как описано в материале Возвращают ли API изображений ID задачи?Есть ли побочные эффекты у очень длинного таймаута?
На оплату он не влияет: она зависит только от расхода или числа вызовов, а не от времени ожидания. Долгие соединения занимают воркер или слот в пуле, поэтому при большой нагрузке выносите запросы к изображениям и рассуждающим моделям в отдельную очередь заданий.Связанные материалы
- Возвращают ли API изображений ID задачи?
- Руководство по подключению: обработка ошибок
- Как читать журнал вызовов
- API генерации текста: потоковая передача в каждом протоколе