API 文档
实用指南:令牌与权限、模型选择、常用接口、计费与使用日志、错误与限额。
概览
快绘提供统一的 OpenAI 风格接口(对话、图像、语音、视频等),让你用同一套调用方式接入多家模型。
你可以通过替换 `model` 字段,在不同模型之间切换能力与成本;请求与返回结构保持一致。
控制台提供令牌管理、访问限制、用量与费用明细(含计费过程)等能力,便于你在生产环境里做权限隔离与成本控制。
- OpenAI 兼容的请求形状与路径(/v1/…)
- 令牌级别的权限控制:可用模型、额度、IP 白名单、过期时间
- 透明计费:按量计费(输入/输出)与按次计费两种模型
- 使用日志:请求路径、输入/输出 token、费用计算明细
快速开始
如果你已经在用 OpenAI SDK/客户端,大多数情况下只需要切换 base URL 与 API Key。
下面按当前网站的功能,把“从创建令牌到看到日志与计费”走通一遍。
curl https://kuaihuiai.com/v1/chat/completions \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.1-mini","messages":[{"role":"user","content":"用一句话写一个产品卖点"}]}'鉴权与令牌
所有请求通过 Bearer Token 鉴权(Authorization 头)。
请在控制台创建令牌并妥善保管密钥。不要把令牌暴露在公开前端;建议在服务端或可信运行环境调用。
生产环境建议按项目/环境拆分令牌并定期轮换,配合访问限制降低风险。
- 令牌分组:按项目/环境组织与隔离
- 可用模型:限制令牌可调用的模型范围
- 额度:设置总额度与可选的每日额度
- 访问限制:启用 IP 白名单(支持单 IP 与 CIDR)
- 过期时间:到期自动失效或设置为永不过期
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json提示:生产令牌建议“最小权限”原则——只开放必要模型,并启用 IP 白名单。
基础地址
将你的第三方工具或应用配置为以下基础地址,再使用统一接口进行调用。
使用 OpenAI 兼容 SDK 时,通常将 base URL 设置为 `https://kuaihuiai.com/v1`。
模型选择
模型名称通过 `model` 字段传入。请在“模型”页面复制名称(精确匹配)。
不同模型对应不同计费方式:按量计费(输入/输出分别计价)或按次计费(每次固定价格)。
- 模型名称建议直接复制,避免拼写错误
- 按量计费模型:输入/输出 token 分开计费($/1M tokens)
- 按次计费模型:每次调用固定价格($/次)
- 费用明细:在控制台“使用日志”中可查看每次请求的计费过程(参考计算)
接口一览
下面列出常用接口(OpenAI 风格路径,统一挂载在 /v1 下)。
多数接口使用 JSON;语音转写通常使用 multipart/form-data 上传音频文件。
| 方法 | 路径 | 名称 | 说明 |
|---|---|---|---|
| POST | /v1/chat/completions | Chat Completions | 对话/文本生成(兼容 OpenAI) |
| POST | /v1/images/generations | Image Generation | 图像生成 |
| POST | /v1/audio/transcriptions | Transcription | 语音转写(语音转文字) |
| POST | /v1/videos/generations | Video Generation | 视频生成(Sora/Veo 等) |
提示:具体支持的模型与计费方式请查看“模型”与“定价”页面。
Chat Completions
对话/文本生成的通用入口,适用于聊天、写作、摘要、问答等场景。
切换模型时保持请求结构不变,只需要修改 `model`。
- `model`(必填):模型名称(从模型页复制)
- `messages`(必填):对话历史,包含 role 与 content
- `temperature`(可选):随机性控制
- `max_tokens`(可选):输出长度上限
- `stream`(可选):启用流式返回
{
"model": "gpt-5.1-mini",
"messages": [
{"role":"system","content":"你是一个简洁的助手"},
{"role":"user","content":"用 3 条要点总结下面内容"}
],
"temperature": 0.2
}{
"id": "...",
"choices": [{"message": {"role": "assistant", "content": "..."}}],
"usage": {"prompt_tokens": 123, "completion_tokens": 45, "total_tokens": 168}
}图像生成
用于图像生成/出图能力。请从模型页选择支持图像的模型。
部分图像模型为按次计费。
- `prompt`(必填):图像描述
- `n`(可选):生成张数
- `size`(可选):输出尺寸(与模型能力有关)
{
"model": "imagen-4.0-generate-preview-landscape",
"prompt": "暖色米白风格的极简产品插画",
"n": 1
}语音转写
用于将语音文件转为文本。常见做法是使用 multipart/form-data 上传音频文件。
curl https://kuaihuiai.com/v1/audio/transcriptions \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-F "model=gpt-5.1-mini" \
-F "file=@./audio.wav"视频生成
用于 Sora/Veo 等视频生成模型。
视频生成通常更耗时;建议在客户端做好更长超时、重试与幂等处理(生产环境建议任务化/异步化)。
{
"model": "sora-video-5s-720p-16-9",
"prompt": "海边日出的短镜头,电影感"
}计费与用量
计费方式以模型页展示为准:按量计费($/1M tokens)或按次计费($/次)。
控制台 → 使用日志的详情弹框会展示每次请求的“计费过程”(参考计算),便于你核对成本。
- 按量计费:输入与输出 token 分别计价,再乘以分组倍率(如有)
- 按次计费:每次固定价格,再乘以分组倍率(如有)
- 额度限制:令牌可设置总额度与每日额度,防止预算失控
- 用量明细:使用日志支持查看 requestId 与请求路径,便于定位问题
输入费用 = 输入 tokens / 1,000,000 * 输入单价
输出费用 = 输出 tokens / 1,000,000 * 输出单价
总费用 = (输入费用 + 输出费用) * 分组倍率总费用 = 每次单价 * 次数 * 分组倍率
次数通常为 1(一次请求一次扣费)错误处理
接口会返回标准 HTTP 状态码,并提供错误信息(OpenAI 风格)。
排查问题时请记录 requestId、model 与请求路径,便于定位。
{
"error": {
"message": "令牌无权限访问该模型",
"type": "forbidden",
"code": "model_not_allowed",
"request_id": "req_..."
}
}提示:429/5xx 建议指数退避 + 抖动重试;4xx 通常需要修正请求或权限配置。
速率与限额
速率限制通常以 RPM(每分钟请求数)与 TPM(每分钟 tokens)衡量。
建议结合令牌额度、每日额度与 IP 白名单,做成本与风险控制。
- 出现 429 时请降低并发并退避重试
- 减少输出长度或精简 prompt 可降低 TPM 压力
- 按项目拆分令牌并分组管理,便于隔离与追踪
示例
切换模型通常只需要替换 `model` 字段。下面提供两段可直接改造的示例。
curl https://kuaihuiai.com/v1/chat/completions \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"model":"<MODEL_NAME>","messages":[{"role":"user","content":"给我 3 个标题创意"}]}'import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AI_GATEWAY_KEY,
baseURL: "https://kuaihuiai.com/v1"
});
const res = await client.chat.completions.create({
model: "gpt-5.1-mini",
messages: [{ role: "user", content: "写一段简短的欢迎语" }]
});
console.log(res.choices[0]?.message?.content);