gpt-image-2 图像生成
OpenAI 兼容的 gpt-image-2 文生图 API:base_url 切换即用,多入口节点就近接入,与现有 QCode API Key 共享计费
gpt-image-2 图像生成¶
QCode.cc 提供 OpenAI 完全兼容的 gpt-image-2 文生图 API。这是 OpenAI 在 2026 年 4 月发布的最新文生图模型,文字渲染是目前所有公开图像模型里最强的(中英文字符都可以稳定画在图里)。
QCode.cc 接入特性:
- OpenAI SDK 零改动:仅替换
base_url,请求 / 响应格式 100% 一致 - 多区域接入:HK / 日本 / 美国 / 欧洲 / 深圳直连,按你所在网络环境就近选择
- API Key 统一:复用你已有的 QCode.cc
cr_开头密钥,与 Claude Code / Codex / Gemini CLI 同一份配额账户 - 后台用量统一:图像调用与对话调用合并显示在客户后台 Dashboard,并提供独立自助查询页
典型场景:海报生成、配图、产品图、UI mockup、社交媒体素材。
快速开始¶
3 行 Python 完成第一张图:
from openai import OpenAI
import base64
client = OpenAI(
base_url="https://api.qcode.cc/qcode-img/v1",
api_key="cr_YOUR_QCODE_API_KEY",
timeout=180.0, # 单图 30-90s,至少设 180s
)
result = client.images.generate(
model="gpt-image-2",
prompt="A cyberpunk Tokyo street at night, neon reflecting in rain puddles",
size="1024x1024",
quality="low",
n=1,
)
with open("output.png", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))
⚠️ 必须显式设置 timeout ≥ 180s:OpenAI SDK 默认超时较短,gpt-image-2 推理时间显著长于传统文生图(详见下方 生成耗时)。
接入入口¶
gpt-image-2 服务在 QCode.cc 的所有接入域上都可用,只需把 {base} 拼成 {base}/qcode-img/v1:
| 用户位置 | 推荐 base_url | 协议 | 备注 |
|---|---|---|---|
| 中国大陆 | http://103.236.53.153/qcode-img/v1 |
HTTP | 深圳节点直连,无 CF 100s 限制;medium / high 质量推荐用此入口 |
| 中国大陆(HTTPS 必需) | https://api.qcode.cc/qcode-img/v1 |
HTTPS | 经全球 CDN,但 medium / high 可能触发 524(见 CDN 100s 硬限) |
| 香港 / 东南亚 | https://asia.qcode.cc/qcode-img/v1 |
HTTPS | 香港节点 |
| 欧洲 | https://eu.qcode.cc/qcode-img/v1 |
HTTPS | 法兰克福节点 |
| 北美 | https://us.qcode.cc/qcode-img/v1 |
HTTPS | 洛杉矶节点 |
所有入口路由到同一计费体系,用量与额度统一。完整接入域说明参见 接入点与 API 格式。
qcode-img是图像生成专属路径前缀,与 Anthropic 协议的/api、OpenAI 协议的/openai/v1、Gemini 协议的/gemini平行。
API 规范¶
端点¶
POST {base_url}/images/generations
请求头¶
| Header | 必需 | 值 |
|---|---|---|
Authorization |
✓ | Bearer cr_xxxxxxxxxxxxxxxx(你的 QCode.cc API Key) |
Content-Type |
✓ | application/json |
请求体¶
{
"model": "gpt-image-2",
"prompt": "A small ceramic vase with sunflower, photorealistic",
"size": "1024x1024",
"quality": "low",
"n": 1
}
| 字段 | 类型 | 必需 | 默认 | 取值 |
|---|---|---|---|---|
model |
string | ✓ | — | 固定 gpt-image-2 |
prompt |
string | ✓ | — | 图像描述,支持中英多语言 |
size |
string | ✗ | 1024x1024 |
1024x1024(方)/ 1024x1536(竖)/ 1536x1024(横) |
quality |
string | ✗ | medium |
low / medium / high |
n |
integer | ✗ | 1 | 单次生成数(1 – 4) |
响应¶
{
"created": 1777135432,
"data": [
{
"b64_json": "iVBORw0KGgo...(base64 PNG, 1-3 MB)",
"revised_prompt": "A small ceramic vase with sunflower..."
}
]
}
b64_json:图片的 base64 编码 PNG,前端可直接用<img src="data:image/png;base64,...">渲染revised_prompt:模型对原始 prompt 的优化版本(可选展示给用户参考)
错误响应¶
错误响应符合 OpenAI 标准 schema:
{
"error": {
"type": "rate_limit_error",
"code": "image_daily_limit",
"message": "Daily image generation count limit reached..."
}
}
| HTTP | code | 含义 |
|---|---|---|
| 401 | invalid_api_key |
API Key 无效或已禁用 |
| 401 | key_expired |
API Key 已过期 |
| 422 | unsupported_size |
size 不支持(仅接受上表三种) |
| 429 | crs_daily_exhausted |
你的账户当日预算已用尽 |
| 429 | crs_total_exhausted |
你的账户累计预算已用尽 |
| 429 | image_daily_limit |
每个 API Key 每日 100 张上限达到(默认值,可申请提升) |
| 429 | concurrency_exhausted |
每个 API Key 并发上限 2(默认值,可申请提升) |
| 503 | service_overloaded |
服务全局负载过高,请稍后重试 |
| 503 | image_provider_unavailable |
上游暂时不可用,请稍后重试 |
代码示例¶
Python(OpenAI SDK,推荐)¶
from openai import OpenAI
import base64
client = OpenAI(
base_url="https://api.qcode.cc/qcode-img/v1",
api_key="cr_YOUR_QCODE_API_KEY",
timeout=180.0,
)
result = client.images.generate(
model="gpt-image-2",
prompt="A cyberpunk Tokyo street at night, neon reflecting in rain puddles",
size="1024x1024",
quality="low",
n=1,
)
img_bytes = base64.b64decode(result.data[0].b64_json)
with open("output.png", "wb") as f:
f.write(img_bytes)
print("已保存 output.png")
curl¶
curl https://api.qcode.cc/qcode-img/v1/images/generations \
-H "Authorization: Bearer cr_YOUR_QCODE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A cyberpunk Tokyo street at night",
"size": "1024x1024",
"quality": "low",
"n": 1
}' \
| jq -r ".data[0].b64_json" | base64 -d > output.png
JavaScript / Node.js / 浏览器¶
const r = await fetch("https://api.qcode.cc/qcode-img/v1/images/generations", {
method: "POST",
headers: {
"Authorization": "Bearer cr_YOUR_QCODE_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-image-2",
prompt: "A cyberpunk Tokyo street at night",
size: "1024x1024",
quality: "low",
n: 1,
}),
});
const json = await r.json();
const dataUrl = "data:image/png;base64," + json.data[0].b64_json;
document.querySelector("img").src = dataUrl;
限额规则¶
默认限额¶
| 维度 | 默认值 | 说明 |
|---|---|---|
| 每日图片数 | 100 张 / 天 / Key | 北京时间 0 点重置 |
| 并发数 | 2 同时进行中 | 超出返 429 concurrency_exhausted |
| 账户预算 | 共用 QCode.cc 账户的 dailyCostLimit / totalCostLimit |
超出返 429 crs_daily_exhausted |
默认限额对绝大多数用户充足。如需提升请联系客服。
用量查询¶
- 客户后台 Dashboard:与 chat 调用统一展示(最近使用时间、当日费用、累计费用、模型分布)
- 自助查询页:https://api.qcode.cc/qcode-img/usage — 输入 API Key 查近 30 天用量、详细调用列表、ECharts 趋势图(API Key 仅在浏览器本地存储,不上传)
计费规则¶
基础定价(每张)¶
| size | low | medium | high |
|---|---|---|---|
| 1024×1024 | $0.08 (floor) | $0.08 (floor) | $0.211 |
| 1024×1536 | $0.08 (floor) | $0.08 (floor) | $0.165 |
| 1536×1024 | $0.08 (floor) | $0.08 (floor) | $0.165 |
| 2048×2048 | $0.08 (floor) | $0.08 (floor) | $0.285 |
最低单次计费 $0.08¶
- 实际成本 < $0.08 时按 $0.08 计费(low / medium 大多触发此 floor)
- 实际成本 ≥ $0.08 时按真实金额计费(不上调)
多张计费¶
n > 1 时按张数线性叠加。例:n=2 + 1024×1024 high = 2 × $0.211 = $0.422。
失败不计费¶
任何 4xx / 5xx 失败请求不计费;客户端断开(连接关闭)也不计费。
货币¶
费用以 USD 计算,账户结算遵循 QCode.cc 主账户的货币策略(人民币 / 美元)。
生成耗时与超时设置¶
gpt-image-2 是基于推理的模型,生成时间显著长于传统文生图(如 DALL·E 3 / SDXL):
| quality | 典型耗时 | 复杂 prompt 极限 |
|---|---|---|
low |
20 – 35 s | ~50 s |
medium |
50 – 90 s | ~120 s |
high |
70 – 120 s | ~150 s |
实践建议:
- OpenAI Python SDK 默认 timeout 较短,必须显式设置
timeout=180.0或更高 - 浏览器
fetch没有默认 timeout,但若用AbortController设了超时,至少给 180 s - 中国大陆用户做 medium / high 必须用深圳直连入口,否则会触发下方 CDN 524 问题
CDN 100s 硬限(524 错误)¶
经 api.qcode.cc / asia.qcode.cc / eu.qcode.cc / us.qcode.cc 的 HTTPS 请求会经过全球 CDN(CloudFlare)。CDN 对单个请求等待源响应超过 100 秒会强制返回 524 错误。
| quality | 经 CDN 100s 是否安全 |
|---|---|
low |
✅ 安全(< 35 s) |
medium |
⚠️ 偶发触顶(接近 100 s) |
high |
❌ 经常 524 |
对策(推荐 medium / high 使用):
- 直接走深圳 HTTP 入口
http://103.236.53.153/qcode-img/v1(无 CDN 中转,不受 100 s 限制) - 或接受偶发 524 + 客户端自动重试
Prompt 编写要点¶
- 支持中英多语言:可直接写中文 prompt,也可英文,混合也可
- 细节越具体越好:环境、构图、光线、风格、镜头距离 / 焦段 / 视角等
- 避免品牌名 / 知名人物:模型可能拒绝或返回模糊结果(OpenAI 内容策略限制)
- 文字渲染:
gpt-image-2文字渲染能力极强,可在图中嵌入英文 / 中文标题、短句、海报文字(写在 prompt 中即可,无需特殊语法)
示例 prompt:
A vintage poster in Bauhaus style, bold black text "MORNING COFFEE" centered,
warm orange and cream color palette, geometric shapes, slightly textured paper background
与 OpenAI 官方 API 的差异¶
| 维度 | OpenAI 官方 | QCode.cc |
|---|---|---|
| SDK 兼容性 | — | ✅ 100% 兼容,仅替换 base_url |
| 计费 | 按 token 精算 | 按上述定价表,最低 $0.08 / 张 |
/v1/images/edits(图像编辑) |
支持 | ⏳ 暂不支持 |
stream + partial_images(增量返回) |
支持 | ⏳ 暂不支持 |
/v1/images/generations 主端点 |
✅ | ✅ |
在线 Playground¶
https://api.qcode.cc/qcode-img/ — 浏览器即可试用:
- 输入 API Key + Prompt 立即生成
- 中英双语切换
- 默认
low质量(避免 CDN 524) - 含完整 API 调用文档(curl / Python / JavaScript 三个 tab + 参数表 + 错误码表)
- 一键下载生成的 PNG
相关文档¶
- 接入点与 API 格式 — QCode.cc 全部接入域、协议路径、curl 自测方法
- 计费说明 — 套餐、配额、费用规则