Skip to main content

Краткий ответ

Три золотых правила, которые закрывают 90% проблем с таймаутом:
  1. Установите таймаут 360 секунд для синхронных эндпоинтов генерации изображений. У генерации изображений нет async task ID — если разорвать соединение раньше, с вас все равно будет списана тарификация, но изображение вы не получите.
  2. Дайте reasoning-моделям достаточно времени. gemini-3.1-pro-preview, gpt-5.6-sol и gpt-5.5-pro могут выполняться несколько минут, независимо от того, используете вы потоковую передачу или нет.
  3. Никогда не пропускайте длительные запросы через узел CDN. api-cf.apiyi.com находится за Cloudflare и возвращает 524 примерно после 100 секунд; он подходит только для быстрых текстовых вызовов.
Отдельно: если конкретная модель продолжает возвращать 429 (недостаточно параллельных запросов), обратитесь в поддержку, чтобы проверить вашу квоту.

Шпаргалка по тайм-аутам

Запрос с истекшим тайм-аутом все равно тарифицируетсяПосле того как ваш клиент отключится, сервер и upstream-провайдер все равно завершают задачу, и запрос тарифицируется как обычно.Иными словами: если тайм-аут задан слишком низким, вы заплатили и ничего не получили. Задайте безопасную верхнюю границу один раз, вместо того чтобы позволить почти успешному запросу оборваться из-за вашего клиента.

Подробно о четырёх ключах

Все модели APIYI для генерации изображений — синхронные: вы отправляете запрос, удерживаете соединение, и результат возвращается в теле ответа. Нет ни ID асинхронной задачи, ни эндпоинта опроса — отключитесь, и результат исчезнет.Почему настройки по умолчанию вредят: основные HTTP-клиенты по умолчанию задают 30-60 секунд, тогда как генерация изображений — это действительно долгий запрос:
  • GPT-Image-2 при качестве high с 2K/4K на практике занимает 3-5 минут
  • генерация Nano Banana 4K начинается примерно с 50 секунд и при пиковой нагрузке длится дольше
  • задачи с несколькими референсными изображениями часто превышают 5 минут
Рекомендация: если вы не уверены в задержке модели, используйте 360 секунд как базовое значение; для тяжелых задач, таких как 4K и задачи с несколькими референсными изображениями, задавайте 600 секунд. Значения для каждой модели приведены в Лучшие практики Image API.
Иногда в логе видно, что генерация изображения завершилась за 30 секунд, а клиент ждал 5 минут — потому что длительность в логе учитывается только до момента, когда шлюз завершает обработку, тогда как вы ждете, пока тело ответа дойдет до конца и пока поступит сигнал завершения соединения. Увеличение таймаута не всегда помогает: это помогает в случае медленной загрузки, но не тогда, когда данные уже готовы и не хватает только сигнала завершения. Один раз измерьте время по инструкции В логе сказано, что выполнение завершилось, но мой клиент ничего не получил, а затем принимайте решение.
Обычные текстовые модели возвращают ответ за секунды, поэтому легко предположить, что для текстовых вызовов никогда не нужно настраивать таймаут. Модели с рассуждением — исключение:
  • gemini-3.1-pro-preview
  • gpt-5.6-sol
  • gpt-5.5-pro (дороже и медленнее)
  • Любая модель, работающая с высоким бюджетом на рассуждение (высоким reasoning effort)
Эти модели долго выполняют внутреннее рассуждение перед тем, как выдать ответ, и несколько минут общей задержки — это нормально.Ключевой момент: потоковая передача этого не решает. Многие считают, что stream=True означает немедленное поступление данных, но модель с рассуждением может вообще не выдавать token’ы во время фазы размышления, поэтому ваш таймаут чтения все равно срабатывает — и общее время от первого token до последнего по-прежнему велико.Рекомендация: устанавливайте таймаут 300-600 секунд для моделей с рассуждением и подбирайте ваш уровень рассуждения (reasoning_effort / thinking) под выделенное время — более высокий уровень требует большего запаса.
APIYI’s api-cf.apiyi.com обслуживается через глобальную CDN Cloudflare. Она обеспечивает ускорение по всему миру и низкую задержку из-за рубежа, но у нее есть таймаут запроса примерно 100 секунд, после чего вы получаете ошибку 524.⚠️ Это касается не только эндпоинтов изображений. Любой вызов, который может превысить 100 секунд, плохо подходит, включая:
  • ❌ Генерация изображений / редактирование
  • ❌ Генерация видео
  • ❌ Длинный текстовый вывод (длинные статьи, большие переводы, большие генерации кода)
  • ❌ Задачи глубокого рассуждения на моделях с рассуждением
Подходит: обычный чат и короткие генерации, завершающиеся в течение 100 секунд.Рекомендация: для длинных запросов используйте api.apiyi.com (рекомендуется в материковом Китае) или vip.apiyi.com (рекомендуется за рубежом). Полное сравнение узлов — в Руководстве по Base URL.
Если таймауты сопровождаются частыми 429 Too Many Requests, проблема обычно в квоте параллельных запросов, а не в вашем таймауте.Лимиты параллельных запросов применяются к каждой модели отдельно, а не ко всей вашей учетной записи. У конкретной модели — особенно недавно выпущенной или с ограниченной доступностью — может быть более низкая квота.Что делать:
  1. Реализуйте экспоненциальный backoff, чтобы не забивать лимит рывками
  2. Если 429 продолжают появляться, свяжитесь со службой поддержки APIYI — мы можем проверить фактическую квоту этой модели и помочь ее скорректировать
См. Сколько параллельных запросов я могу использовать? для правил.

Примеры кода

Будьте осторожны с автоповтором при длинных запросах: многие SDK по умолчанию повторяют попытку дважды. Если задача на генерацию изображений или рассуждение завершится по тайм-ауту и выполнит повтор, с вас могут списать оплату три раза, а результата не будет. Установите max_retries в 0 и управляйте повторами в логике своего приложения.

Все еще возникает тайм-аут после увеличения времени ожидания? Проверьте каждый участок пути

1

Шаг 1: Подтвердите, что тайм-аут SDK действительно применяется

Некоторые фреймворки добавляют еще один тайм-аут поверх HTTP-клиента. Выведите фактическую конфигурацию и убедитесь, что используется именно тот параметр, который вы изменили.
2

Шаг 2: Проверьте каждый участок пути

Любой уровень с тайм-аутом, меньшим, чем время генерации, отключит соединение раньше, чем это сделает ваш клиент:
  • Самостоятельно размещенный обратный прокси: Nginx proxy_read_timeout (60с по умолчанию)
  • Облачный балансировщик нагрузки: тайм-аут неактивного соединения
  • API gateway / CDN: тайм-аут origin
  • Serverless-функции: лимит выполнения (часто 30-60с по умолчанию)
  • Воркеры очереди задач: тайм-аут для каждой задачи
Каждый участок пути должен быть увеличен — изменение только на стороне клиента ничего не даст.
3

Шаг 3: Подтвердите, что вы не на узле CDN

Проверьте, что ваш базовый URL — api-cf.apiyi.com. Для длительных запросов переключитесь на api.apiyi.com или vip.apiyi.com.Как правило, 524 почти всегда означает тайм-аут на уровне Cloudflare, а не медленную модель.
4

Шаг 4: Отличайте тайм-ауты от лимитов параллельных запросов

Смотрите на код статуса: 524 и разорванные соединения — это проблемы с тайм-аутом; 429 — это проблема квоты. Способы исправления совершенно разные.
5

Шаг 5: Проверьте журналы вызовов на фактическую задержку

Посмотрите фактическую длительность запроса и тарификацию в консоли журналы вызовов, затем определите на ее основе разумный тайм-аут.

Частые вопросы

Нет. Как только ваш клиент отключается, сервер и upstream все равно завершают задачу, поэтому расходы действительно возникают.Правильный подход — сразу установить таймаут с безопасным верхним пределом, а не использовать маленькое значение и полагаться на повторные попытки — они только увеличивают счет.
Эндпоинты генерации изображений сейчас работают в режиме синхронной сквозной передачи, и мы не храним бизнес-данные клиентов, поэтому вариант «получить по ID после разрыва соединения» недоступен.Рекомендуемая схема: синхронный вызов + щедрый таймаут + ваша собственная таблица состояний задач. По сути это легковесная асинхронная очередь. См. Эндпоинты генерации изображений синхронные или асинхронные?Модели video generation изначально асинхронны и это их не затрагивает.
Частично — но не полагайтесь на это.Потоковая передача действительно выдает первый token раньше, что снижает риск полного отсутствия ответа. Но модель рассуждения может не выдавать ничего во время фазы рассуждения, поэтому таймаут чтения все равно срабатывает, а полный вывод в целом занимает столько же времени.Правильный подход — потоковая передача плюс щедрый таймаут.
На тарификацию это не влияет — с вас взимается плата за использованные tokens и вызовы, а не за то, сколько вы ждали.Единственный вопрос — это использование ресурсов на вашей стороне: долгое соединение занимает воркер или слот пула соединений. При высокой параллельности пропускайте запросы на генерацию изображений и рассуждение через асинхронный I/O или выделенную очередь для долгих задач.
  • 524: таймаут на уровне Cloudflare, то есть вы использовали api-cf.apiyi.com, и запрос превысил примерно 100 секунд. Переключитесь на другие узлы.
  • 429: лимит параллельных запросов или rate limit, не связанный с длительностью. Добавьте экспоненциальную задержку между повторами и обратитесь в поддержку, если это сохраняется.

Лучшие практики Image API

Таблица таймаутов по моделям и справка по формату вывода

Как задать базовый URL?

Различия между четырьмя узлами и как выбрать подходящий

Эндпоинты для изображений синхронные или асинхронные?

Синхронный режим и управление задачами на стороне клиента

Сколько параллельных запросов я могу использовать?

Ограничения параллельных запросов по типу модели и запросам на квоту

Свяжитесь с нами

Поддержка WeCom

QR-код поддержки WeComСканируйте QR-код или нажмите, чтобы связаться с поддержкойВопросы по устранению таймаутов и запросам квоты на параллельные запросы

Электронная почта

Поддержка: [email protected]Коммерческий отдел: [email protected]