SSEを有効にする#
stream: true と stream_options: { include_usage: true } を設定します。各データ行をJSONとして読み取り、存在する場合は choices[0].delta.content を追加します。ネットワークチャンクが1つのイベントであると想定しないでください。
終了と使用量#
finish_reason が選択肢を閉じます。最終的な使用量フレームは別々に到着する場合があります。[DONE] または端末エラーでのみ停止してください。文字からトークンを推定するのではなく、使用量合計を保持してください。
中断されたリクエスト#
ゲートウェイは、信頼できるプロバイダー使用量が利用可能になるまで請求予約を保持します。ブラウザの切断は、プロバイダーが生成を停止した証拠ではありません。最終使用量が欠落している場合、予約は推定料金を黙って請求するのではなく、調整待ちのままになります。
ブラウザ配信#
APIキーはサーバー上に保持してください。独自の同一オリジンエンドポイントを使用してSSEをブラウザに転送してください。ブラウザストリーミングレシピを参照してください。
リクエスト例
curl https://weightsapi.com/v1/chat/completions \
-H "Authorization: Bearer $WEIGHTSAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-32B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'