gemini-3.1-flash-image-preview 实际验证。https://api.pinniq.orgPOST/v1beta/models/{model}:generateContentx-goog-api-key: YOUR_API_KEYapplication/jsongemini-3.1-flash-image-previewGET /v1beta/models 查询当前列表。Gemini 图片模型不是独立的「编辑」接口:文生图和图片编辑都调用 generateContent。编辑时,把待编辑图片和编辑指令一起放入contents[].parts[]即可。
inlineData 中;mimeType 必须与原文件的真实格式一致。编辑指令应具体说明要保留的主体、要修改的区域/对象,以及期望的风格、构图或文字。text 和 inlineData 的先后顺序通常不影响调用,但推荐先放编辑指令、再放图片,便于阅读和排查。请勿把图片 URL 直接填入 text;该接口需要传入图片二进制的 Base64(或使用平台支持的文件上传/文件引用方式)。parts 中放入多张 inlineData,并在提示词中明确它们的身份,例如“以第一张图的人物为主体,使用第二张图的服装材质 ”。candidates[0].content 连同下一条用户编辑指令作为新的 contents 传回,可保留本轮上下文。生产环境也可每轮只提交最新图片和完整编辑要求,以控制请求体大小。parts 结构(data 均为对应图片的 Base64)。[
{"text": "以第一张图的人物为主体,穿上第二张图中的夹克;保留人物面部特征和第一张图的姿势。"},
{"inlineData": {"mimeType": "image/png", "data": "BASE64_OF_SUBJECT"}},
{"inlineData": {"mimeType": "image/jpeg", "data": "BASE64_OF_JACKET"}}
]| 参数 | 必填 | 说明 |
|---|---|---|
model | 是 | Gemini 图片模型名称 |
| 参数 | 必填 | 说明 |
|---|---|---|
Content-Type | 是 | 固定为 application/json |
x-goog-api-key | 是 | FriModel API Key |
| 参数 | 必填 | 说明 |
|---|---|---|
contents | 是 | 输入内容列表 |
contents[].role | 建议 | 通常填写 user |
contents[].parts[].text | 文生图时是;编辑时建议 | 生成或编辑指令。编辑时写清保留项、修改项和限制条件 |
contents[].parts[].inlineData.mimeType | 图片编辑时是 | 输入图片 MIME 类型,如 image/png、image/jpeg、image/webp |
contents[].parts[].inlineData.data | 图片编辑时是 | 输入图片的无 Data URL 前缀的 Base64 字符串 |
generationConfig.responseModalities | 是 | 必须包含 IMAGE;只需图片时使用 ["IMAGE"],需要模型文字说明时使用 ["TEXT", "IMAGE"] |
generationConfig.imageConfig.aspectRatio | 否 | 输出宽高比,如 1:1、16:9、9:16;未传时由模型使用默认值 |
generationConfig.imageConfig.imageSize | 否 | 输出分辨率档位,如 1K、2K。是否支持及可选档位取决于模型;不支持时删除该字段或改用该模型支持的值 |
图片参数位于 generationConfig.imageConfig,不是responseFormat.image。不同 Gemini 图片模型对宽高比、分辨率、输入图片数量和文件大小的支持范围可能不同;上线前请以GET /v1beta/models的模型能力及实际调用结果为准。
candidates[0].content.parts[]{
"inlineData": {
"mimeType": "image/png",
"data": "BASE64_IMAGE_DATA"
}
}inlineData.data:Base64 图片内容inlineData.mimeType:实际图片格式text 字段200image/png;实际格式以 inlineData.mimeType 为准1:1、1K1024x1024mimeType 选择扩展名,不要固定写成 PNG。parts 追加原图的 inlineData。保持人物脸部、发型、姿势、衣服版型不变;仅将背景替换为海边日落。 对局部修改,可增加区域描述(如“仅替换左上角天空”)。inlineData.data 是否为纯 Base64(不要包含 data:image/png;base64, 前缀)、mimeType 是否与文件真实格式一致、JSON 是否因未转义换行或引号而无效,以及模型是否支持图片输入。Shell 示例中的 Base64 必须压成单行。responseModalities 中包含 IMAGE,并检查所有 parts[],不要只读取第一个 part。x-goog-api-key 是否填写正确,以及 Key 是否有对应模型权限。/v1beta/models/{model}:generateContentGET /v1beta/models 确认模型名称。