异步请求
对支持的推理请求进行排队并通过Partner API检索其完成的结果。
异步请求
Model Gate 异步模式将推理作业存储在持久的 MariaDB 队列中,并立即返回请求 ID。独立的 sub2proxy 工作人员通过租约声明排队作业,并且在进程重新启动后可以恢复放弃的租约。完成的结果从 Partner API 读取或传递到配置文件中配置的回调。
支持异步模式:
POST /v1/chat/completionsPOST /v1/messagesPOST /v1/responsesPOST /v1/images/generations
异步请求不能使用 stream: true。
队列请求
添加模型门扩展 "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 字段在请求发送到上游之前被删除。在作业排队之前,模型别名将解析为其规范模型。工作人员重新验证密钥并通过与同步推理相同的模型门请求/会计核心执行。队列行不包含 API 密钥秘密。本机异步定价保持不变,并且不使用批量请求价格系数。
在工作人员领取物品之前,它会检查 MariaDB 中的当前帐户余额和当前可重置密钥/组支出使用情况。如果帐户余额不为正,或者配置的密钥/组支出限额已用完,则该项目将保留 queued 并且不消耗执行尝试。稍后充值、使用重置或限制增加将使该项目自动符合资格。 Model Gate 不保留估计的请求成本:已通过准入的工作可以完成并结算其全部实际成本,即使并发工作使最终余额为负数或略微超出支出限额。然后,新的执行将被阻止,直到该帐户再次符合资格。
恢复语义
持久队列提供 至少一次恢复,不是一次性执行。如果工作进程在上游提供者接受请求之后但在 Model Gate 持久存储异步结果之前停止,则租约最终会过期,并且另一个工作进程可能会重试相同的 Model Gate 请求 ID。结算可以防止双重借记,但通过模型工具引起外部副作用的应用程序应该使这些副作用幂等。
检索结果
使用属于同一 Model Gate 帐户的 Partner API 密钥。
要求
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。返回外部、过期或未知的请求 ID 404。
错误
{
"error": {
"type": "invalid_request_error",
"code": "invalid_async_stream_combination",
"message": "Async requests cannot be streamed."
}
}
不支持的端点返回 async_not_supported。
回调
已完成的异步结果会持久排队,以便传送到配置文件中配置的回调 URL。回调传递有自己的工作/重试队列,因此不会等待另一个模型 API 请求。维护还将终端异步行协调到请求历史记录中,并在工作线程崩溃后恢复丢失的完成回调。看 回调 用于签名验证、重试和幂等性指导。