漫小白API 文档
下载完整 .md ↓

Gemini 原生接口

需要直接使用 Gemini 的 contents/parts、原生图片输入或原生响应时,使用本章接口。希望统一任务 ID 与异步轮询时,使用Images 接口。两者不能混用响应解析方式。

原生文生图

POST /v1beta/models/{model}:generateContent

本站可使用同一 Bearer Key 鉴权。URL 中填写有权限的公开模型 ID;路径中的模型决定路由,body 不需要再填写 model。

bash
curl --fail-with-body --max-time 600 \
  'https://api.manxiaobai.online/v1beta/models/gemini-3.1-flash-image-preview-1k:generateContent' \
  -H "Authorization: Bearer $MXB_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "contents": [{"role":"user","parts":[{"text":"一只蓝色陶瓷茶壶,产品摄影"}]}],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "imageConfig": {"aspectRatio":"1:1","imageSize":"1K"}
    }
  }'

原生接口直接等待结果,不会因添加 Images 的 background:true 而返回本站图片任务 ID。当前没有可用于替代此接口的本站 /v1beta/interactions 接入流程。

字段与规格

字段 类型 说明
contents array 至少一组内容
contents[].role string 示例为 user
contents[].parts array 文本和图片输入
parts[].text string 提示词
parts[].inlineData.mimeType string 如 image/png
parts[].inlineData.data string 纯 Base64 内容,不带 data: 前缀
generationConfig.responseModalities array 生图示例使用 IMAGE
generationConfig.imageConfig.aspectRatio string 如 1:1、16:9;按模型能力
generationConfig.imageConfig.imageSize string 1K/2K/4K,须与模型后缀及权限匹配

原生路径不经过 Images 的尺寸解析与后缀适配。即使 URL 有后缀,也应明确填写匹配的 imageSize,不能依赖 Images 层自动纠正冲突参数。

原生参考图

在同一个 parts 数组加入图片:

json
{
  "contents": [{
    "role": "user",
    "parts": [
      {"text":"保留茶壶主体,把背景改成浅绿色"},
      {"inlineData":{"mimeType":"image/png","data":"替换为完整图片的纯Base64内容"}}
    ]
  }],
  "generationConfig": {
    "responseModalities": ["IMAGE"],
    "imageConfig": {"aspectRatio":"1:1","imageSize":"1K"}
  }
}

参考图应为真实可解码图片,MIME 必须对应其实际格式。原生路径与 Images 的上传限制及参数适配不完全相同,不能把一条路径的行为套给另一条。

解析结果

遍历 candidates[].content.parts[],寻找 inlineData(兼容客户端也可识别 inline_data),读取 mimeType 和 data,Base64 解码后保存。不要把原生响应解析成 OpenAI 的 data[0].url。

没有图片时,检查返回的 error、候选 finishReason、文本 parts 和 promptFeedback。HTTP 200 但没有图片不是可下载的成功结果。不要因无图自动重复发送收费 POST。

漫小白 API 接入文档 · 其他接口 2026-09-16 核对 · SD 章节 2026-10-14 更新
模型权限与费用以当前模型广场及账单为准。反馈文档问题 ↗

复制 Markdown

浏览器未允许自动复制,内容已选中,可按 Ctrl+C / ⌘C 复制。