一句话结论
把 BASE_URL 指向 1A1API,把 Key 换成 1A1API 的 sk-xxx,模型名按列表填。
适用场景
- 想接入 GPT、Claude、图像模型,但官方不好开
- 想统一计费、统一接口
- Agent 工作流需要一个稳定 API
常见现象
- 知道有 1A1API,但不确定怎么开始
- 不确定 BASE_URL 该填什么
- 不知道模型名怎么写
原因解释
- 1A1API 是 OpenAI 兼容的中转站
- 需要在 .env 里配置 BASE_URL 和 API Key
- 模型名要从平台模型列表里选
解决步骤
- 在 1A1API 注册并完成充值
- 在控制台生成 API Key,命名带上用途
- 把 BASE_URL 改成 1A1API 提供的地址
- 把代码里的 model 改成列表里的型号,例如 gpt-4o-mini
- 用 curl 或代码发一次最小请求确认能用
可复制命令
curl $BASE_URL/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"hi"}]}'
仍然不行怎么办
- 连接失败先确认 BASE_URL 末尾有没有多余的 /
- 余额够却报 401,重新生成 Key 再试
小白先准备什么
- 准备一个邮箱用来注册 1A1API
- 准备充值方式(支付宝 / 微信 / USDT)
- 确认自己要用哪些模型(GPT-4o / Claude / 图像模型)
- 准备好 .env 文件和终端,待会要测试连通性
验收标准
- 1A1API 账号注册成功,余额已充值
- 在控制台生成了 API Key,命名带用途标识
- .env 里 BASE_URL 和 Key 已填写正确
- curl 测试请求返回正常响应(非 401/403)
- 控制台能看到这次测试请求的记录和扣费
可复制提示词
接入完成后,用这段提示词验证你的配置是否正确:
我刚接入了 1A1API,请帮我做一次完整检查:
我的配置:
- BASE_URL:<你的地址>(脱敏)
- Key 格式:sk-<前4位>...
- 使用的模型:<模型名>
- 工具:<OpenClaw / Claude Code / 代码项目>
请帮我:
1. 确认 BASE_URL 格式是否正确(末尾有没有多余的 /)
2. 确认模型名是否在 1A1API 支持列表里
3. 给出一条完整的 curl 测试命令
4. 告诉我怎么在控制台确认请求成功
常见误区
- 误区:BASE_URL 末尾加了 / 或 /v1/chat/completions → 只填到域名或 /v1 即可
- 误区:用 OpenAI 官方的模型名 → 要用 1A1API 模型列表里的名字,可能略有不同
- 误区:充了钱就能无限用 → 还有并发限制和 RPM 限制,跑批量任务要注意
- 误区:一个 Key 给所有项目用 → 建议每个项目单独生成 Key,方便追踪和控制
最小测试流程
- 先用最便宜或最稳定的小模型发一次 `hi`,确认不是 Key、BASE_URL、余额问题。
- 再换成你真正要用的模型,确认模型名没有拼错。
- 再把同一组配置填到 OpenClaw、Claude Code、OpenCode 或 cc-switch。
- 最后去 1A1API 控制台看请求记录、状态码和扣费,确认流量真的走到正确账号。
export BASE_URL="https://你的中转地址/v1"
export OPENAI_API_KEY="sk-你的key"
export MODEL_NAME="从 1A1API 模型列表复制"
curl "$BASE_URL/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"'"$MODEL_NAME"'","messages":[{"role":"user","content":"hi"}]}'
Key 安全提醒
- 每个项目单独建 Key,方便限额、停用和排查扣费。
- 截图和发邮件前打码 Key,只保留前后几位。
- 怀疑泄露时直接停用旧 Key,重新生成,不要继续观察。
- 给客户 Demo 时用临时 Key 和小额度,不要用主账号管理员 Key。
- 前端静态站不能暴露真实 Key;需要后端代理或中转服务。
还卡着?
可以把截图、日志、需求单或当前页面链接发到 zhemuy@gmail.com。