AI API 接入指南:Base URL、密钥与模型选择
把 AI 接入应用之前,先确认三个要素:请求发往哪里、使用哪个密钥、调用哪个模型。本文围绕零词元的 OpenAI 兼容接口,给出从配置到验证的操作顺序。
先确认 https://zzq.si/v1、有效密钥和当前分组可用的模型 ID;用最小请求验证成功后,再逐项加入高级参数。
本文目录
1. 先确认账号与密钥
登录已有账号后,在控制台创建 API Key,并确认所属分组、可用额度和有效期。本站当前未开放自助注册;如果还没有账号,请先确认账号开通方式,再配置客户端。
密钥只保存在服务端环境变量或密钥管理系统中。浏览器前端代码、公开仓库和公开截图中都不应包含真实密钥。下面示例中的环境变量需要在你自己的环境中设置。
2. 区分 Base URL 和完整接口地址
| 配置位置 | 地址 |
|---|---|
| 兼容客户端的 Base URL | https://zzq.si/v1 |
| 查询当前密钥可用模型 | GET https://zzq.si/v1/models |
| 聊天补全请求 | POST https://zzq.si/v1/chat/completions |
有些客户端会自动追加 /v1,有些会自动追加接口路径。配置后检查最终 URL,避免出现 /v1/v1 或重复的 /chat/completions。如果客户端要求“完整接口地址”,就不能只填写域名。
3. 用当前密钥查询可用模型
curl --fail-with-body --silent --show-error \
https://zzq.si/v1/models \
-H "Authorization: Bearer ${ZEROTOKEN_API_KEY}"从返回结果中选择实际可用且支持聊天补全的模型 ID,保存为 ZEROTOKEN_MODEL。不同密钥所属分组可能不同,不要仅凭其他用户的示例猜测模型名。模型展示名称也不一定等于接口所需的 ID。
4. 发出一个最小请求
以下命令需要 Python 3 和 cURL。它用 JSON 编码模型名,避免把环境变量直接拼进 JSON 字符串。该命令会发出一次真实模型请求,使用前请确认费用与额度。
python3 - <<'PY' | curl --fail-with-body --silent --show-error \
https://zzq.si/v1/chat/completions \
-H "Authorization: Bearer ${ZEROTOKEN_API_KEY}" \
-H "Content-Type: application/json" --data-binary @-
import json, os
print(json.dumps({
"model": os.environ["ZEROTOKEN_MODEL"],
"messages": [{"role": "user", "content": "请用一句话介绍你自己。"}]
}, ensure_ascii=False))
PY先检查 HTTP 状态和返回正文,再将相同配置迁入业务代码。不要在第一次测试时同时加入工具调用、图片和复杂输出格式,否则难以定位错误。
5. 迁移客户端时检查兼容范围
兼容接口并不代表所有模型支持完全相同的参数。确认模型是否支持图片、工具调用、结构化输出和流式输出;不支持的功能应在应用层禁用。Anthropic Messages、Responses 和 Gemini 原生接口使用各自的请求格式,不能只替换 URL 后继续发送 Chat Completions 请求体。
常见问题
Base URL 要不要带 /v1?
兼容客户端通常填写 https://zzq.si/v1;如果客户端会自动追加 /v1,则按它的说明配置。最终请求地址不应出现重复的 /v1。
为什么同一个模型在另一个密钥下不可用?
模型权限由密钥所属分组等配置决定。请使用当前密钥查询 /v1/models,并核对接口协议,不能直接照搬其他账号的模型列表。
可以在网页前端直接使用 API Key 吗?
不建议。前端代码和请求可被用户查看,应由你自己的后端保管密钥并转发业务请求。
准备好开始验证了吗?
使用已有账号进入控制台,确认密钥权限与可用额度,再执行最小请求。
登录控制台 查看文档