POST
/v1/gemini/models/{model}:streamGenerateContentGemini 多模态流式生成
用于 Gemini 协议流式生成。请求体与 generateContent 基本一致,contents.parts 同样支持 text、inlineData 和 fileData 图片输入,响应为 SSE 分片;鉴权、模型权限、余额、用量、日志与计费均复用平台 Responses 链路。
基础信息
| 鉴权 | Authorization: Bearer sk-... / x-goog-api-key: sk-... / ?key=sk-... |
| 请求类型 | application/json |
| 响应类型 | text/event-stream |
请求参数
Path
字段
类型
必填
位置
说明
modelstring
是
path
平台模型 ID,写在 Gemini 路径中。
示例:"gemini-2.5-flash"Body
字段
类型
必填
位置
说明
contentsarray<object>
是
body
Gemini 内容数组。parts 支持 text、inlineData 和 fileData,可用于图文问答、OCR、图片理解等图片输入场景。
rolestring
否
body
内容角色。
示例:"user"partsarray<object>
是
body
内容片段。
systemInstructionobject
否
body
系统指令;官方文档当前说明为 text only。
rolestring
否
body
内容角色。
示例:"user"partsarray<object>
是
body
内容片段。
toolsarray<object>
否
body
工具列表。
functionDeclarationsarray<object>
否
body
函数声明列表。
googleSearchRetrievalobject
否
body
Google Search 检索工具。
codeExecutionobject
否
body
代码执行工具。
googleSearchobject
否
body
Google Search 工具。
computerUseobject
否
body
Computer Use 工具。
urlContextobject
否
body
URL 上下文工具。
toolConfigobject
否
body
工具配置。
functionCallingConfigobject
否
body
函数调用策略。
retrievalConfigobject
否
body
检索策略。
safetySettingsarray<object>
否
body
安全设置。
categorystring
是
body
安全分类。
示例:"HARM_CATEGORY_HATE_SPEECH"thresholdstring
是
body
安全阈值。
示例:"BLOCK_ONLY_HIGH"generationConfigobject
否
body
生成配置。
candidateCountinteger
否
body
候选数。
示例:1stopSequencesarray<string>
否
body
停止序列。
示例:["</end>"]maxOutputTokensinteger
否
body
最大输出 token 数。
示例:512temperaturenumber
否
body
温度。
示例:0.7topPnumber
否
body
Top-p。
示例:0.95topKinteger
否
body
Top-k。
示例:40seedinteger
否
body
随机种子。
示例:42responseMimeTypestring
否
body
候选输出 MIME 类型。
示例:"application/json"responseSchemaobject
否
body
候选输出 Schema。
responseJsonSchemaobject
否
body
候选输出 JSON Schema。
responseModalitiesarray<string>
否
body
响应模态。
示例:["TEXT"]presencePenaltynumber
否
body
出现惩罚。
示例:0frequencyPenaltynumber
否
body
频率惩罚。
示例:0responseLogprobsboolean
否
body
是否返回 logprobs。
示例:falselogprobsinteger
否
body
每步返回的 top logprobs 数量。
示例:5enableEnhancedCivicAnswersboolean
否
body
是否启用增强 civic 回答。
示例:falsespeechConfigobject
否
body
语音生成配置。
thinkingConfigobject
否
body
思考配置。
imageConfigobject
否
body
图像生成配置。
mediaResolutionstring
否
body
媒体分辨率。
示例:"HIGH"cachedContentstring
否
body
缓存内容名称。
示例:"cachedContents/abc123"serviceTierstring
否
body
服务层级。
示例:"standard"storeboolean
否
body
是否记录请求日志。
示例:false请求示例
json
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "请流式输出这张图片的识别结果。"
},
{
"inlineData": {
"mimeType": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAABXUlEQVR42u3dwQnCQBBA0VRhAbZhLzaRDuzNdjyJ4MkcBJG4kihmZiQv/Armkcu6E7vT+abEOiMAAEAAAAgAAAEAIAAABACAAAAQAAACAEAAAAgAAJUB8DQfAAAAAAAAAAAAAAAAAAAA4G+e7XEPIHTccwKQM/evJQD8fvQfMVQB2B0ukcVMf44BgGWnP2kAYNnRTzIACJr+OwMAAGoABEy/aQAgdPqvBgCipz8yAAAgFSBl+s8GAAAAWC1A4vQfBgAAAAAAAAAAAMEA6dO/5w3wBgAAAAAAAAAAnIY6DQUAAIDfhAEAcC/IzTg349wNBQDAfoANGRsydsRsSa5gS9KeMACb8r4VAcDXUgAAAAAAAAAAAACMn2u/qRwAAAAAAAAAAAAAAAAAAAAAwFmQsyAAAAAAqAAgf2cLQAAACAAAAQAgAAAEAIAAABAAAAIAQAAACAAAAQAgAADUagAbMOXIAHaxNAAAAABJRU5ErkJggg=="
}
}
]
}
]
}响应示例
json
{
"responseId": "resp-123",
"modelVersion": "gemini-2.5-flash",
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "千云模型网关"
}
]
},
"finishReason": "STOP",
"safetyRatings": [],
"citationMetadata": {},
"tokenCount": 8,
"groundingMetadata": {},
"index": 0
}
],
"promptFeedback": {
"blockReason": null,
"safetyRatings": []
},
"usageMetadata": {
"promptTokenCount": 8,
"cachedContentTokenCount": 0,
"candidatesTokenCount": 8,
"toolUsePromptTokenCount": 0,
"thoughtsTokenCount": 0,
"totalTokenCount": 16,
"promptTokensDetails": [],
"cacheTokensDetails": [],
"candidatesTokensDetails": [],
"toolUsePromptTokensDetails": []
}
}响应字段
字段
类型
必填
位置
说明
responseIdstring
否
body
响应 ID。
示例:"resp-123"modelVersionstring
否
body
用于生成响应的模型版本。
示例:"gemini-2.5-flash"promptFeedbackobject
否
body
提示过滤反馈。
blockReasonstring
否
body
提示被屏蔽原因。
示例:"SAFETY"safetyRatingsarray<object>
否
body
提示安全评分。
candidatesarray<object>
否
body
候选响应。
contentobject
否
body
模型生成内容。
finishReasonstring
否
body
停止原因。
示例:"STOP"safetyRatingsarray<object>
否
body
候选安全评分。
citationMetadataobject
否
body
引用元数据。
tokenCountinteger
否
body
候选 token 数。
示例:28groundingAttributionsarray<object>
否
body
检索归因信息。
groundingMetadataobject
否
body
检索 grounding 元数据。
avgLogprobsnumber
否
body
平均 log 概率。
示例:-0.4logprobsResultobject
否
body
logprobs 结果。
urlContextMetadataobject
否
body
URL 上下文元数据。
indexinteger
否
body
候选索引。
示例:0finishMessagestring
否
body
停止原因详情。
usageMetadataobject
否
body
token 使用统计。
promptTokenCountinteger
否
body
提示 token 数。
示例:12cachedContentTokenCountinteger
否
body
缓存内容 token 数。
示例:0candidatesTokenCountinteger
否
body
候选 token 总数。
示例:28toolUsePromptTokenCountinteger
否
body
工具使用 prompt token 数。
示例:0thoughtsTokenCountinteger
否
body
思考 token 数。
示例:0totalTokenCountinteger
否
body
总 token 数。
示例:40promptTokensDetailsarray<object>
否
body
提示输入的模态统计。
cacheTokensDetailsarray<object>
否
body
缓存输入的模态统计。
candidatesTokensDetailsarray<object>
否
body
响应输出的模态统计。
toolUsePromptTokensDetailsarray<object>
否
body
工具使用 prompt 的模态统计。
错误码
| HTTP | code | 说明 |
|---|---|---|
| 400 | invalid_request_error | 请求体结构不合法、缺少必填参数,或 JSON 无法解析。 |
| 401 | invalid_auth_header | 缺少或传错鉴权头,网关无法识别当前调用身份。 |
| 403 | model_not_allowed | 当前 API Key 没有访问该模型的权限。 |
| 402 | insufficient_balance | 余额不足,平台在调用前预检时已拒绝请求。 |
| 503 | model_not_available | 当前模型没有可用路由或上游渠道不可用。 |
在线调试
Playground · 浏览器直连网关
Gemini 多模态流式生成
兼容 Gemini streamGenerateContent 协议,支持文本和图片输入,返回 text/event-stream。
提示:图片输入放在 contents.parts 中;inlineData 用于 Base64 图片,fileData 用于已上传或可访问的图片 URI。
提示:该接口是流式文本/多模态理解入口,不是图片生成接口;Gemini 文生图和图生图请使用本分组下的对应入口。
json
尚未发起请求。bash
curl --location --request POST 'https://api.harnmodel.com/v1/gemini/models/gemini-2.5-flash:streamGenerateContent' \
--header 'Authorization: Bearer sk-xxx' \
--header 'Content-Type: application/json' \
--data '{}'多语言示例
bash
curl --location --request POST 'https://api.harnmodel.com/v1/gemini/models/gemini-2.5-flash:streamGenerateContent' \
--header 'Authorization: Bearer sk-xxx' \
--header 'Content-Type: application/json' \
--data '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "请流式输出这张图片的识别结果。"
},
{
"inlineData": {
"mimeType": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAABXUlEQVR42u3dwQnCQBBA0VRhAbZhLzaRDuzNdjyJ4MkcBJG4kihmZiQv/Armkcu6E7vT+abEOiMAAEAAAAgAAAEAIAAABACAAAAQAAACAEAAAAgAAJUB8DQfAAAAAAAAAAAAAAAAAAAA4G+e7XEPIHTccwKQM/evJQD8fvQfMVQB2B0ukcVMf44BgGWnP2kAYNnRTzIACJr+OwMAAGoABEy/aQAgdPqvBgCipz8yAAAgFSBl+s8GAAAAWC1A4vQfBgAAAAAAAAAAAMEA6dO/5w3wBgAAAAAAAAAAnIY6DQUAAIDfhAEAcC/IzTg349wNBQDAfoANGRsydsRsSa5gS9KeMACb8r4VAcDXUgAAAAAAAAAAAACMn2u/qRwAAAAAAAAAAAAAAAAAAAAAwFmQsyAAAAAAqAAgf2cLQAAACAAAAQAgAAAEAIAAABAAAAIAQAAACAAAAQAgAADUagAbMOXIAHaxNAAAAABJRU5ErkJggg=="
}
}
]
}
]
}'