图片生成
通过 Token101 Images API 从文本提示生成图片。
概述
Token101 提供 OpenAI Images 兼容接口(/api/v1/images/generations),可以直接用于 OpenAI SDK 或原始 HTTP 请求。接口可用性与具体图片模型的实时路由状态是分开的:如果某个图片模型因上游稳定性被临时暂停,请求会返回 model_not_enabled,不会被当作成功生成扣费。
端点
POST https://token.ppthub.shop/api/v1/images/generations认证
在 Authorization header 中携带你的 Token101 API key:
Authorization: Bearer sk-your-token101-api-key快速示例
curl
curl https://token.ppthub.shop/api/v1/images/generations \
--request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $TOKEN101_API_KEY" \
--data '{
"model": "gpt-image-1",
"prompt": "一幅日落时分山间湖泊的水彩画",
"n": 1,
"size": "1024x1024"
}'Python (OpenAI SDK)
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["TOKEN101_API_KEY"],
base_url="https://token.ppthub.shop/api/v1",
)
response = client.images.generate(
model="gpt-image-1",
prompt="一幅日落时分山间湖泊的水彩画",
n=1,
size="1024x1024",
)
image = response.data[0]
# 视模型而定,`url` 或 `b64_json` 二者之一会被填充——请检查是哪一个。
print(image.url or image.b64_json)Node.js / TypeScript (OpenAI SDK)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.TOKEN101_API_KEY!,
baseURL: 'https://token.ppthub.shop/api/v1',
});
const response = await client.images.generate({
model: 'gpt-image-1',
prompt: '一幅日落时分山间湖泊的水彩画',
n: 1,
size: '1024x1024',
});
// 视模型而定,`url` 或 `b64_json` 二者之一会被填充——请检查是哪一个。
console.log(response.data[0]?.url ?? response.data[0]?.b64_json);请求字段
| 字段 | 类型 | 说明 |
|---|---|---|
model | string | 必填。具备图片输出能力的模型 ID。发送前建议查看 支持的模型 或 GET /api/v1/public/models。 |
prompt | string | 必填。目标图片的文本描述 |
n | integer | 可选。生成图片数量(1–10,默认:1) |
size | string | 可选。取值为 auto、1024x1024、1024x1536、1536x1024 之一 |
quality | string | 可选。取值为 auto、low、medium、high 之一 |
response_format | string | 可选。url 或 b64_json。视模型而定,响应可能只包含 b64_json 数据——请以实际响应结构为准,不要假定一定返回 url。 |
style | string | 可选。常见值包括 vivid、natural |
响应格式
成功的响应返回包含生成图片数据的 JSON 对象:
{
"created": 1715659876,
"data": [
{
"url": "https://..."
}
]
}当 response_format 为 b64_json 时,data 数组包含 b64_json 字段而非 URL:
{
"created": 1715659876,
"data": [
{
"b64_json": "..."
}
]
}模型可用性
图片接口和图片模型是分开治理的。接口可能是健康的,但某个图片模型可能因为上游稳定性原因被临时暂停。生产调用前,请通过 GET /api/v1/public/models 查看模型的 outputModalities 和 operationalStatus。
如果返回 reason: "model_not_enabled",说明 API Key 与请求格式已经通过校验,但该模型当前未开放实时路由。该类失败请求不应产生成功图片生成扣费。
图片生成按图片计费,而非按 token。当前定价请见 计费与积分 以及控制台实时展示。
定价
图片生成使用按图计价模式,而非按 token 计费:
| 项目 | 计费方式 |
|---|---|
| 图片生成 | 按成功生成的图片数量计费 |
图片生成成功后才会从积分(credits)中扣除费用。具体单价、尺寸/质量支持范围和模型可用性,请以实时模型目录和 Billing 页面为准。
限制
- 不支持流式传输:图片生成不支持流式传输。请求会阻塞直到图片生成完成(通常 10–30 秒)。
- 模型支持:图片模型可能被临时暂停。生产流量发送前请检查
operationalStatus。 - 内容策略:违反 OpenAI 内容策略的提示词会被上游服务商拒绝。
- 速率限制:图片生成计入标准 RPM 限制,但由于处理时间更长,使用独立的并发预算。
故障排除
401 Unauthorized
检查你的 API key。详见 Authentication。
400 Invalid model 或 model_not_enabled
确认模型存在,并且在 GET /api/v1/public/models 中处于启用状态。model_not_enabled 表示图片接口可达,但该模型当前暂停实时路由。
429 Too Many Requests
已达到速率限制。图片生成请求耗时更长,因此并发限制可能更容易达到。详见 Rate Limits。
图片生成时间过长
图片生成通常需要 10–30 秒,这是正常的。如果请求持续超时,尝试将 n 减小为 1 或使用更小的 size。
下一步
- Supported Models — 完整文本和图片模型列表
- 计费与积分 — 了解图片生成的计费方式
- API Reference — 完整端点文档