Gemini Stream Generate Content
Gemini Stream Generate Content Endpointを使用して、SSEでストリーミング生成結果を受信します。
Stream Generate Contentは、通常の生成と同じContent、Parts、Bearer認証、生成設定を使用し、一方向のSSEでGenerateContentResponseチャンクを継続的に返します。双方向WebSocketを使用するLive APIとは異なります。
クライアントは空行を境界として各SSEのdata:フィールドを解析し、テキストまたはStructured Outputの断片を順番に連結してください。レスポンスストリーム全体を一度にJSON.parseしないでください。途中のチャンクにはfinishReasonが含まれない場合があります。usageMetadataが現れた場合は最新の値を保持してください。同じ生成に属するチャンクは同じresponseIdを使用します。candidatesがない場合はpromptFeedbackを確認してください。
/v1beta/models/{model}:streamGenerateContentGenerateContentResponse のデータチャンクを SSE で継続的に返します。
認証
bearerAuth Authorization Header に Bearer your-api-key を指定します。
指定位置: header
パスパラメーター
コンテンツ生成に使用するモデル ID です。パスでは自動的に models/{model} の形式になります。
"MODEL_ID"クエリパラメーター
SSE 転送形式を選択します。このパラメーターは URL の Query Parameter であり、GenerateContentRequest の Request Body には含まれません。
"sse"指定可能な値
- "sse"
リクエストボディ
Gemini は Content と Parts を使用して、テキスト、マルチモーダル入力、ツール、生成設定を表現します。
application/jsonuser と model の Content を使用して、単一ターンまたは複数ターンのテキスト会話を構成します。
- contents[]
- 時系列順に並べた会話コンテンツです。
- parts[].text
- 各メッセージのテキストコンテンツです。
- role
- メッセージの作成者です。通常は user または model を使用します。
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "こんにちは。自己紹介してください。"
}
]
}
]
}Contentオブジェクトとtext Partを使用して、単一ターンまたは複数ターンのテキスト会話を構成します。
レスポンスボディ
text/event-stream
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
SSE data の構造
以下のフィールドは、SSE テキストストリーム全体ではなく、1 つの data: イベント内の JSON を示します。