大模型不是商城里另一张按次的接口卡。打开 大模型目录,点进某一个,页上的 版本 / ID、输入 / 输出单价、右边的调用示例,就是要带进自己项目的三样东西。

表里「版本 / ID」那一列(例如 deepseek-v4-flash)就是请求体里的 model。输入、输出分开标,单位都是 元 / 百万 tokens。有的行写「按量计费」,到详情页看具体数字。
先拿到地址和 model
打开任意模型详情,例如 DeepSeek V4 Flash。标题下面那一串等宽文字,和目录里的 ID 是同一个。

对外就记这两条:
- OpenAI SDK、第三方客户端的 Base URL:
https://v1.apizero.cn/v1 - curl、自己拼 HTTP:
POST https://v1.apizero.cn/v1/chat/completions
和 POST https://v1.apizero.cn/api/ai-chat 是同一条网关,日常用上面这套 OpenAI 路径就行。详情页若还标了 /v1/responses 或 Anthropic,当能力说明看;自己接 App 先走 Chat Completions,不要换路径碰运气。
密钥在 API Key 新建。请求头:
Authorization: Bearer 你的密钥
Content-Type: application/json页面上的「在线体验」只用来试对话,不代替你自己的接口。正式流量一律带 Key 打 v1.apizero.cn。
最小请求
把 Key 放到环境变量里,不要写进仓库:
export APIZERO_API_KEY="你的密钥"
curl https://v1.apizero.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $APIZERO_API_KEY" \
-d '{
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "用一句话说明你是谁"}
]
}'成功时 HTTP 200,JSON 里有 choices[0].message.content,以及 usage.prompt_tokens / usage.completion_tokens。后面扣费就看这两段 token,不是看你写了多少汉字。
temperature、max_tokens、top_p 可以带。stream 现在不会按 SSE 往外推,不要在生产里开 stream: true 等流式。

接到自己的网站
Key 只能放在 你的服务器。浏览器、小程序前端、公开仓库里出现完整 Key,等于谁都能用你的余额。
网站常见接法:浏览器 → 你自己的后端 → ApiZero。用户聊天内容由你的接口收,服务器用 Key 再转出去。
Node(Next.js Route Handler / 普通 Express 同理):
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.APIZERO_API_KEY,
baseURL: "https://v1.apizero.cn/v1",
});
export async function POST(req) {
const { messages } = await req.json();
const resp = await client.chat.completions.create({
model: "deepseek-v4-flash",
messages,
});
return Response.json({
text: resp.choices[0].message.content,
usage: resp.usage,
});
}Python:
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["APIZERO_API_KEY"],
base_url="https://v1.apizero.cn/v1",
)
resp = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)换模型只改 model 字符串,Base URL 不用换。要上 Pro、通义、GLM,到目录抄对应 ID。
页面上的「试用」可以先对一下回包长什么样;接到网站之后,用同一条 curl 在服务器上再打一遍,确认不是浏览器直连。
接到自己的 App / 客户端
已经兼容 OpenAI 的桌面端、Bot、知识库,把三处改掉即可:
- API Base / Endpoint:
https://v1.apizero.cn/v1。有的软件要填完整https://v1.apizero.cn/v1/chat/completions,看它要的是根路径还是 completions 地址。填完用它自带的测试按钮。 - API Key:控制台那一把
- Model:目录里的 ID,不要填展示名「DeepSeek V4 Flash」
Open WebUI、LobeChat、Chatbox、Continue、自建 GPT 风格前端,都是这个改法。手机 App 同样把请求放在你的服务端,不要把 Key 写死在安装包。
扣费怎么算
先到 充值 留一点余额,再调。详情页那句「对话按实际用量扣费,先充值再调用」就是规则:余额为 0 时付费通道过不去。
费用只看 这一次成功回包 里的 token:
费用(元)= 输入token × 输入单价(元/百万) / 1_000_000
+ 输出token × 输出单价(元/百万) / 1_000_000输入、输出单价以该模型详情页 当时 标的为准。改价以页上数字为准,不要把这篇里的例图当年价表。
用现网 Flash 页上的 0.14 / 0.28 举一次:
- 输入 800 token:800 × 0.14 / 1_000_000 = 0.000112 元
- 输出 200 token:200 × 0.28 / 1_000_000 = 0.000056 元
- 合计约 0.000168 元
一次闲聊通常是几厘到几分。长上下文、让模型大段写代码,输出 token 会涨得很快,输出单价又高于输入,费用主要堆在回复长度上。max_tokens 可以先卡住上限。
还要知道这几条:
- 成功才扣。 网关没给出结果(超时、5xx、模型拒绝)不按这次 token 收钱。
- 按回包里的 usage 收,不预估、不先冻一笔。 有余额就放行,回来再减。
- 输入、输出分开计价。 系统提示词、历史消息都算输入;模型吐出来的字算输出。
- 页上的「缓存命中」 是该模型自己的能力说明,不是另一张价目。有优惠以当时结算为准。
- 对账 在 大模型用量:时间、模型、输入/输出 token、实扣金额。可以只看收费记录。
同一把 Key 也用于天气、OCR 那些按次接口。大模型这条按 token 从余额扣;和会员档的 QPS 是两件事,QPS 以公告和你的套餐为准。
常见卡住
401/missing_token:头不是Bearer,或 Key 复制多了空格- 余额不足:到 充值,不要换一把空 Key 重试
model报错:填了中文名或旧 ID,回到详情页抄等宽那一串- 浏览器
Failed to fetch/ CORS:页面直连了v1.apizero.cn。改成打你自己的后端 - 等了半天没有流式字:不要开
stream,等整段 JSON - 第三方客户端连不上:Base URL 少了或多了
/v1。SDK 用https://v1.apizero.cn/v1,整段 URL 用https://v1.apizero.cn/v1/chat/completions
第一请求通了,把 usage 和用量页对一行,再接到网站或 App。模型换了只改 model,地址不用改。