1. 接入信息
| 项目 | 配置 |
|---|---|
| 站点地址 | https://www.chaomoapi.com |
| API Base URL | https://www.chaomoapi.com/v1 |
| 健康检查 | https://www.chaomoapi.com/health |
| 鉴权方式 | Authorization: Bearer sk-xxxx |
| 接口格式 | OpenAI Images API 兼容格式 |
基础调用流程
- 登录控制台并创建 API 密钥。
- 确认密钥有可用额度,并已分配到图片模型分组。
- 将 SDK 或 HTTP 客户端的
base_url配置为https://www.chaomoapi.com/v1。 - 使用
/v1/models验证密钥能访问的模型列表。 - 批量生成时在服务端控制并发,不要在浏览器或客户端直接暴露 API Key。
curl https://www.chaomoapi.com/v1/models \
-H "Authorization: Bearer sk-xxxx"
2. 模型列表查询
接入前建议先调用 /v1/models,确认当前 API Key 可用的图片模型。
curl https://www.chaomoapi.com/v1/models \
-H "Authorization: Bearer sk-xxxx"
当前正常返回应包含:
image2 1Kimage2 2Kimage2 4K
3. 服务端接入建议
真实 API Key 只应放在服务端。前端页面、移动端包和公开仓库不要写入真实密钥。
IMAGE_API_BASE_URL=https://www.chaomoapi.com/v1
IMAGE_API_KEY=sk-xxxx
IMAGE_DEFAULT_MODEL="image2 1K"
- 在自己的后端封装图片生成接口,再由前端调用自己的业务接口。
- 根据业务用户设置额度、频率、日志审计和异常提示。
- 图片链接通常有时效性,生成后请及时转存到自己的对象存储或文件系统。
4. 图片接口
文生图
POST https://www.chaomoapi.com/v1/images/generations
curl https://www.chaomoapi.com/v1/images/generations \
-H "Authorization: Bearer sk-xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "image2 2K",
"prompt": "一张高端不锈钢智能保温杯的电商主图,棚拍灯光,干净背景",
"size": "2048x1152",
"n": 1,
"response_format": "url"
}'
图生图
上传 1 到 3 张参考图后使用 /v1/images/edits,请求格式为 multipart/form-data。可按模型选择官方直出 1K、2K 或 4K 输出尺寸。
POST https://www.chaomoapi.com/v1/images/edits
curl https://www.chaomoapi.com/v1/images/edits \
-H "Authorization: Bearer sk-xxxx" \
-F "model=image2 1K" \
-F "prompt=参考上传图片,生成更明亮、更干净的商业摄影风格图片" \
-F "size=1024x1024" \
-F "n=1" \
-F "quality=auto" \
-F "image[]=@source-1.png" \
-F "image[]=@source-2.png" \
-F "image[]=@source-3.png"
常用参数
| 参数 | 必填 | 说明 |
|---|---|---|
model | 是 | 图片模型 ID,例如 image2 1K、image2 2K、image2 4K |
prompt | 是 | 图片描述,建议写清主体、风格、场景、构图、颜色和用途 |
size | 否 | 输出尺寸。未填写时按模型默认尺寸输出 |
n | 否 | 单次请求生成张数,支持 1 到 4。批量任务建议验证效果后使用 4 提高吞吐 |
image[] | 图生图必填 | 参考图文件,支持 1 到 3 张;仅用于 /v1/images/edits 的 multipart/form-data 请求 |
response_format | 否 | 通常使用 url;如需要也可请求 b64_json |
支持尺寸
| 模型 | 支持尺寸 |
|---|---|
image2 1K | 1024x1024、1280x1024、864x1536、1344x576、1536x864、1536x1024、1344x1008、1024x1280、1008x1344、1024x1536 |
image2 2K | 2048x2048、1920x1536、1152x2048、2016x864、2048x1152、1920x1280、2048x1536、1536x1920、1536x2048、1280x1920 |
image2 4K | 4096x4096、3840x3072、2160x3840、4032x1728、3840x2160、3840x2560、4096x3072、3072x3840、3072x4096、2560x3840、4096x2160 |
注意:图片链接通常有时效性,建议生成后及时下载并保存到自己的存储中。官方直出高清尺寸通常比 1K 输出耗时更长。
5. 并发与批量调用
图片生成是长耗时任务,客户端应把并发控制在自己的服务端队列中。并发数表示同时进行中的请求数;每个请求的 n 表示本次返回几张图。
推荐策略
- 首次接入先用
n=1、并发1到3验证模型、尺寸、提示词和扣费。 - 批量任务建议使用
n=4,再逐步把并发从5、10、20往上提升。 - 稳定运行时以实际成功率、平均耗时和余额为准;如果出现
429,立即降低并发并等待后重试。 image2 2K和image2 4K为官方直出高清模型,输出尺寸更大,耗时通常比image2 1K更长。
吞吐估算
| 指标 | 计算方式 |
|---|---|
| 单分钟出图量 | 并发数 × n × 60 ÷ 平均耗时秒数 |
| 单日出图量 | 单分钟出图量 × 1440 |
| 预计费用 | 图片张数 × 当前模型单张价格 |
服务端队列示例
下面示例使用 p-limit 控制并发,先安装依赖:npm install p-limit。
import pLimit from "p-limit";
const limit = pLimit(10); // 从 10 并发开始,稳定后再逐步提高
async function generateOne(prompt) {
const res = await fetch("https://www.chaomoapi.com/v1/images/generations", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.IMAGE_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "image2 1K",
prompt,
size: "1024x1024",
n: 4
})
});
if (res.status === 429) {
throw new Error("rate_limited: lower concurrency and retry later");
}
if (!res.ok) {
throw new Error(await res.text());
}
return res.json();
}
const tasks = prompts.map((prompt) => limit(() => generateOne(prompt)));
const results = await Promise.allSettled(tasks);
并发注意:不要无限制地
Promise.all 大量请求。遇到 429 时建议把并发降低 30% 到 50%,等待 30 到 60 秒后再继续;401、403 和 404 属于配置问题,不应盲目重试。6. Node.js 图片生成模块
已提供一个可直接复用的图片生成模块,默认按本站网关调用。
IMAGE_API_BASE_URL=https://www.chaomoapi.com/v1
IMAGE_API_KEY=sk-xxxx
IMAGE_DEFAULT_MODEL="image2 1K"
const { ImageGenerationClient } = require("./image-generation-client");
const client = new ImageGenerationClient();
const result = await client.generateImage({
model: "image2 4K",
prompt: "一张科技产品发布会主视觉,黑色背景,蓝绿色边缘光",
size: "3840x2160",
n: 1
});
console.log(result.images);
7. 计费与额度
image2 1K按$0.03 / 张计费。image2 2K按$0.03 / 张计费。image2 4K按$0.04 / 张计费。- 最终扣费以平台实际账单、模型倍率、分组规则和请求记录为准。
8. 常见错误排查
| 现象 | 常见原因 | 处理方式 |
|---|---|---|
401 Unauthorized | API Key 错误、缺少 Bearer、密钥被禁用 | 重新复制密钥,确认请求头格式 |
403 Forbidden | 密钥没有模型权限或分组未开放 | 检查密钥分组和模型映射 |
404 model not found | 模型 ID 写错或未分配到当前密钥 | 先调用 /v1/models 获取可用模型 |
429 | 频率、并发或额度限制 | 降低并发,等待 30 到 60 秒后重试,并检查余额和限流配置 |
5xx 或超时 | 上游通道异常、网络波动或模型拥塞 | 稍后重试,必要时联系管理员 |
| 图片返回为空 | 尺寸不支持、提示词违规、上游生成失败 | 更换尺寸,简化提示词,查看接口错误信息 |
9. 安全要求
- API Key 只能放在服务端、环境变量或安全密钥管理系统中。
- 不要把真实密钥写入前端代码、移动端包、浏览器扩展或公开仓库。
- 如果密钥已经泄露,应立即在控制台停用并重新创建。
- 对外提供服务时,应在自己的后端增加用户鉴权、额度限制、日志审计和异常告警。
10. 联系方式
如遇到账户、额度、模型权限或接口异常问题,请联系管理员。
联系方式:微信 zntcode