# Gemini 图片接口

<a id="gemini-images"></a>

<a id="gemini-图片接口"></a>

## 接口说明

生图与编辑

本文介绍 Gemini 兼容接口，使用 Gemini GenerateContent 格式调用本站图片模型，API 地址为 `https://y.junlistudio.com/v1beta`。

GET`/v1beta/models`支持 Gemini 协议的模型列表

GET`/v1beta/models/{model}`读取单个 Gemini 模型

POST`/v1beta/models/{model}:generateContent`生图与编辑，返回内联图片

POST`/v1beta/models/{model}:streamGenerateContent?alt=sse`SSE 生图，出图后返回完整结果事件

API Key 使用本站密钥，可放在 `x-goog-api-key`、`Authorization: Bearer` 或 `?key=` 中。响应图片位于 `candidates[].content.parts[].inlineData`。

 参数 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
 `contents` | `array` | 是 | 图文消息，使用 user / model 角色；最多 128 条。 |
 `contents[].parts[].text` | `string` | 是 | 提示词。图生图时在同一 parts 数组中加入 inlineData。 |
 `contents[].parts[].inlineData` | `object` | 否 | 参考图：mimeType 与纯 base64 data；支持 PNG、JPEG、WebP、GIF，每张不超过 25 MiB，数量受模型配置限制。 |
 `generationConfig.responseModalities` | `array` | 否 | 支持 \["IMAGE"\] 或 \["TEXT", "IMAGE"\]；省略时请求图文输出。 |
 `generationConfig.imageConfig.aspectRatio` | `string` | 否 | 如 1:1、16:9；显式值必须在模型支持范围内。 |
 `generationConfig.imageConfig.imageSize` | `string` | 否 | 1K / 2K / 4K，省略按 1K 校验与计费；不支持的档位直接报错。 |
 `generationConfig.candidateCount` | `integer` | 否 | 当前仅支持 1。按一次请求及所选分辨率计费，候选数不是图片张数。 |

单次请求上限 100 MiB。多轮编辑需模型声明支持对应能力；将上一轮完整的 model content（包括 thoughtSignature）加入下一轮 contents。单轮模式支持文字和参考图；不支持的高级请求会明确报错。当前不提供 Files API、countTokens、工具调用或 512 分辨率。

流式地址为 `/v1beta/models/{model}:streamGenerateContent?alt=sse`：等待期间发送 SSE 心跳，出图完成后发送一个完整的 Gemini 结果事件并结束连接。无图或内容拒绝退回生图费用，并保留 Gemini 的 promptFeedback / finishReason；不伪造 token 用量。

sub2api 接入：选择 Gemini 平台与 API Key 账号，Base URL 填本站根地址 `https://y.junlistudio.com`（不加 /v1 或 /v1beta），填写本站 Key，并将测试模型和模型映射设为本站实际开放的图片模型。

 **Gemini 兼容 · 生图与编辑**  `POST /v1beta/models/{model}:generateContent`

```bash
curl 'https://y.junlistudio.com/v1beta/models/firefly-gpt-image-2:generateContent' \
  -H 'x-goog-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "生成一只坐在窗边的橘猫，摄影风格"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": [
      "TEXT",
      "IMAGE"
    ],
    "imageConfig": {
      "aspectRatio": "1:1",
      "imageSize": "1K"
    }
  }
}'
```
