POST
https://api.yuannengai.com
/
v1beta
/
models
/
gemini-3-pro-image-preview:generateContent
curl --request POST \
  --url 'https://api.yuannengai.com/v1beta/models/gemini-3-pro-image-preview:generateContent' \
  --header 'Content-Type: application/json' \
  --header 'x-goog-api-key: <YOUR_API_KEY>' \
  --data '{
    "contents": [
      {
        "parts": [
          {
            "text": "生成一张月光下的竹林小径图片"
          }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["IMAGE", "TEXT"]
    }
  }'
{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "iVBORw0KGgoAAAANSUhEUgAA..."
            }
          },
          {
            "text": "这是一张月光下竹林小径的图片,展现了静谧的夜晚氛围。"
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 50,
    "totalTokenCount": 60
  }
}
  • 即时响应模式,直接返回 base64 编码的图像数据
  • 使用标准 Gemini API 格式请求
  • 支持文本生成图像、图像编辑等功能
curl --request POST \
  --url 'https://api.yuannengai.com/v1beta/models/gemini-3-pro-image-preview:generateContent' \
  --header 'Content-Type: application/json' \
  --header 'x-goog-api-key: <YOUR_API_KEY>' \
  --data '{
    "contents": [
      {
        "parts": [
          {
            "text": "生成一张月光下的竹林小径图片"
          }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["IMAGE", "TEXT"]
    }
  }'
{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "iVBORw0KGgoAAAANSUhEUgAA..."
            }
          },
          {
            "text": "这是一张月光下竹林小径的图片,展现了静谧的夜晚氛围。"
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 50,
    "totalTokenCount": 60
  }
}

认证方式

x-goog-api-key
string
必填
使用 Gemini 原生格式时,需要通过 x-goog-api-key 请求头传递 API Key获取 API Key:访问 API Key 管理页面 获取您的 API Key使用时在请求头中添加:
x-goog-api-key: YOUR_API_KEY

请求参数

contents
array
必填
对话内容数组
generationConfig
object
生成配置

响应参数

candidates
array
生成结果数组
usageMetadata
object
Token 使用统计

使用示例

文本生成图像

import requests
import base64

def generate_image(prompt, api_key):
    url = "https://api.yuannengai.com/v1beta/models/gemini-3-pro-image-preview:generateContent"

    payload = {
        "contents": [
            {
                "parts": [{"text": prompt}]
            }
        ],
        "generationConfig": {
            "responseModalities": ["IMAGE", "TEXT"]
        }
    }

    headers = {
        "Content-Type": "application/json",
        "x-goog-api-key": api_key
    }

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

    # 提取图像数据
    for part in result["candidates"][0]["content"]["parts"]:
        if "inlineData" in part:
            return part["inlineData"]["data"]

    return None

# 使用示例
image_base64 = generate_image("一只可爱的猫咪在阳光下睡觉", "your-api-key")

if image_base64:
    # 保存图像
    with open("cat.png", "wb") as f:
        f.write(base64.b64decode(image_base64))
    print("图像已生成并保存")

图像编辑(图生图)

import requests
import base64

def edit_image(image_path, edit_prompt, api_key):
    # 读取原图像
    with open(image_path, "rb") as f:
        image_data = base64.b64encode(f.read()).decode()

    url = "https://api.yuannengai.com/v1beta/models/gemini-3-pro-image-preview:generateContent"

    payload = {
        "contents": [
            {
                "parts": [
                    {
                        "inlineData": {
                            "mimeType": "image/jpeg",
                            "data": image_data
                        }
                    },
                    {
                        "text": edit_prompt
                    }
                ]
            }
        ],
        "generationConfig": {
            "responseModalities": ["IMAGE", "TEXT"]
        }
    }

    headers = {
        "Content-Type": "application/json",
        "x-goog-api-key": api_key
    }

    response = requests.post(url, json=payload, headers=headers)
    return response.json()

# 使用示例
result = edit_image("input.jpg", "将这张图片转换为油画风格", "your-api-key")

注意事项

重要提示: - 返回的图像数据是 base64 编码的,需要解码后才能保存或显示 - responseModalities 必须包含 "IMAGE" 才能生成图像 - 生成的图像默认为 PNG 格式 - 单次请求可能返回多个部分(图像 + 文本描述)