API 文档

实用指南:令牌与权限、模型选择、常用接口、计费与使用日志、错误与限额。

概览

快绘提供统一的 OpenAI 风格接口(对话、图像、语音、视频等),让你用同一套调用方式接入多家模型。

你可以通过替换 `model` 字段,在不同模型之间切换能力与成本;请求与返回结构保持一致。

控制台提供令牌管理、访问限制、用量与费用明细(含计费过程)等能力,便于你在生产环境里做权限隔离与成本控制。

  • OpenAI 兼容的请求形状与路径(/v1/…)
  • 令牌级别的权限控制:可用模型、额度、IP 白名单、过期时间
  • 透明计费:按量计费(输入/输出)与按次计费两种模型
  • 使用日志:请求路径、输入/输出 token、费用计算明细

快速开始

如果你已经在用 OpenAI SDK/客户端,大多数情况下只需要切换 base URL 与 API Key。

下面按当前网站的功能,把“从创建令牌到看到日志与计费”走通一遍。

1)创建令牌
控制台 → 令牌管理 → 添加令牌。可按项目/环境分组,并设置可用模型、额度、过期时间与 IP 白名单。
2)配置基础地址
在你的应用/工具里配置 base URL(使用 OpenAI SDK 时通常需要加上 /v1)。
3)复制模型名称
进入“模型”页面复制 model 名称(必须精确匹配,避免手动输入出错)。
4)发起调用并核对日志
先从 /v1/chat/completions 开始,随后在控制台 → 使用日志查看 token、费用与计费过程。
cURL(Chat Completions)
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`。

https://kuaihuiai.com

模型选择

模型名称通过 `model` 字段传入。请在“模型”页面复制名称(精确匹配)。

不同模型对应不同计费方式:按量计费(输入/输出分别计价)或按次计费(每次固定价格)。

  • 模型名称建议直接复制,避免拼写错误
  • 按量计费模型:输入/输出 token 分开计费($/1M tokens)
  • 按次计费模型:每次调用固定价格($/次)
  • 费用明细:在控制台“使用日志”中可查看每次请求的计费过程(参考计算)

接口一览

下面列出常用接口(OpenAI 风格路径,统一挂载在 /v1 下)。

多数接口使用 JSON;语音转写通常使用 multipart/form-data 上传音频文件。

方法路径名称说明
POST/v1/chat/completionsChat Completions对话/文本生成(兼容 OpenAI)
POST/v1/images/generationsImage Generation图像生成
POST/v1/audio/transcriptionsTranscription语音转写(语音转文字)
POST/v1/videos/generationsVideo Generation视频生成(Sora/Veo 等)

提示:具体支持的模型与计费方式请查看“模型”与“定价”页面。

Chat Completions

对话/文本生成的通用入口,适用于聊天、写作、摘要、问答等场景。

切换模型时保持请求结构不变,只需要修改 `model`。

  • `model`(必填):模型名称(从模型页复制)
  • `messages`(必填):对话历史,包含 role 与 content
  • `temperature`(可选):随机性控制
  • `max_tokens`(可选):输出长度上限
  • `stream`(可选):启用流式返回
请求示例(JSON)
{
  "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`(可选):输出尺寸(与模型能力有关)
请求示例(JSON)
{
  "model": "imagen-4.0-generate-preview-landscape",
  "prompt": "暖色米白风格的极简产品插画",
  "n": 1
}

语音转写

用于将语音文件转为文本。常见做法是使用 multipart/form-data 上传音频文件。

cURL(multipart)
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 等视频生成模型。

视频生成通常更耗时;建议在客户端做好更长超时、重试与幂等处理(生产环境建议任务化/异步化)。

请求示例(JSON)
{
  "model": "sora-video-5s-720p-16-9",
  "prompt": "海边日出的短镜头,电影感"
}

计费与用量

计费方式以模型页展示为准:按量计费($/1M tokens)或按次计费($/次)。

控制台 → 使用日志的详情弹框会展示每次请求的“计费过程”(参考计算),便于你核对成本。

  • 按量计费:输入与输出 token 分别计价,再乘以分组倍率(如有)
  • 按次计费:每次固定价格,再乘以分组倍率(如有)
  • 额度限制:令牌可设置总额度与每日额度,防止预算失控
  • 用量明细:使用日志支持查看 requestId 与请求路径,便于定位问题
提示:计费过程为参考展示,实际扣费以最终结算为准。
按量计费($/1M tokens)
输入费用 = 输入 tokens / 1,000,000 * 输入单价
输出费用 = 输出 tokens / 1,000,000 * 输出单价
总费用 = (输入费用 + 输出费用) * 分组倍率
按次计费($/次)
总费用 = 每次单价 * 次数 * 分组倍率
次数通常为 1(一次请求一次扣费)

错误处理

接口会返回标准 HTTP 状态码,并提供错误信息(OpenAI 风格)。

排查问题时请记录 requestId、model 与请求路径,便于定位。

错误返回示例
{
  "error": {
    "message": "令牌无权限访问该模型",
    "type": "forbidden",
    "code": "model_not_allowed",
    "request_id": "req_..."
  }
}
400 Bad Request
请求参数错误或缺失
401 Unauthorized
令牌无效或缺失
403 Forbidden
无权限访问该模型或触发访问限制策略
408 Request Timeout
请求超时,建议退避重试
429 Too Many Requests
触发速率限制(RPM/TPM)
5xx Server Error
上游或网关异常,可稍后重试

提示:429/5xx 建议指数退避 + 抖动重试;4xx 通常需要修正请求或权限配置。

速率与限额

速率限制通常以 RPM(每分钟请求数)与 TPM(每分钟 tokens)衡量。

建议结合令牌额度、每日额度与 IP 白名单,做成本与风险控制。

  • 出现 429 时请降低并发并退避重试
  • 减少输出长度或精简 prompt 可降低 TPM 压力
  • 按项目拆分令牌并分组管理,便于隔离与追踪

示例

切换模型通常只需要替换 `model` 字段。下面提供两段可直接改造的示例。

cURL(替换 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 个标题创意"}]}'
OpenAI Node SDK(兼容配置)
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);