Асинхронные запросы
Постановка поддерживаемых запросов в очередь и получение готового результата через Partner API.
В асинхронном режиме Model Gate принимает запрос и сразу возвращает его идентификатор. Готовый результат можно получить через Partner API или по обратному вызову, настроенному в профиле. Обработка не зависит от исходного HTTP-соединения.
Асинхронный режим поддерживается для:
POST /v1/chat/completionsPOST /v1/messagesPOST /v1/responses
Асинхронные запросы не могут использовать stream: true.
Поставить запрос в очередь
Добавьте расширение Model Gate "async": true в корректный запрос.
Запрос
curl https://api.model-gate.com/v1/responses \
-H "Authorization: Bearer mg_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4",
"input": "Write a short release summary.",
"async": true,
"stream": false
}'
Ответ — 202
{
"request_id": "01KZ...",
"status": "queued",
"result_url": "https://p-api.model-gate.com/api/v1/requests/01KZ..."
}
Поле async — параметр Model Gate, а не выбранной модели. Алиасы разрешаются в канонические модели. На момент выполнения ключ должен сохранять необходимые права; действуют обычные тарифы и лимиты. Собственный асинхронный режим не использует ценовой коэффициент пакетных запросов.
При недостаточном балансе или исчерпании лимита ключа/группы запрос может остаться в состоянии queued, не расходуя попытку выполнения. Пополнение, сброс счётчика использования или увеличение лимита могут снова разрешить выполнение. Предварительное резервирование оценочной стоимости не выполняется: принятая работа может завершиться с полной фактической стоимостью, даже если параллельные запросы сделают баланс отрицательным или немного превысят лимит. Новые выполнения блокируются до восстановления доступности аккаунта.
Поведение при восстановлении
Собственный асинхронный режим обеспечивает выполнение как минимум один раз, а не строго один раз. После прерывания запрос может быть выполнен повторно под тем же идентификатором Model Gate, даже если поставщик уже принял его. Защита от повторного списания не гарантирует однократность внешних действий инструментов. Делайте побочные эффекты приложения идемпотентными. Это поведение общей асинхронной очереди отличается от выделенного протокола Images.
Получить результат
Используйте ключ Partner API того же аккаунта Model Gate.
Запрос
curl https://p-api.model-gate.com/api/v1/requests/01KZ... \
-H "Authorization: Bearer mg_partner_..."
Ответ — обработка продолжается
{
"data": {
"request_id": "01KZ...",
"status": "processing",
"created_at": "2026-08-05 10:00:00",
"started_at": "2026-08-05 10:00:01",
"completed_at": null,
"expires_at": "2026-08-06 10:00:00"
}
}
Ответ — завершено
{
"data": {
"request_id": "01KZ...",
"status": "completed",
"response_status": 200,
"response_headers": {
"content-type": ["application/json"]
},
"response": {
"id": "resp_...",
"object": "response",
"status": "completed"
},
"created_at": "2026-08-05 10:00:00",
"started_at": "2026-08-05 10:00:01",
"completed_at": "2026-08-05 10:00:03",
"expires_at": "2026-08-06 10:00:00"
}
}
Эндпоинт результата возвращает полное сохранённое тело ответа поставщика до expires_at. Чужой, просроченный или неизвестный идентификатор запроса возвращает 404.
Ошибки
{
"error": {
"type": "invalid_request_error",
"code": "invalid_async_stream_combination",
"message": "Async requests cannot be streamed."
}
}
Неподдерживаемые эндпоинты возвращают async_not_supported.
Обратные вызовы
Готовые асинхронные результаты могут доставляться по обратному вызову, настроенному в профиле, независимо от дальнейших запросов к Model API. Повторные попытки доставки могут принести одно событие несколько раз. Проверка подписи, повторные попытки и идемпотентность описаны в разделе Обратные вызовы.
Для Images используется другая очередь
Не передавайте верхнеуровневый async для Images. Используйте model_gate.async:true и Idempotency-Key на выделенных эндпоинтах генерации/редактирования. Опрашивайте /v1/images/operations, а не результаты запросов Partner API. Images не повторяет автоматически платный POST с неизвестным исходом. Старый запрос Images может вернуть images_dedicated_api_required; проверьте существующий результат и свяжитесь с поддержкой до создания нового намерения, поскольку эта ошибка не доказывает отсутствие ранее выполненной работы. Распознавание речи доступно только через специализированный API транскрибации, а не через эту очередь. Аудиопуть, запущенный через общую очередь, отклоняется с audio_dedicated_api_required; не ставьте его повторно в очередь как новый платный запрос.
Специализированные операции Video не принимаются этой общей очередью. Используйте JSON API Video с собственным Idempotency-Key и историей операций; попытка отправки Video через старый путь завершается с video_dedicated_api_required до обращения к поставщику. API Video.