非同期リクエスト
サポートされている推論リクエストをキューに入れ、Partner API を通じて完了した結果を取得します。
非同期リクエスト
Model Gate 非同期モードでは、推論ジョブを永続的な MariaDB キューに保存し、すぐにリクエスト ID を返します。独立した sub2proxy ワーカーはリースを使用してキューに入れられたジョブを要求し、放棄されたリースはプロセスの再起動後に回復できます。完成した結果は Partner API から読み取られるか、プロファイルで構成されたコールバックに配信されます。
非同期モードは以下に対してサポートされています。
POST /v1/chat/completionsPOST /v1/messagesPOST /v1/responsesPOST /v1/images/generations
非同期リクエストは使用できません 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 リクエスト/アカウンティング コアを通じて実行します。キュー行には API キーのシークレットが含まれていません。ネイティブの非同期価格は変更されておらず、バッチ リクエストの価格係数は使用されません。
ワーカーはアイテムを要求する前に、現在のアカウント残高と、MariaDB 内の現在のリセット可能なキー/グループの使用状況をチェックします。アカウント残高がプラスでない場合、または設定されたキー/グループの使用制限がすでに使い果たされている場合、アイテムはそのまま残ります。 queued 実行試行は消費されません。その後のチャージ、使用量のリセット、または制限の増加により、アイテムは自動的に対象になります。 Model Gate では、推定リクエスト コストを予約しません。すでに承認を通過した作業は、同時作業により最終残高がマイナスになるか、支出制限をわずかに超える場合でも、完了して実際のコスト全体を決済することができます。その後、アカウントが再び資格を得るまで、新しい実行はブロックされます。
回復セマンティクス
耐久性のあるキューが提供するのは、 少なくとも 1 回のリカバリ、正確に 1 回の実行ではありません。上流のプロバイダーがリクエストを受け入れた後、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 リクエストを待ちません。メンテナンスでは、ターミナルの非同期行をリクエスト履歴に調整し、ワーカーのクラッシュ後に失われた完了コールバックを回復します。見る コールバック 署名検証、再試行、冪等性ガイダンス用。