Skip to main content
在调用图像生成接口执行图生图操作前,您需要先通过本接口将图片上传至 即刻API,获取可供生成接口使用的图片 URL。上传一次后,URL 可在多个生成请求中复用,无需重复传输原始图片数据。
重要变更:图像生成接口不再支持直接传入 base64 图片数据,必须先通过此接口上传获取 URL,再将 URL 传入生成接口的 image_urls 字段。

接口端点

POST https://geekapis.com/v1/uploads/images
请求格式multipart/form-data

请求参数

file
file
required
待上传的图片文件。支持格式:JPEG、PNG、WebP、GIF;最大文件大小:10MB
purpose
string
上传用途,可选参数。默认值为 generation,表示用于图像生成任务。

响应示例

{
  "success": true,
  "data": {
    "id": "upload_abc12345",
    "url": "https://files.toapis.com/uploads/abc12345.jpg",
    "mime_type": "image/jpeg",
    "size": 89234
  }
}

响应字段

id
string
上传记录的唯一 ID,可用于追踪本次上传操作。
url
string
图片的公开访问 URL,可直接传入图像生成接口的 image_urls 字段使用。
mime_type
string
图片的 MIME 类型,例如 image/jpeg
size
integer
图片文件大小,单位为字节(Bytes)。

完整工作流示例

以下示例演示完整的图生图工作流:上传图片 → 创建生成任务 → 轮询获取结果。

Python 示例

import requests
import time

api_key = "sk-xxxxxxxx"
base_url = "https://geekapis.com"
headers = {"Authorization": f"Bearer {api_key}"}

# 步骤 1:上传图片
with open("input.jpg", "rb") as f:
    upload_resp = requests.post(
        f"{base_url}/v1/uploads/images",
        headers=headers,
        files={"file": ("input.jpg", f, "image/jpeg")}
    )
image_url = upload_resp.json()["data"]["url"]

# 步骤 2:创建图像生成任务
gen_resp = requests.post(
    f"{base_url}/v1/images/generations",
    headers={**headers, "Content-Type": "application/json"},
    json={
        "model": "gpt-image-2",
        "prompt": "将图片转为油画风格",
        "image_urls": [image_url]
    }
)
task_id = gen_resp.json()["id"]

# 步骤 3:轮询结果
time.sleep(2)
for _ in range(40):
    result = requests.get(
        f"{base_url}/v1/images/generations/{task_id}",
        headers=headers
    ).json()
    if result["status"] == "completed":
        print("图片 URL:", result["result"]["data"][0]["url"])
        break
    elif result["status"] == "failed":
        print("生成失败:", result["error"]["message"])
        break
    time.sleep(3)

cURL 示例

curl --request POST \
  --url 'https://geekapis.com/v1/uploads/images' \
  --header 'Authorization: Bearer <token>' \
  --form 'file=@/path/to/image.jpg'

支持的图片格式

格式MIME 类型最大文件大小
JPEGimage/jpeg10MB
PNGimage/png10MB
WebPimage/webp10MB
GIFimage/gif10MB