生成图像

POST /v1/images/generations/

根据提示词生成图像。请求格式与网关文档中的原生 OpenAI 图像接口一致,参数是否可用及默认值取决于所选模型和上游渠道。

请求参数

请求头

Authorization

使用 Bearer Token 认证。

格式: Authorization: Bearer sk-xxxxxx

请求体

请求体参数(10 个)
参数类型默认值说明是否必填
modelstring未声明用于图像生成的模型。常见值为 dall-e-2、dall-e-3 或 gpt-image-1;使用模型专属参数时请显式传入。否
promptstring—所需图像的文本描述。不同模型的最大长度不同,具体限制以模型为准。是
ninteger未声明要生成的图像数量,必须介于 1 到 10;dall-e-3 只支持 n=1。否
sizestring未声明生成图像的尺寸;可用取值取决于模型。否
backgroundstring未声明仅 gpt-image-1 支持;可选 transparent、opaque 或 auto。否
moderationstring未声明控制 gpt-image-1 的内容审核级别,可选 low 或 auto。否
qualitystring未声明生成图像的质量,具体取值由模型决定。否
streamstring未声明流式输出选项,只有支持图像流式输出的模型或渠道才可使用。否
stylestring未声明图像风格,具体取值由模型决定。否
userstring未声明最终用户的唯一标识符。否

JSON 请求体示例

查看 JSON 请求体示例
{
  "model": "gpt-image-1",
  "prompt": "一只戴眼镜的猫坐在窗边,柔和的晨光,写实风格",
  "n": 1,
  "size": "1024x1024",
  "background": "opaque",
  "moderation": "auto",
  "quality": "high",
  "stream": false,
  "user": "user_123"
}

请求示例代码

curl -X POST "https://10000router.com/v1/images/generations/" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "gpt-image-1",
    "prompt": "一只戴眼镜的猫坐在窗边,柔和的晨光,写实风格",
    "size": "1024x1024",
    "quality": "high",
    "background": "opaque"
  }'
const response = await fetch("https://10000router.com/v1/images/generations/", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.API_KEY,
  },
  body: JSON.stringify({
    model: "gpt-image-1",
    prompt: "一只戴眼镜的猫坐在窗边,柔和的晨光,写实风格",
    size: "1024x1024",
    quality: "high",
    background: "opaque"
  })
});
const imageResponse = await response.json();
import os
from openai import OpenAI

client = OpenAI(api_key=os.environ["API_KEY"], base_url="https://10000router.com/v1")

response = client.post(
    "https://10000router.com/v1/images/generations/",
    headers={
        "Authorization": "Bearer " + os.environ["API_KEY"],
    },
    json={
        "model": "gpt-image-1",
        "prompt": "一只戴眼镜的猫坐在窗边,柔和的晨光,写实风格",
        "size": "1024x1024",
        "quality": "high",
        "background": "opaque",
    },
)
response.raise_for_status()
print(response)
payload := `{"model":"gpt-image-1","prompt":"一只戴眼镜的猫坐在窗边,柔和的晨光,写实风格","size":"1024x1024","quality":"high","background":"opaque"}`
req, _ := http.NewRequest("POST", "https://10000router.com/v1/images/generations/", strings.NewReader(payload))
req.Header.Set("Authorization", "Bearer "+os.Getenv("API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil { log.Fatal(err) }
defer res.Body.Close()
var payload = "{\"model\":\"gpt-image-1\",\"prompt\":\"一只戴眼镜的猫坐在窗边,柔和的晨光,写实风格\",\"size\":\"1024x1024\",\"quality\":\"high\",\"background\":\"opaque\"}";
var request = java.net.http.HttpRequest.newBuilder(java.net.URI.create("https://10000router.com/v1/images/generations/"))
    .header("Authorization", "Bearer " + System.getenv("API_KEY"))
    .POST(java.net.http.HttpRequest.BodyPublishers.ofString(payload)).build();
var response = java.net.http.HttpClient.newHttpClient().send(request, java.net.http.HttpResponse.BodyHandlers.ofString());
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new("Bearer", Environment.GetEnvironmentVariable("API_KEY"));
var payload = new { model = "gpt-image-1", prompt = "一只戴眼镜的猫坐在窗边,柔和的晨光,写实风格", size = "1024x1024", quality = "high", background = "opaque" };
var response = await client.PostAsJsonAsync("https://10000router.com/v1/images/generations/", payload);
Console.WriteLine(await response.Content.ReadAsStringAsync());

返回响应

响应示例

{
  "created": 1710000000,
  "data": [
    {
      "url": "https://example.com/generated-image.png",
      "revised_prompt": "一只戴眼镜的猫坐在窗边,柔和的晨光,写实风格"
    }
  ],
  "usage": {
    "total_tokens": 1024,
    "input_tokens": 128,
    "output_tokens": 896,
    "input_tokens_details": {
      "text_tokens": 128,
      "image_tokens": 0
    }
  }
}
{
  "error": {
    "message": "Invalid value for parameter: quality",
    "type": "invalid_request_error",
    "param": "quality",
    "code": null
  }
}
{
  "error": {
    "message": "Rate limit reached",
    "type": "rate_limit_exceeded",
    "param": null,
    "code": null
  }
}
{
  "error": {
    "message": "Invalid authentication credentials",
    "type": "invalid_request_error",
    "param": null,
    "code": null
  }
}

返回字段参数

顶层字段(3 个)
字段类型说明
createdinteger响应创建时间,Unix 时间戳(秒)。
dataarray<object>生成的图像数组,数量由请求参数 n 决定。
usageobjectgpt-image-1 等模型可能返回的 token 用量;部分模型或渠道不返回。
data[] 字段(3 个)
字段类型说明
urlstring生成图像的临时 URL。URL 的有效期由上游决定。
b64_jsonstringBase64 编码的图像数据;仅在模型/渠道返回该格式时出现。
revised_promptstring上游改写后的提示词;部分模型不返回。

流式响应

请求设置 stream: true 且模型/渠道支持时,响应为 Server-Sent Events。网关会转发图像事件,常见事件类型为 image_generation.completed,最后以 data: [DONE] 结束;不支持流式输出时请使用 stream: false。

results matching ""

    No results matching ""