Skip to main content
POST
生成图片(Gemini 原生,SSE 流式)
使用 Gemini 原生 streamGenerateContent 按块接收生成结果。在图片模型中,此端点仅供 Google/Gemini 图片模型使用;其他图片模型请使用其相应的 OpenAI 图片接口。Gemini 聊天模型的原生流式调用不属于本图片接口文档的范围。

功能特性

  • 使用 Gemini 原生 streamGenerateContent 端点,按 SSE 数据块接收图片生成结果
  • 请求体结构与非流式接口相同,支持文生图、单图编辑、多图参考合成和多轮继续编辑
  • 可通过 generationConfig.responseModalities 与 generationConfig.imageConfig 配置图片输出;不需要 stream: true
  • 在 candidates[].content.parts[] 中接收文本和 Base64 图片,而不是 OpenAI 图片 URL 或命名事件

认证方式

POST https://api.hairoute.ai/v1/models/{model}:streamGenerateContent {model} 是 模型列表 中可用的 Google/Gemini 图片模型名,不放在请求体中。使用 HaiRoute API Key,通过 x-goog-api-key: YOUR_API_KEY 或 Authorization: Bearer YOUR_API_KEY 认证。请求体可传 contents、generationConfig.responseModalities 和 generationConfig.imageConfig;该路由始终返回 text/event-stream。

支持的图片模型

此端点仅用于 Google/Gemini 图片模型。

快速示例

生成方式

以下示例只展示请求体;四种方式都使用本页同一个端点与认证方式,不需要新增 mode 参数。图片 Base64 均为占位符,需替换为真实图片的纯 Base64 数据。

文生图

只传文本提示词,不传输入图片;可直接使用上面的快速示例。局部修改、风格转换等是提示词要求,不是独立的接口参数。

单图编辑

在同一条 user 消息中传入一张图片和编辑指令。下面是更换背景的例子;也可以在文本中要求保留主体、修改局部元素或调整风格。

多图参考合成

将多张参考图放入同一条 user 消息的 parts,用文本说明各图的用途。图片数量、尺寸及实际效果取决于所选模型和渠道的限制。

多轮继续编辑

把前一轮的 user 请求、实际返回的 candidates[0].content(作为 model 消息)和本轮的新指令依次放进 contents。下面仅示意结构:
实际调用时不要手写或裁剪上一轮的 model 内容;如果上一轮是流式响应,先按顺序汇总各 data: 块中同一候选的 content.parts,再将完整内容作为 model 消息回传,保留图片、文本及 thoughtSignature(如果返回)。不能只使用最后一个 SSE 块。多轮编辑和多图参考的效果取决于所选图片模型。

流式响应

服务端按 SSE 格式输出,每个 data: 行是一个完整的 Gemini GenerateContentResponse JSON 块;以下为示意,Base64 是占位值:
逐个解析 SSE data,检查 candidates[].content.parts[]:text 为文本,inlineData.data 为 Base64 图片,inlineData.mimeType 表示图片格式。块可能只包含部分字段;用量通常在后续块出现。此流没有 OpenAI 格式的命名事件和 [DONE] 标记,不要将 Base64 片段或单个块当作图片 URL。

常见错误排查

先检查 HTTP 状态及返回体中的 error;流式请求还需检查已收到的每个 SSE data: 块。不要在日志或求助信息中贴出 API Key、完整图片 Base64。

下一步

请求头

x-goog-api-key
string
必填

HaiRoute API Key。此处展示原生请求头;也可改用 Authorization: Bearer YOUR_API_KEY 认证(二选一)。

路径参数

model
string
必填

HaiRoute 可用的 Google/Gemini 图片模型名称

请求体

application/json
contents
object[]
必填

必填。Gemini 原生消息;文生图使用 user 消息及 text part,图生图可加入 inlineData part。

Minimum array length: 1
systemInstruction
object
generationConfig
object

Gemini 原生生成配置;具体能力由所选图片模型决定。

响应

SSE 数据流:每个 data 帧为一个 Gemini GenerateContentResponse JSON 块,无命名事件或 [DONE]。

The response is of type string.