跳转到主要内容
POST
/
v1beta
/
models
/
{model}
:
{operator}
curl --request POST \ --url https://api.wisgate.ai:{operator}/v1beta/models/{model}:62437 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data ' { "contents": [ { "parts": [ { "text": "How does AI work?" } ] } ] } '
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "AI, or artificial intelligence, works by using algorithms and data to enable machines to learn from experience, adapt to new inputs, and perform tasks that typically require human intelligence." } ] }, "finishReason": "STOP", "index": 0 } ], "usageMetadata": { "promptTokenCount": 5, "candidatesTokenCount": 25, "totalTokenCount": 30 } }

概述

Gemini 图像生成 API 允许您使用 Google 的 Gemini 模型从文本描述生成图像。此端点支持灵活的宽高比、多种分辨率(高达 4K)和多轮图像编辑功能。
最新消息:现已支持 gemini-3.1-flash-image-previewNano Banana 2)!此模型是 Gemini 3 Pro Image 的高效版本,针对速度和高用量开发者使用情形进行了优化。支持高达 4K 分辨率。

快速开始

只需在官方 SDK 或请求中替换 Base URL 和 API Key 即可使用:
  • Base URLhttps://api.wisgate.ai(替换 generativelanguage.googleapis.com
  • API Key:将 $GEMINI_API_KEY 替换为您的 $WISDOM_GATE_KEY

基础示例:生成图像

curl -s -X POST \
  "https://api.wisgate.ai/v1beta/models/gemini-3-pro-image-preview:generateContent" \
  -H "x-goog-api-key: $WISDOM_GATE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{
        "text": "达芬奇风格的帝王蝶解剖素描。在有纹理的羊皮纸上详细绘制头部、翅膀和腿部,并附有英文注释。"
      }]
    }],
    "tools": [{"google_search": {}}],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "imageConfig": {
        "aspectRatio": "1:1",
        "imageSize": "1K"
      }
    }
  }' | jq -r '.candidates[0].content.parts[] | select(.inlineData) | .inlineData.data' | head -1 | base64 --decode > butterfly.png

重要说明

模型差异不同的 Gemini 图像模型可能支持不同的分辨率和功能。gemini-3.1-flash-image-preview(Nano Banana 2)支持 0.5K、1K、2K、4K 分辨率,针对速度优化。gemini-3-pro-image-preview 支持高达 4K 分辨率。gemini-2.5-flash-image 支持 1K 和 2K 分辨率。我们强烈建议查阅 模型目录 了解每个模型的完整参数列表和使用说明。
响应透传原则WisGate 通常不会在逆向格式之外修改模型响应,确保您收到与原始 Gemini API 提供商一致的响应内容。
强制图像输出为确保生成图像而不是纯文本响应,请在请求中设置 "responseModalities": ["IMAGE"](不含 TEXT)。这将强制模型生成图像。

参考文档

有关 Gemini 图像生成的更多详情,我们建议参阅 Gemini 官方文档 Gemini 图像生成指南:
自动生成的文档请求参数和响应格式从 OpenAPI 规范自动生成。所有参数、其类型、描述、默认值和示例都直接从 openapi.json 提取。向下滚动查看交互式 API 参考。

常见问题

哪些模型支持图像生成?

支持的模型、分辨率和宽高比:
模型说明分辨率宽高比
gemini-3.1-flash-image-preview(Nano Banana 2)Gemini 3 Pro Image 的高效版本,针对速度优化0.5K, 1K, 2K, 4K1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9
gemini-3-pro-image-preview全功能图像生成模型1K, 2K, 4K1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
gemini-2.5-flash-image快速经济的图像生成1K, 2K1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9

如何配置宽高比和分辨率?

imageConfig 字段中设置 aspectRatioimageSize
curl -s -X POST \
  "https://api.wisgate.ai/v1beta/models/gemini-2.5-flash-image:generateContent" \
  -H "x-goog-api-key: $WISDOM_GATE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{
        "text": "山脉上美丽的日落"
      }]
    }],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "imageConfig": {
        "aspectRatio": "16:9"
      }
    }
  }'

如何生成 4K 图像?

4K 分辨率适用于 gemini-3-pro-image-preview 模型。在 imageConfig 中设置 "imageSize": "1K"
curl -s -X POST \
  "https://api.wisgate.ai/v1beta/models/gemini-3-pro-image-preview:generateContent" \
  -H "x-goog-api-key: $WISDOM_GATE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{
        "text": "现代摩天大楼的详细建筑渲染图"
      }]
    }],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "imageConfig": {
        "aspectRatio": "16:9",
        "imageSize": "1K"
      }
    }
  }'

如何进行多轮图像编辑?

您可以在多轮对话中保持上下文以迭代优化图像:
# 第一轮:生成初始图像
curl -s -X POST \
  "https://api.wisgate.ai/v1beta/models/gemini-3-pro-image-preview:generateContent" \
  -H "x-goog-api-key: $WISDOM_GATE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{
        "text": "创建一个生动的信息图,将光合作用解释为植物最喜欢的食物食谱。展示"原料"(阳光、水、二氧化碳)和"成品"(糖/能量)。风格应该像彩色儿童食谱书的一页,适合四年级学生。"
      }]
    }],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"]
    }
  }' > turn1_response.json

# 从第一个响应中提取图像
jq -r '.candidates[0].content.parts[] | select(.inlineData) | .inlineData.data' turn1_response.json | head -1 | base64 --decode > photosynthesis.png

# 第二轮:基于之前的响应优化
# (在 contents 数组中包含之前的对话)

如何强制仅输出图像?

为防止纯文本响应,设置 "responseModalities": ["IMAGE"](不含 TEXT):
data = {
    "contents": [{
        "parts": [{
            "text": "黎明时分宁静的山景"
        }]
    }],
    "generationConfig": {
        "responseModalities": ["IMAGE"],  # 只有 IMAGE,没有 TEXT
        "imageConfig": {
            "aspectRatio": "16:9"
        }
    }
}

如何从响应中提取图像?

图像以 base64 编码数据的形式在 inlineData 字段中返回:
import base64

response = requests.post(url, headers=headers, json=data)
result = response.json()

for candidate in result.get("candidates", []):
    for part in candidate.get("content", {}).get("parts", []):
        if "inlineData" in part:
            image_data = part["inlineData"]["data"]
            mime_type = part["inlineData"]["mimeType"]
            
            # 解码并保存
            image_bytes = base64.b64decode(image_data)
            extension = mime_type.split("/")[1]  # 例如从 "image/png" 得到 "png"
            filename = f"generated_image.{extension}"
            
            with open(filename, "wb") as f:
                f.write(image_bytes)
            print(f"图像已保存为 {filename}")

如何控制成本?

  1. 选择合适的模型gemini-3.1-flash-image-preview(Nano Banana 2)和 gemini-2.5-flash-imagegemini-3-pro-image-preview 更经济
  2. 使用较低分辨率:1K 和 2K 消耗的令牌比 4K 少
  3. 监控令牌消耗:查看响应中的 usageMetadata 字段
  4. 所有宽高比默认消耗 1,290 令牌(Gemini 2.5 Flash Image)

授权

Authorization
string
header
必填

Bearer token authentication. Include your API key in the Authorization header as 'Bearer YOUR_API_KEY'

路径参数

model
string
必填

The model identifier (e.g., 'gemini-pro', 'gemini-pro-vision')

operator
string
必填

The operation to perform. Use 'generateContent' for standard requests, or 'streamGenerateContent?alt=sse' for streaming responses with Server-Sent Events format.

请求体

application/json
contents
object[]
必填

Array of content parts that make up the conversation

systemInstruction
object

System instruction to guide the model's behavior

generationConfig
object

Configuration for content generation

safetySettings
object[]

Safety settings for content filtering

响应

Successful content generation response

candidates
object[]
必填

Array of generated content candidates

usageMetadata
object

Token usage statistics for the request

promptFeedback
object

Feedback about the prompt, including safety ratings