Skip to content

图像生成与编辑 API

本文按集成顺序说明如何调用 lxai 的图片生成和图片编辑能力。

1. 选择协议

如果不确定选哪种,使用 OpenAI Images 兼容协议。它适合大多数应用,也可以直接复用 OpenAI SDK。

三种协议的使用场景:

  • OpenAI Images 兼容协议:统一调用 OpenAI、Gemini/Nano Banana、Imagen 图片模型。
  • Gemini 官方协议:已有 Gemini generateContent 代码时使用。
  • Imagen 官方协议:已有 Imagen predict 代码时使用。

所有请求都使用同一个 API Key:

http
Authorization: Bearer YOUR_API_KEY

API Key 可在 令牌管理页面 创建。

2. 查询模型

bash
curl "https://www.lxai.pro/v1/models" \
  -H "Authorization: Bearer YOUR_API_KEY"

常见模型族:

  • OpenAI 图片模型:gpt-image-1gpt-image-2chatgpt-image-latestdall-e-3
  • Gemini / Nano Banana:gemini-2.5-flash-imagegemini-3.1-flash-imagegemini-3-pro-image-previewnano-banana-2nano-banana-pro
  • Imagen:imagen-4.0-generate-001imagen-4.0-ultra-generate-001imagen-4.0-fast-generate-001

3. OpenAI 兼容调用

文生图请求:

bash
curl -X POST "https://www.lxai.pro/v1/images/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A premium product photo of a handmade bath gift basket, soft natural light, clean background",
    "size": "1024x1024",
    "n": 1,
    "response_format": "b64_json"
  }'

改图请求(multipart):

bash
curl -X POST "https://www.lxai.pro/v1/images/edits" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=gpt-image-2" \
  -F "image[]=@body-lotion.png" \
  -F "image[]=@bath-bomb.png" \
  -F "prompt=Create a new product photo of a lovely gift basket containing these items." \
  -F "size=1024x1024" \
  -F "n=1" \
  -F "response_format=b64_json"

使用 multipart 时不要手写 Content-Type boundary。用 curl -F、SDK 或标准 multipart 库生成请求体。

Python SDK 示例:

python
from openai import OpenAI
import base64
from pathlib import Path

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://www.lxai.pro/v1",
)

result = client.images.generate(
    model="gpt-image-2",
    prompt="A premium product photo of a handmade bath gift basket",
    size="1024x1024",
    n=1,
    response_format="b64_json",
)

Path("image.png").write_bytes(base64.b64decode(result.data[0].b64_json))

OpenAI 兼容响应格式:

json
{
  "created": 1734567890,
  "data": [
    {
      "b64_json": "BASE64_IMAGE_DATA",
      "url": "",
      "revised_prompt": ""
    }
  ]
}

如果请求 n > 1,请遍历 data[] 保存所有返回图片,不要只读取 data[0]

4. Gemini 官方调用

文生图请求:

bash
curl -X POST "https://www.lxai.pro/v1beta/models/gemini-3.1-flash-image:generateContent" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {"text": "Generate a premium product photo of a handmade bath gift basket"}
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "candidateCount": 1,
      "imageConfig": {
        "aspectRatio": "1:1",
        "imageSize": "1K"
      }
    }
  }'

改图请求(Base64 参考图):

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

curl -X POST "https://www.lxai.pro/v1beta/models/gemini-3.1-flash-image:generateContent" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"contents\": [{
      \"role\": \"user\",
      \"parts\": [
        {\"inlineData\": {\"mimeType\": \"image/png\", \"data\": \"$IMAGE_BASE64\"}},
        {\"text\": \"Use this reference and create a new gift basket product photo\"}
      ]
    }],
    \"generationConfig\": {
      \"responseModalities\": [\"TEXT\", \"IMAGE\"],
      \"candidateCount\": 1,
      \"imageConfig\": {\"aspectRatio\": \"1:1\", \"imageSize\": \"1K\"}
    }
  }"

5. Imagen 官方调用

文生图请求:

bash
curl -X POST "https://www.lxai.pro/v1/projects/*/locations/*/publishers/google/models/imagen-4.0-generate-001:predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "instances": [
      {"prompt": "A premium product photo of a handmade bath gift basket"}
    ],
    "parameters": {
      "sampleCount": 1,
      "aspectRatio": "1:1",
      "outputOptions": {"mimeType": "image/png"}
    }
  }'

常用字段:

  • instances[].prompt:必填,图片描述。
  • parameters.sampleCount:生成数量,最大 4。
  • parameters.aspectRatio"1:1""16:9""9:16" 等。
  • parameters.outputOptions.mimeTypeimage/pngimage/jpeg

6. 常见问题

返回 400 / 422 / model not found?

/v1/models 接口查询当前可用的图片模型,确认模型名称拼写正确。

图片质量不符合预期?

  • 精细化 prompt,加入光线、背景、风格描述
  • 尝试 gpt-image-2(通用能力强)和 imagen-4.0-ultra-generate-001(高质量写实)
  • 对于 Gemini 模型,尝试 imageSize: "2K" 提升分辨率

额度不足

登录 lxai 控制台 检查余额,必要时充值。

一个 API Key,解锁全球顶级 AI 大模型