跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.smew.ai/llms.txt

Use this file to discover all available pages before exploring further.

GPT-Image-2 使用指南

GPT-Image-2 是 SmewAI 提供的 AI 图片生成服务,使用独立的图片接口。

准备工作

1. 创建 API Key

前往 API Keys 管理页面,点击「创建 API Key」,分组选择 GPT-Image 创建完成后请妥善保存,后续所有请求都需要在 Header 中携带此 Key。

2. 接口地址

GPT-Image-2 使用独立 Base URL:
https://smew.ai/gpt-image/v1

AI Agent 一键接入

如果你使用 Codex 等支持 Skills 的 AI 编码工具,可以直接将以下地址发送给你的 AI:
https://github.com/bozhouDev/images2-gen/blob/main/README.md  帮我安装这个skills 并且生成一个图片
AI 会自动安装生图技能并引导你完成配置,之后只需对 AI 说「帮我生成一张图片」即可。

API 详细说明

文生图(Text to Image)

提交生成任务:
curl 'https://smew.ai/gpt-image/v1/images/generations' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只可爱的猫咪在阳光下打盹",
    "n": 1,
    "size": "1:1",
    "resolution": "2k"
  }'
成功响应:
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxx"
    }
  ]
}

查询任务结果

task_xxx 替换为提交任务时返回的 task_id
curl 'https://smew.ai/gpt-image/v1/tasks/task_xxx' \
  -H 'Authorization: Bearer YOUR_API_KEY'
任务处理中:
{
  "code": 200,
  "data": {
    "id": "task_xxx",
    "status": "pending",
    "progress": 0
  }
}
任务完成:
{
  "code": 200,
  "data": {
    "id": "task_xxx",
    "status": "completed",
    "progress": 100,
    "result": {
      "images": [
        {
          "url": [
            "https://smew.ai/gpt-image/media/task_xxx/0?token=..."
          ]
        }
      ]
    }
  }
}
最终图片地址为 data.result.images[0].url[0],可直接在浏览器打开或放到 <img src="..."> 中展示。

图生图(Image to Image)

在请求体中添加 image_urls 字段,即可基于参考图进行编辑或风格转换。 使用 URL 引用图片:
curl 'https://smew.ai/gpt-image/v1/images/generations' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{
    "model": "gpt-image-2",
    "prompt": "把这张图改成水彩风格",
    "n": 1,
    "size": "1:1",
    "resolution": "2k",
    "image_urls": [
      "https://example.com/photo.jpg"
    ]
  }'
使用 base64 传入图片:
{
  "model": "gpt-image-2",
  "prompt": "把这张图改成赛博朋克风格",
  "n": 1,
  "size": "1:1",
  "resolution": "2k",
  "image_urls": [
    "data:image/png;base64,iVBORw0KGgo..."
  ]
}
图生图注意事项:
  • image_urls 为数组,最多支持 16 张参考图
  • 支持 URL 和 base64 data URI 两种格式,可混用
  • base64 图片会占用请求体大小,过大可能被网关拦截,建议优先使用 URL
  • 图生图的计费方式不变,仍按 resolution 档位计费

参数说明

参数说明
model固定填写 gpt-image-2
prompt图片生成提示词
n固定为 1
size图片比例,见下方支持列表
resolution输出分辨率档位,见下方支持列表
image_urls(可选)参考图片数组,用于图生图。支持 URL 和 base64 data URI,最多 16 张

resolution 支持

档位说明
1k1K 分辨率
2k2K 分辨率(推荐)
4k4K 分辨率(仅支持部分比例)

size 支持

比例支持 1k/2k支持 4k
auto支持不支持
1:1支持不支持
3:2 / 2:3支持不支持
4:3 / 3:4支持不支持
5:4 / 4:5支持不支持
16:9 / 9:16支持支持
2:1 / 1:2支持支持
21:9 / 9:21支持支持
注意: 4k 分辨率仅支持 16:99:162:11:221:99:21 这几种比例。其他比例搭配 4k 会报错。

Python 示例

import time
import requests

base_url = "https://smew.ai/gpt-image/v1"
api_key = "YOUR_API_KEY"

headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json",
}

submit = requests.post(
    f"{base_url}/images/generations",
    headers=headers,
    json={
        "model": "gpt-image-2",
        "prompt": "一只可爱的猫咪在阳光下打盹",
        "n": 1,
        "size": "1:1",
        "resolution": "2k",
    },
)

submit.raise_for_status()
task_id = submit.json()["data"][0]["task_id"]
print(f"任务已提交: {task_id}")

while True:
    result = requests.get(
        f"{base_url}/tasks/{task_id}",
        headers={"Authorization": f"Bearer {api_key}"},
    )
    result.raise_for_status()

    data = result.json()["data"]
    status = data["status"]

    if status == "completed":
        image_url = data["result"]["images"][0]["url"][0]
        print(f"图片生成完成: {image_url}")
        break

    if status == "failed":
        raise RuntimeError(data.get("error", {}).get("message", "任务失败"))

    print(f"任务处理中... 进度: {data.get('progress', 0)}%")
    time.sleep(5)