Amux
图像Gemini 格式

图像生成/编辑

通过 Gemini 原生 generateContent 接口生成或编辑图像 — Nano Banana 系列、Gemini Flash Image 等

通过 Google Gemini 原生 generateContent 接口调用 Nano Banana 系列图像模型生成或编辑图像。amux-api 在网关层会自动为图像模型注入 responseModalities=["TEXT","IMAGE"],并将上游返回的 inlineData 透传给客户端。

项目
请求方法POST
请求路径/v1beta/models/{model}:generateContent
完整 URLhttps://api.amux.ai/v1beta/models/gemini-2.5-flash-image:generateContent
请求格式application/json
响应格式application/json

本接口与 Gemini 文本聊天 共用同一端点。请求体的完整字段参考请见文本聊天文档;本页仅聚焦图像生成相关字段与响应处理。

支持图像生成的模型

amux-api 内置以下 Gemini 图像生成模型(SupportedImagineModels):

模型别名 / 说明
gemini-2.5-flash-imageNano Banana
gemini-3-pro-image-previewNano Banana Pro
gemini-3.1-flash-image-previewNano Banana 2
gemini-2.0-flash-exp-image-generation早期实验版
gemini-2.0-flash-exp早期实验版

完整可用模型与计费见 https://api.amux.ai/pricing

imagen-* 系列(如 imagen-4.0-generate-001)走 Google 原生 :predict 端点,不在本页范围内。可通过 /v1/images/generations(OpenAI 格式)调用。

路径参数

Prop

Type

请求头与认证

与文本聊天一致,三种鉴权方式任选其一:

渠道取值
AuthorizationBearer <API_TOKEN>(推荐)
x-goog-api-key<API_TOKEN>
?key=query 参数

关键请求字段

Prop

Type

generationConfig 关键字段

Prop

Type

字段命名陷阱:Gemini 上游对 imageConfig 内字段仅接受 camelCase(aspectRatioimageSize),传入 snake_case 会被上游拒绝。如果需要在 OpenAI Chat 格式(extra_body.google.image_config)中传入,amux-api 会自动从 snake_case 转 camelCase(详见 OpenAI 聊天格式)。

请求示例

文本生图

curl "https://api.amux.ai/v1beta/models/gemini-2.5-flash-image:generateContent" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AMUX_API_KEY" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "一只戴着贝雷帽的可爱海獭幼崽,水彩风格" }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "imageConfig": {
        "aspectRatio": "1:1",
        "imageSize": "1K"
      }
    }
  }'
import os
import base64
from google import genai

client = genai.Client(
    api_key=os.environ["AMUX_API_KEY"],
    http_options={"base_url": "https://api.amux.ai"},
)

response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    contents="一只戴着贝雷帽的可爱海獭幼崽,水彩风格",
    config={
        "response_modalities": ["TEXT", "IMAGE"],
        "image_config": {
            "aspect_ratio": "1:1",
            "image_size": "1K",
        },
    },
)

for part in response.candidates[0].content.parts:
    if part.inline_data:
        with open("otter.png", "wb") as f:
            f.write(base64.b64decode(part.inline_data.data))
import { writeFileSync } from 'node:fs';
import { GoogleGenAI } from '@google/genai';

const ai = new GoogleGenAI({
  apiKey: process.env.AMUX_API_KEY!,
  httpOptions: { baseUrl: 'https://api.amux.ai' },
});

const response = await ai.models.generateContent({
  model: 'gemini-2.5-flash-image',
  contents: '一只戴着贝雷帽的可爱海獭幼崽,水彩风格',
  config: {
    responseModalities: ['TEXT', 'IMAGE'],
    imageConfig: { aspectRatio: '1:1', imageSize: '1K' },
  },
});

for (const part of response.candidates![0].content!.parts!) {
  if (part.inlineData) {
    writeFileSync('otter.png', Buffer.from(part.inlineData.data!, 'base64'));
  }
}

图像编辑(参考图 + 提示词)

IMAGE_BASE64=$(base64 < cat.png | tr -d '\n')

curl "https://api.amux.ai/v1beta/models/gemini-2.5-flash-image:generateContent" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AMUX_API_KEY" \
  -d "{
    \"contents\": [{
      \"role\": \"user\",
      \"parts\": [
        { \"text\": \"把这张图的背景换成樱花飘落的春日庭院\" },
        { \"inlineData\": { \"mimeType\": \"image/png\", \"data\": \"$IMAGE_BASE64\" } }
      ]
    }],
    \"generationConfig\": {
      \"responseModalities\": [\"TEXT\", \"IMAGE\"],
      \"imageConfig\": { \"aspectRatio\": \"1:1\" }
    }
  }"

响应示例

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          { "text": "这是一只戴着贝雷帽的海獭幼崽。" },
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "iVBORw0KGgoAAAANSUhEUgAA..."
            }
          }
        ]
      },
      "finishReason": "STOP",
      "index": 0,
      "safetyRatings": []
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 24,
    "candidatesTokenCount": 1290,
    "totalTokenCount": 1314,
    "promptTokensDetails": [
      { "modality": "TEXT", "tokenCount": 24 }
    ]
  }
}

响应字段

完整响应结构与 文本聊天的响应 一致。图像生成的关键差异:

Prop

Type

错误响应

错误响应结构与 Gemini 文本聊天 一致:

{
  "error": {
    "code": 400,
    "message": "...",
    "status": "INVALID_ARGUMENT"
  }
}

常见错误:

错误原因
not supported model for image generation模型不在 SupportedImagineModels 列表中(amux 网关层校验)
extra_body.google.image_config.aspectRatio is not supported, use ... aspect_ratio通过 extra_body 传入时使用了 camelCase;应使用 snake_case

On this page