千支API 千支API 文档

生图接口接入指南

本文档面向需要通过千支API调用图片生成能力的用户。接口兼容 OpenAI Images API,用户只需要准备 API Key、选择生图模型,并按白名单传入 size 即可。

推荐 Base URL https://api.qianzhiapi.com/v1
文生图接口 POST /v1/images/generations
改图 / 图生图接口 POST /v1/images/edits
当前配置状态

生图模型已按 1K、2K、4K 三档配置。每档只允许固定尺寸白名单;不传 size 时会使用该档默认方图;传入不支持的尺寸会返回 400 invalid_size,不会继续请求上游。

1. 获取 API Key

  1. 登录千支API控制台。
  2. 进入「令牌」或「Token」页面。
  3. 创建一个新令牌,并妥善保存。令牌格式通常类似 sk-...
  4. 确认该令牌所在分组包含「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:9portraitlandscape 这类比例文字,请传具体宽高。

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 请求,最常用字段是 modelpromptsize

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-1Kgpt-image-2-2Kgpt-image-2-4K
prompt 必填 描述要生成或修改的图片内容。越具体,结果越稳定。
size 可选 不填时使用该模型默认方图;填写时必须在对应模型白名单里。
quality 可选 可尝试 lowmediumhigh。生成速度和消耗以后台配置为准。
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 很容易被用户看到。