Ideal House
Перейти к содержанию

Лимит задач API#

API генерации используют асинхронную обработку задач. При успешном создании задачи API возвращает taskId. Используйте конечную точку получения результата, чтобы проверять статус задачи, ход выполнения, позицию в очереди и итоговый результат.

Этот документ описывает публичные лимиты задач для интеграций API, включая запросы в минуту, незавершённые задания и то, как тарифицируются кредиты при отправке нескольких задач.


Сводка ограничений частоты запросов#

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

Рабочий процессЗапросы в минутуОдновременные / незавершённые заданияТарификация кредитов
AI 3DНет фиксированного публичного лимита RPM1 активное задание одновременно. Дополнительные отправленные задания ожидают в очереди.Тарифицируется за каждую принятую задачу
Другие API генерацииНет фиксированного публичного лимита RPMДо 30 незавершённых заданий на аккаунт и рабочий процессТарифицируется за каждую принятую задачу

Незавершённые задания включают как задания в очереди, так и активные задания.

Лимит в 30 заданий — это лимит количества задач, а не пакет кредитов или бесплатная квота. Каждая принятая задача генерации тарифицируется согласно правилам кредитов этого API.


Статус задачи#

СтатусЗначениеУчитывается как незавершённое
UnprocessedЗадача принята и ожидает запускаДа
ProcessingЗадача сейчас выполняетсяДа
SuccessЗадача успешно завершенаНет
FailedЗадача завершилась ошибкойНет

Конечная точка результата также может возвращать waitNumber, что указывает на позицию в очереди для ожидающей задачи. Когда задача выполняется или завершена, waitNumber обычно равно 0.


Задачи AI 3D#

Задачи AI 3D обрабатываются по одной.

Вы можете отправлять несколько задач AI 3D, и каждая успешная отправка возвращает taskId. Однако одновременно выполняется только одна задача AI 3D. Дополнительные задачи AI 3D ожидают, пока текущая задача не завершится.

Рекомендуемое поведение интеграции:

  1. Сохраняйте возвращённый taskId.
  2. Опрашивайте конечную точку результата каждые 3-5 секунд.
  3. Рассматривайте Unprocessed как ожидание.
  4. Рассматривайте Processing как активное выполнение.
  5. Используйте waitNumber и percentage, чтобы показывать прогресс вашим пользователям.

Другие задачи генерации#

Для рабочих процессов генерации, отличных от AI 3D, каждый аккаунт может иметь до 30 незавершённых заданий для одного и того же рабочего процесса.

Это лимит на уровне аккаунта. Если под одним и тем же аккаунтом создано несколько ключей API, они разделяют один и тот же лимит.

Это не всегда означает, что все 30 заданий выполняются одновременно. Часть заданий может ожидать в очереди, а часть — выполняться. Лимит учитывает обе группы.

Когда у аккаунта уже есть 30 незавершённых заданий для рабочего процесса, новые отправки задач для этого рабочего процесса могут быть временно отклонены, пока существующие задания не завершатся.

КодНазваниеЗначение
9015TASK_NOT_COMPLETEDАккаунт достиг лимита незавершённых заданий для этого рабочего процесса. Повторите попытку после завершения существующих заданий.

Кредиты и незавершённые задания#

Кредиты списываются, когда задача генерации успешно создана. Если задача в конечном счёте завершается ошибкой, списанные кредиты автоматически возвращаются.

Лимит незавершённых заданий не меняет стоимость каждой задачи в кредитах. Если вы отправляете несколько задач, плата списывается отдельно за каждую принятую задачу.

Примеры:

ПримерАктивные незавершённые заданияСписанные кредиты при создании задачи
Отправить 30 задач по замене мебели3030 x 1 кредит = 30 кредитов
Отправить 30 задач по декорированию дома с modelType: "Base"3030 x 3 кредита = 90 кредитов
Отправить 30 задач по декорированию дома с modelType: "Pro"3030 x 10 кредитов = 300 кредитов
Отправить 10 задач по ландшафтному дизайну Flash, 10 Base и 10 Pro3010 x 1 + 10 x 3 + 10 x 10 = 140 кредитов

Полную таблицу кредитов см. в Справочнике по списанию кредитов.

Опрос конечной точки результата не создаёт новую задачу генерации и не учитывается как незавершённое задание.


Временные ответы о занятости службы#

В некоторых случаях новые отправки задач могут быть временно отклонены, потому что служба занята. Это может происходить даже если у вашего аккаунта меньше, чем 30 незавершённых заданий.

КодНазваниеЗначение
5020QUEUE_TASK_OVERFLOWСлужба сейчас занята. Повторите попытку позже.

Это временное состояние. Не рассматривайте его как постоянный сбой.


Рекомендуемое поведение клиента#

  1. Сохраняйте каждый возвращённый taskId.
  2. Регулярно опрашивайте статус задачи.
  3. Ведите локальный список незавершённых заданий по аккаунту и рабочему процессу.
  4. Удаляйте задания из списка незавершённых, когда статус становится Success или Failed.
  5. Для рабочих процессов, не относящихся к AI-3D, держите количество незавершённых заданий на уровне не выше 30 перед отправкой новых.
  6. Если вы получаете 9015 или 5020, повторите попытку после задержки.

Рекомендуемое поведение при повторе:

СитуацияРекомендуемое действие
9015 TASK_NOT_COMPLETEDДождитесь завершения существующих заданий от того же аккаунта и рабочего процесса, затем повторите попытку.
5020 QUEUE_TASK_OVERFLOWПодождите и повторяйте попытки, увеличивая задержку между ними.
Задача в состоянии UnprocessedПродолжайте опрос; задача ожидает.
Задача в состоянии ProcessingПродолжайте опрос; задача выполняется.

Нужна более высокая пропускная способность?#

Если стандартный лимит 30 незавершённых заданий на аккаунт и рабочий процесс не соответствует потребностям вашей интеграции, напишите на [email protected]. Мы рассмотрим ваш сценарий и обсудим повышение пропускной способности или индивидуальные условия обслуживания.