跳转至

Google 图像格式(Image)

官方文档

Gemini API

📝 简介

Gemini 提供了强大的多模态能力,支持通过文本提示生成高质量的图像。该接口允许开发者利用 Google 最新的 Gemini 模型进行创意图像生成。

模型 描述
Gemini 3 Pro Image Preview Google 最强大的多模态模型,支持复杂的图像生成任务
Gemini 2.5 Flash Image 专为速度和效率优化的轻量级模型,适合快速生成

💡 请求示例

创建图片 ✅

# 基础图片生成
curl -X POST "https://tianshu.tones-ai.com/v1beta/models/gemini-3-pro-image-preview:generateContent" \
  -H "Authorization: Bearer $TIANSHU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "draw a cat"
          }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": [
        "TEXT",
        "IMAGE"
      ],
      "imageConfig": {
        "aspectRatio": "16:9",
        "imageSize": "4K"
      }
    }
  }'

响应示例:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Here is a drawing of a cat."
          },
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
            }
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {
          "category": "HARM_CATEGORY_HATE_SPEECH",
          "probability": "NEGLIGIBLE"
        }
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 200,
    "totalTokenCount": 210
  }
}

📮 请求

端点

生成内容

POST /v1beta/models/{model}:generateContent

根据文本提示生成内容,包括文本和图像。

鉴权方法

在请求头中包含以下内容进行 API 密钥认证:

Authorization: Bearer $TIANSHU_API_KEY

其中 $TIANSHU_API_KEY 是您的 API 密钥。

路径参数 (Path Parameters)

model

  • 类型:字符串
  • 必需:是
  • 说明:模型名称,例如 gemini-1.5-progemini-1.5-flash

请求体参数 (Request Body)

contents

  • 类型:对象数组
  • 必需:是
  • 说明:对话内容列表。
  • role: 角色,通常为 user
  • parts: 内容部分列表,包含 text 字段。

generationConfig

  • 类型:对象
  • 必需:否
  • 说明:生成配置。
responseModalities
  • 类型:字符串数组
  • 必需:否
  • 说明:期望的响应模态。包含 IMAGE 以启用图像生成。
  • 示例:["TEXT", "IMAGE"]
imageConfig
  • 类型:对象
  • 必需:否
  • 说明:图像生成配置。
aspectRatio
  • 类型:字符串
  • 必需:否
  • 说明:图像宽高比。
  • 选项:16:9, 4:3, 1:1 等。
imageSize
  • 类型:字符串
  • 必需:否
  • 说明:图像尺寸。
  • 选项:4K, 2K 等。

📥 响应

成功响应

返回包含生成候选项的 JSON 对象。

candidates

  • 类型:对象数组
  • 说明:生成的候选项列表。
content
  • 类型:对象
  • 说明:生成的内容。
  • parts: 内容部分列表。图像数据通常在 inlineData 字段中以 base64 编码返回。
finishReason
  • 类型:字符串
  • 说明:生成结束的原因,例如 STOP
safetyRatings
  • 类型:对象数组
  • 说明:安全评级信息。

usageMetadata

  • 类型:对象
  • 说明:令牌使用情况元数据。
  • promptTokenCount: 提示令牌数。
  • candidatesTokenCount: 候选令牌数。
  • totalTokenCount: 总令牌数。

🌟 最佳实践

Prompt 编写建议

  1. 明确意图:清晰地描述你想要生成的图像内容。
  2. 细节描述:包含颜色、风格、光照等细节以获得更精准的结果。
  3. 指定模态:确保在 generationConfig 中包含 IMAGE 模态。

参数配置建议

  1. 宽高比:根据应用场景选择合适的 aspectRatio(如 16:9 适合宽屏展示)。
  2. 分辨率:根据需求选择 imageSize,高分辨率可能消耗更多资源。