Gateway
Справочник API

Async Routes

Асинхронные задачи для долгих запросов

Асинхронные маршруты нужны для задач, которые могут выполняться дольше обычного HTTP-запроса.

Общий поток:

  1. Отправить задачу через POST /v1/async/....
  2. Получить job_id.
  3. Проверять результат через GET /v1/async/.../{job_id}.
  4. Повторять проверку, пока задача не завершится.

job_id принадлежит рабочему пространству, где задача была создана. Чужой ключ не сможет получить результат.

Тело запроса на создание задачи

Асинхронный POST принимает те же основные поля, что и соответствующий обычный маршрут.

ПолеОбязательностьОписание
modelДаПубличное имя модели.
Основной вводДаНапример messages, prompt, input, file, image, query или documents.
Параметры моделиНетНапример temperature, max_tokens, size, voice, top_n.

Поля ответа при создании

ПолеОбязательностьОписание
idДаПубличный идентификатор задачи. Обычно имеет вид job_*.
statusДаНачальный статус задачи.
created_atНетВремя создания, если доступно.

Пример создания

curl {{PUBLIC_API_BASE_URL}}/async/chat/completions \
  -H "Authorization: Bearer gw_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "provider/model-name",
    "messages": [
      {"role": "user", "content": "Подготовь черновик письма."}
    ]
  }'
{
  "id": "job_example",
  "status": "queued"
}

Проверка результата

job_id передаётся в пути.

Поле ответаОбязательностьОписание
idДаИдентификатор задачи.
statusДаqueued, processing, completed, failed или другой статус поставщика.
resultНетИтог обычного маршрута, если задача завершилась.
errorНетОшибка, если задача завершилась неуспешно.
curl {{PUBLIC_API_BASE_URL}}/async/chat/completions/job_example \
  -H "Authorization: Bearer gw_live_..."
{
  "id": "job_example",
  "status": "completed",
  "result": {
    "id": "chatcmpl_example",
    "object": "chat.completion",
    "choices": [
      {
        "message": {
          "role": "assistant",
          "content": "Черновик письма готов."
        },
        "finish_reason": "stop"
      }
    ]
  }
}

Повторы

Не опрашивайте задачу слишком часто. Начните с задержки в несколько секунд и увеличивайте её для долгих задач.