接口文档
浮光AI 同时兼容三种主流协议。准备一把 API 密钥,把客户端的地址指向浮光即可,无需改动业务逻辑。
接入信息
认证
所有请求都需要携带 API 密钥。OpenAI 格式的接口使用 Bearer Token:
Authorization: Bearer sk-你的密钥Claude Messages 接口沿用 Anthropic 的写法,用 x-api-key 请求头传密钥。
密钥等同于余额。不要写进前端代码或公开仓库;建议每个用途单独建一把,并设置额度上限。
端点一览
下表为当前在售模型的实测结果。
| 接口 | 方法与路径 | 支持 | 用途 |
|---|---|---|---|
| Chat Completions | POST /v1/chat/completions | 全部模型 | 最通用的对话接口 |
| Responses | POST /v1/responses | 全部模型 | Codex 等新一代客户端 |
| Claude Messages | POST /v1/messages | 全部模型 | Anthropic 原生格式、Claude Code |
| 模型列表 | GET /v1/models | 可用 | 列出当前密钥可调用的模型 |
| 图像生成 | POST /v1/chat/completions | 生图模型 | 用生图模型走对话接口 |
| 独立图像端点 | /v1/images/generations | 未开放 | 请改用上一行的方式 |
三种协议可以互通:例如用 Chat Completions 调 Claude,或用 Claude Messages 调 Gemini,网关会自动转换格式。
Chat Completions
POST /v1/chat/completions —— 与 OpenAI 官方接口一致,绝大多数 SDK 和客户端默认用它。
curl https://aiz.naiyouai.com/v1/chat/completions \
-H "Authorization: Bearer 你的Key" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-6-thinking",
"messages": [
{"role": "system", "content": "你是一个简洁的助手。"},
{"role": "user", "content": "用一句话介绍你自己"}
]
}'from openai import OpenAI
client = OpenAI(api_key="你的Key", base_url="https://aiz.naiyouai.com/v1")
resp = client.chat.completions.create(
model="claude-opus-4-6-thinking",
messages=[
{"role": "system", "content": "你是一个简洁的助手。"},
{"role": "user", "content": "用一句话介绍你自己"},
],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ apiKey: "你的Key", baseURL: "https://aiz.naiyouai.com/v1" });
const resp = await client.chat.completions.create({
model: "claude-opus-4-6-thinking",
messages: [
{ role: "system", content: "你是一个简洁的助手。" },
{ role: "user", content: "用一句话介绍你自己" },
],
});
console.log(resp.choices[0].message.content);请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string · 必填 | 模型 ID,从 模型广场 原样复制 |
messages | array · 必填 | 对话消息列表,每项含 role(system / user / assistant)与 content |
stream | boolean | 设为 true 开启流式输出,默认 false |
max_tokens | integer | 限制本次回复的最大 Token 数 |
temperature | number | 采样温度,越高越发散 |
响应
{
"object": "chat.completion",
"model": "claude-opus-4-6-thinking",
"choices": [
{ "message": { "role": "assistant", "content": "…" }, "finish_reason": "stop" }
],
"usage": { "prompt_tokens": …, "completion_tokens": …, "total_tokens": … }
}流式输出
在请求体里加 "stream": true,服务端以 SSE 逐段返回,以 data: [DONE] 结束。长回复建议始终开启。
curl -N https://aiz.naiyouai.com/v1/chat/completions \
-H "Authorization: Bearer 你的Key" \
-H "Content-Type: application/json" \
-d '{"model": "gemini-3.8-flash", "stream": true, "messages": [{"role": "user", "content": "你好"}]}'stream = client.chat.completions.create(
model="gemini-3.8-flash",
messages=[{"role": "user", "content": "你好"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)data: {"object":"chat.completion.chunk","model":"gemini-3.8-flash","choices":[{"index":0,"delta":{"role":"assistant"}}]}
data: {"object":"chat.completion.chunk","model":"gemini-3.8-flash","choices":[{"index":0,"delta":{"content":"你好!"}}]}
data: [DONE]Responses
POST /v1/responses —— OpenAI 新一代接口,Codex 默认使用。调用 GPT 模型需使用 GPT 分组的密钥。
curl https://aiz.naiyouai.com/v1/responses \
-H "Authorization: Bearer 你的Key" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-6-sol", "input": "用一句话介绍你自己"}'resp = client.responses.create(model="gpt-6-sol", input="用一句话介绍你自己")
print(resp.output_text){
"object": "response",
"model": "gpt-6-sol",
"status": "completed",
"output": [
{
"type": "message",
"role": "assistant",
"content": [{ "type": "output_text", "text": "…" }]
}
]
}Claude Messages
POST /v1/messages —— Anthropic 原生格式。使用 Anthropic SDK 或 Claude Code 时,地址填 https://aiz.naiyouai.com(不带 /v1)。
curl https://aiz.naiyouai.com/v1/messages \
-H "x-api-key: 你的Key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-6-thinking",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "用一句话介绍你自己"}]
}'# pip install anthropic
from anthropic import Anthropic
client = Anthropic(api_key="你的Key", base_url="https://aiz.naiyouai.com") # 注意:不带 /v1
msg = client.messages.create(
model="claude-opus-4-6-thinking",
max_tokens=1024,
messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(msg.content[0].text){
"type": "message",
"role": "assistant",
"model": "claude-opus-4-6-thinking",
"content": [{ "type": "text", "text": "…" }],
"stop_reason": "end_turn"
}模型列表
GET /v1/models —— 返回当前密钥所在分组可调用的全部模型,可用来自检密钥与分组是否正确。
curl https://aiz.naiyouai.com/v1/models -H "Authorization: Bearer 你的Key"图像生成
生图模型(gemini-3-pro-image、gemini-3.1-flash-image)通过 Chat Completions 调用:把提示词放进 messages,图片随回复内容返回。密钥需属于「Gemini反重力专属」分组。
错误码
出错时返回对应的 HTTP 状态码与如下结构的 JSON,message 里带有 request id,反馈问题时请一并提供。
{
"error": {
"code": "model_not_found",
"message": "No available channel for model gpt-6-sol under group default (request id: 2026…)",
"type": "new_api_error"
}
}| 状态 | 含义 | 处理 |
|---|---|---|
401 Invalid token | 密钥无效、已删除,或缺少 Bearer 前缀 | 重新复制密钥,检查请求头 |
503 model_not_found | 模型 ID 写错,或密钥所在分组不含该模型 | 到广场复制模型 ID;换成包含该模型的分组的密钥 |
403 / 429 | 账户余额或密钥额度不足,或触发限流 | 充值、调高密钥额度,或稍后重试 |
5xx 其它 | 上游暂时不可用 | 稍后重试;持续出现请联系客服 |
模型、分组与折扣的完整对照见 模型与价格。