Skip to main content
OpenAI Tasks API используется для запроса результатов задач, ранее отправленных в режиме обратного вызова к интерфейсу изображений OpenAI. Когда вы не можете дождаться синхронного HTTP-ответа или хотите запросить задачу позже, используйте этот интерфейс. В режиме обратного вызова оригинальный интерфейс изображений сразу после обработки запроса возвращает task_id. Вы просто держите этот task_id и, при необходимости, используете его для запроса в этом интерфейсе, не нужно дополнительно передавать пользовательский trace_id (только если вы хотите связать его с вашим бизнес-идентификатором).
Задача будет сохранена только в том случае, если в оригинальном запросе изображений был указан callback_url. Запросы, выполненные синхронно (не в режиме обратного вызова), не будут храниться.

Процесс подачи заявки

OpenAI Tasks API использует ту же авторизацию, что и существующие сервисы OpenAI. Если вы уже подали заявку на OpenAI Images Generations, вы можете сразу использовать тот же токен для вызова этого интерфейса, не нужно подавать дополнительную заявку. Новые пользователи при первой подаче заявки имеют бесплатный лимит.

Адрес интерфейса

Поддерживаемые action:

Заголовки запроса

  • accept: application/json
  • authorization: Bearer {token}
  • content-type: application/json

Запрос одной задачи (retrieve)

Тело запроса

Необходимо передать хотя бы одно из id или trace_id. В общем случае достаточно использовать id, возвращенный в ответе на запрос, trace_id передавайте только если хотите связать с вашим бизнес-идентификатором.

Пример кода

CURL

Python

Пример ответа

Когда задача существует:
Когда не найдено ни одной задачи, возвращается пустой объект:

Описание полей

  • id: ID задачи, сгенерированный при обработке оригинального запроса на изображение.
  • trace_id: Пользовательский идентификатор отслеживания, переданный в оригинальном запросе, для удобства связывания с бизнесом клиента.
  • type: Тип задачи. Задачи, записанные в серии gpt-image (например, gpt-image-2), имеют тип images; gpt-image-1, nano-banana и т.д. используют images_generations / images_edits, некоторые интерфейсы чата имеют тип chat_completions_image.
  • request: Полное тело оригинального запроса.
  • response: Финальное тело ответа, возвращенное по завершении обратного вызова.
  • created_at / started_at / finished_at: Unix временные метки (секунды, с плавающей запятой).
  • elapsed: Время выполнения (секунды, с плавающей запятой).
  • application_id / user_id / credential_id: ID приложения, конечного пользователя, учетных данных.

Пакетный запрос (retrieve_batch)

Тело запроса

Необходимо передать одно из ids / trace_ids / application_id / user_id или временные окна created_at_*.

Пример CURL

Пример ответа

Конечный пример: отправка и опрос

API задач в основном служит для асинхронного процесса в режиме обратного вызова. В режиме обратного вызова интерфейс отправки немедленно синхронно возвращает task_id (то есть ID задачи), после чего вам просто нужно использовать этот task_id для опроса интерфейса задач, без необходимости самостоятельно генерировать trace_id.

Важные замечания

  • Интерфейс задач сам по себе не облагается платой, можете смело опрашивать. Только оригинальные запросы на генерацию/редактирование изображений будут стоить.
  • Запись задачи будет создана только если оригинальный запрос содержит callback_url; синхронные вызовы не создадут задачу, которую можно будет запросить.
  • Записи задач, превышающие срок хранения на платформе, могут быть удалены.