千支API 文档
生图接口接入指南
本文档面向需要通过千支API调用图片生成能力的用户。接口兼容 OpenAI
Images API,用户只需要准备 API Key、选择生图模型,并按白名单传入
size 即可。
https://api.qianzhiapi.com/v1
POST /v1/images/generations
POST /v1/images/edits
生图模型已按 1K、2K、4K 三档配置。每档只允许固定尺寸白名单;不传
size 时会使用该档默认方图;传入不支持的尺寸会返回
400 invalid_size,不会继续请求上游。
1. 获取 API Key
- 登录千支API控制台。
- 进入「令牌」或「Token」页面。
- 创建一个新令牌,并妥善保存。令牌格式通常类似
sk-...。 - 确认该令牌所在分组包含「GPT生图-特价」或管理员分配的生图分组。
API Key 只能放在服务端、客户端本地配置或可信环境变量里,不要写进公开网页前端代码,也不要发到群聊或截图里。
2. 模型与价格
下表来自当前线上价格接口。三档 gpt-image-2 特价模型有固定
size 白名单;其他生图模型是否支持特定尺寸、质量或格式,以模型实际返回为准。
| 模型名 | 价格 | 分组 | 计费 | 说明 |
|---|---|---|---|---|
gpt-image-2-1K |
¥0.05 / 张 | GPT生图-特价 | 按张 | 适合普通预览、头像、文章配图、低成本测试。 |
gpt-image-2-2K |
¥0.08 / 张 | GPT生图-特价 | 按张 | 适合高清配图、海报草稿和更清晰的文字元素。 |
gpt-image-2-4K |
¥0.25 / 张 | GPT生图-特价 | 按张 | 适合高分辨率出图。生成耗时可能更长。 |
gpt-image-2 |
¥0.10 / 张 | Gemini和GPT生图分组 | 按张 | 通用 GPT 生图模型。 |
gpt-image-2-all |
¥0.05 / 张 | Gemini和GPT生图分组 | 按张 | 通用生图入口,具体能力以当前上游实际支持为准。 |
gemini-3.1-flash-image |
¥0.10 / 张 | Gemini和GPT生图分组 | 按张 | Gemini 图片生成模型。 |
gemini-3-pro-image |
¥0.25 / 张 | Gemini和GPT生图分组 | 按张 | Gemini Pro 图片生成模型。 |
3. 支持的 size 白名单
size 必须严格等于下方其中一个值。不要传
16:9、portrait、landscape
这类比例文字,请传具体宽高。
gpt-image-2-1K
1024x1024 1536x1024 1792x1024 1024x1536 1024x1792 2048x1024
gpt-image-2-2K
2048x2048 3072x2048 3584x2048 2048x3072 2048x3584 4096x2048
gpt-image-2-4K
4096x4096 6144x4096 7168x4096 4096x6144 4096x7168 8192x4096
价格按模型名固定计算:调用 gpt-image-2-1K 就按 1K
价格,调用 gpt-image-2-2K 就按 2K 价格。系统会拒绝跨档尺寸,避免用低价模型生成高档尺寸。
4. 文生图请求
文生图使用 JSON 请求,最常用字段是 model、prompt、size。
curl 示例
curl https://api.qianzhiapi.com/v1/images/generations \
-H "Authorization: Bearer sk-你的APIKey" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-1K",
"prompt": "一张未来感城市夜景海报,霓虹灯,电影感,高细节",
"size": "1792x1024",
"quality": "low",
"response_format": "b64_json"
}'
返回格式
{
"created": 1783007786,
"data": [
{
"b64_json": "这里是一大段图片 base64 内容"
}
]
}
如果返回 b64_json,前端预览时可以拼成
data:image/png;base64,图片base64内容;服务端保存时,将 base64
解码成图片文件即可。
5. Python 接入
from openai import OpenAI
import base64
client = OpenAI(
api_key="sk-你的APIKey",
base_url="https://api.qianzhiapi.com/v1",
)
result = client.images.generate(
model="gpt-image-2-1K",
prompt="一张未来感城市夜景海报,霓虹灯,电影感,高细节",
size="1792x1024",
quality="low",
response_format="b64_json",
)
image_base64 = result.data[0].b64_json
with open("output.png", "wb") as f:
f.write(base64.b64decode(image_base64))
6. Node.js / TypeScript 接入
import OpenAI from "openai";
import { writeFile } from "node:fs/promises";
const client = new OpenAI({
apiKey: "sk-你的APIKey",
baseURL: "https://api.qianzhiapi.com/v1",
});
const result = await client.images.generate({
model: "gpt-image-2-1K",
prompt: "一张未来感城市夜景海报,霓虹灯,电影感,高细节",
size: "1792x1024",
quality: "low",
response_format: "b64_json",
});
const imageBase64 = result.data[0].b64_json;
await writeFile("output.png", Buffer.from(imageBase64, "base64"));
7. 改图 / 图生图
改图接口使用 /v1/images/edits。如果图片已经有公网 URL,可以用 JSON
方式;如果是本地文件,可以用 multipart 上传。
公网图片 URL 方式
curl https://api.qianzhiapi.com/v1/images/edits \
-H "Authorization: Bearer sk-你的APIKey" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-1K",
"prompt": "把这张图改成赛博朋克海报风格,保留主体构图",
"images": [
{
"image_url": "https://example.com/input.png"
}
],
"size": "1024x1536",
"quality": "low",
"response_format": "b64_json"
}'
本地文件上传方式
curl https://api.qianzhiapi.com/v1/images/edits \
-H "Authorization: Bearer sk-你的APIKey" \
-F "model=gpt-image-2-1K" \
-F "prompt=把这张图改成赛博朋克海报风格,保留主体构图" \
-F "[email protected]" \
-F "size=1024x1536" \
-F "quality=low" \
-F "response_format=b64_json"
JSON 图片 URL 方式更适合后端服务接入;multipart 上传更适合命令行或本地工具。无论哪种方式,模型名和
size 仍然必须符合白名单。
8. 常用参数
| 参数 | 是否必填 | 说明 |
|---|---|---|
model |
必填 | 使用 gpt-image-2-1K、gpt-image-2-2K 或 gpt-image-2-4K。 |
prompt |
必填 | 描述要生成或修改的图片内容。越具体,结果越稳定。 |
size |
可选 | 不填时使用该模型默认方图;填写时必须在对应模型白名单里。 |
quality |
可选 | 可尝试 low、medium、high。生成速度和消耗以后台配置为准。 |
response_format |
可选 | 建议使用 b64_json,也可以按客户端需求尝试 url。 |
n |
可选 | 生成张数。建议先用 1;多张会按张数计费。 |
9. 常见错误
| 错误 | 含义 | 处理方式 |
|---|---|---|
401 Invalid token |
API Key 错误、失效或没有传 Authorization。 | 重新复制令牌,确保请求头是 Authorization: Bearer sk-...。 |
403 permission_error |
令牌所在分组没有生图权限,或不能调用该模型。 | 切换到有生图权限的分组,或联系管理员调整分组。 |
400 invalid_size |
size 不在当前模型白名单里。 |
检查模型名和尺寸档位,例如 1K 模型不能传 2K 或 4K 尺寸。 |
| 请求超时 | 生图耗时较长,尤其是 2K、4K。 | 客户端超时时间建议设置到 120 秒以上。 |
| 余额不足 / quota exceeded | 账户余额或令牌额度不足。 | 充值或调整令牌额度。 |
10. 最小可用测试
只要下面这段可以返回图片,就说明你的 Key、分组、模型和生图链路都正常。
curl https://api.qianzhiapi.com/v1/images/generations \
-H "Authorization: Bearer sk-你的APIKey" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-1K",
"prompt": "一个红色圆形图标,白色背景,极简风格",
"size": "1024x1024",
"response_format": "b64_json"
}'
后端服务请把 API Key 放进环境变量,前端只调用你自己的后端接口。不要让浏览器直接携带千支API Key 请求生图接口,否则 Key 很容易被用户看到。