Gemini Stream Generate Content
使用 Gemini Stream Generate Content API 接收 SSE 串流生成結果。
Stream Generate Content API 使用與一般生成相同的 Content、Parts、Bearer 身分驗證和生成設定,並透過單向 SSE 持續傳回 GenerateContentResponse 資料區塊;它不同於以 WebSocket 為基礎的雙向 Live API。
用戶端應依空行邊界解析每個 SSE data:,再依序串接文字或 Structured Output 片段,不能對完整回應串流一次執行 JSON.parse。中間資料區塊可能沒有 finishReason;當 usageMetadata 出現時應保留最新值。相同的 responseId 用於關聯同一次生成的所有資料區塊;如果缺少 candidates,請檢查 promptFeedback。
/v1beta/models/{model}:streamGenerateContent使用 SSE 持續傳回 GenerateContentResponse 資料塊。
授權
bearerAuth 在 Authorization Header 中使用 Bearer your-api-key。
傳遞位置: header
路徑參數
用於生成內容的模型 ID。路徑中會自動組成 models/{model}。
"MODEL_ID"查詢參數
選擇 SSE 傳輸格式。該參數屬於 URL 查詢參數,不屬於 GenerateContentRequest 請求體。
"sse"可用值
- "sse"
請求主體
Gemini 使用 Content 與 Parts 表達文字、多模態輸入、工具和生成設定。
application/json使用 user 與 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 資料結構
以下欄位描述單一 data: 事件中的 JSON,不代表完整的 SSE 文字串流。