平台概览
Fluxlane 为合法授权的上游模型服务提供统一入口、身份认证、额度计量和调用日志。
OpenAI 兼容格式接入多种模型。
独立配额、模型限制与 IP 白名单。
查看 Token、扣费和请求日志。
快速开始
- 访问 控制台并登录。
- 进入「API 密钥(令牌)」页,创建并立即保存 Key。
- 在「模型广场」确认可用模型名称和价格。
- 发送请求:
curl https://run.fluxlane.ai/v1/chat/completions \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{"model":"模型名称","messages":[{"role":"user","content":"你好"}]}'接口与鉴权
| 项目 | 值 |
|---|---|
| Base URL | https://run.fluxlane.ai/v1 |
| 认证 | Authorization: Bearer sk-你的令牌 |
| 格式 | Content-Type: application/json |
OpenAI 兼容 SDK 一般只需设置 base_url 与 api_key。
API 密钥管理
入口:/keys。建议不同项目、环境分别创建 API 密钥。
| 选项 | 用途 |
|---|---|
| 剩余配额 | 限制该密钥最大消费 |
| 过期时间 | 到期自动失效 |
| 模型限制 | 仅允许指定模型 |
| IP 白名单 | 仅允许指定出口 IP |
| 分组 | 选择渠道与计费策略 |
API 调用
POST /v1/chat/completions 调用。Claude 系列模型两种格式都支持:既可以用 OpenAI SDK 通过 /v1/chat/completions 调用,也可以用 Anthropic SDK 通过 POST /v1/messages 原生调用。Base URL 均为 https://run.fluxlane.ai。模型列表
curl https://run.fluxlane.ai/v1/models \
-H "Authorization: Bearer sk-你的令牌"聊天补全
端点:POST /v1/chat/completions。OpenAI、GPT 系列使用此端点;Claude 系列也可以用 OpenAI SDK 走同一端点。
{
"model": "模型名称",
"messages": [
{"role": "system", "content": "你是一名简洁的中文助手。"},
{"role": "user", "content": "解释向量数据库。"}
],
"temperature": 0.7,
"stream": false
}流式输出
将 stream 设为 true 后,响应为 SSE 分片(text/event-stream),以 data: [DONE] 结尾。请求带 "stream_options": {"include_usage": true} 时,最后一个 chunk 会包含 usage。
curl https://run.fluxlane.ai/v1/chat/completions \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "模型名称",
"messages": [{"role": "user", "content": "用一句话介绍流式输出。"}],
"stream": true,
"stream_options": {"include_usage": true}
}'视觉
content 可以写成数组,用 image_url 传入图片:{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}。下面示例里的 base64 是一张 1×1 的 PNG,替换成你的图片即可。识图是否生效见 模型能力矩阵。
curl https://run.fluxlane.ai/v1/chat/completions \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "模型名称",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片。"},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="}}
]
}]
}'工具调用
请求携带 tools 和 tool_choice。模型在 message.tool_calls 中返回调用;把工具结果以 role 为 tool、并带上对应 tool_call_id 的消息追加到 messages 后再次请求。是否支持工具调用取决于具体模型,见 模型能力矩阵,并以模型广场为准。示例中的 call_abc123 需换成上一次响应返回的 id。
第一次请求:
curl https://run.fluxlane.ai/v1/chat/completions \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "模型名称",
"messages": [{"role": "user", "content": "北京今天天气如何?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询指定城市的天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}],
"tool_choice": "auto"
}'响应中的 message.tool_calls 形如:
{
"role": "assistant",
"tool_calls": [{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_weather",
"arguments": "{\"city\":\"北京\"}"
}
}]
}回传工具结果:
curl https://run.fluxlane.ai/v1/chat/completions \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "模型名称",
"messages": [
{"role": "user", "content": "北京今天天气如何?"},
{
"role": "assistant",
"tool_calls": [{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_weather",
"arguments": "{\"city\":\"北京\"}"
}
}]
},
{"role": "tool", "tool_call_id": "call_abc123", "content": "晴,26°C"}
],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询指定城市的天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}],
"tool_choice": "auto"
}'输出长度
GPT 新系列模型建议使用 max_completion_tokens 限制输出长度。gpt-6-sol 已验证接受该参数。
curl https://run.fluxlane.ai/v1/chat/completions \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-sol",
"max_completion_tokens": 1024,
"messages": [{"role": "user", "content": "你好"}]
}'Anthropic Messages
端点:POST /v1/messages。Base URL 同为 https://run.fluxlane.ai,用于 Claude 系列模型的原生调用。
认证任选其一:
| 方式 | 请求头 |
|---|---|
| Anthropic SDK 默认 | x-api-key: sk-你的令牌,并带上 anthropic-version: 2023-06-01 |
| Bearer | Authorization: Bearer sk-你的令牌 |
max_tokens 为必填参数。下面示例包含 system 和流式开关;把 stream 改为 true 即返回 SSE。将示例中的 x-api-key 与 anthropic-version 换成 Authorization: Bearer sk-你的令牌 后,请求同样有效。
curl https://run.fluxlane.ai/v1/messages \
-H "x-api-key: sk-你的令牌" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "模型名称",
"max_tokens": 1024,
"system": "你是一名简洁的中文助手。",
"messages": [{"role": "user", "content": "解释向量数据库。"}],
"stream": false
}'流式输出
"stream": true 时返回标准 Anthropic SSE 事件序列:message_start → content_block_start → content_block_delta → content_block_stop → message_delta → message_stop。
视觉
图片使用内容块 {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": "..."}}。示例中的 base64 是一张 1×1 的 PNG。
curl https://run.fluxlane.ai/v1/messages \
-H "x-api-key: sk-你的令牌" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "模型名称",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片。"},
{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="}}
]
}]
}'工具调用
tools 数组使用 input_schema(OpenAI 格式使用 parameters)。模型返回 type 为 tool_use 的内容块后,在下一次用户消息里用 tool_result 回传结果。示例中的 toolu_abc123 需换成上一次响应返回的 id。
第一次请求:
curl https://run.fluxlane.ai/v1/messages \
-H "x-api-key: sk-你的令牌" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "模型名称",
"max_tokens": 1024,
"tools": [{
"name": "get_weather",
"description": "查询指定城市的天气",
"input_schema": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}],
"messages": [{"role": "user", "content": "北京今天天气如何?"}]
}'响应中的 tool_use 内容块形如:
{
"type": "tool_use",
"id": "toolu_abc123",
"name": "get_weather",
"input": {"city": "北京"}
}回传工具结果:
curl https://run.fluxlane.ai/v1/messages \
-H "x-api-key: sk-你的令牌" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "模型名称",
"max_tokens": 1024,
"tools": [{
"name": "get_weather",
"description": "查询指定城市的天气",
"input_schema": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}],
"messages": [
{"role": "user", "content": "北京今天天气如何?"},
{"role": "assistant", "content": [
{"type": "tool_use", "id": "toolu_abc123", "name": "get_weather", "input": {"city": "北京"}}
]},
{"role": "user", "content": [
{"type": "tool_result", "tool_use_id": "toolu_abc123", "content": "晴,26°C"}
]}
]
}'用量字段
响应中的 usage 包含以下字段:
| 字段 | 含义 |
|---|---|
input_tokens | 输入 Token |
output_tokens | 输出 Token |
cache_creation_input_tokens | 写入缓存的输入 Token |
cache_read_input_tokens | 命中缓存的输入 Token |
Responses
curl https://run.fluxlane.ai/v1/responses \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{"model":"模型名称","input":"写一句欢迎语"}'Responses API 仅对声明支持该端点的模型/渠道可用;不支持的模型会返回 503,具体可用性以模型广场为准。
模型能力矩阵
下表是当前已验证的调用能力。模型是否开放、价格和后续变化以 模型广场 为准。
deepseek-v4.1-flash 外,图片会被静默丢弃:接口仍返回 200,响应中没有错误,但模型实际看不到图片。涉及 deepseek-v4-pro、deepseek-v4-pro-0813、deepseek-v4-flash、deepseek-v4-flash-0731。不要把 200 当成识图成功。| 模型 | 接口格式 | 基础 / 流式 / 多轮 | 工具调用 | 视觉 |
|---|---|---|---|---|
| GPT 系列 | OpenAI | 支持 | gpt-5.6-* 支持。gpt-6* 当前因上游限制不可用,此状态可能变化 | 支持 |
| Claude 系列 | OpenAI 与 Anthropic | 支持 | 支持 | 支持 |
Kimi 全系kimi-k3、kimi-k2.5、kimi-k2.6、kimi-k2.7-code、kimi-k2.7-code-highspeed | OpenAI | 支持 | 支持 | 支持 |
deepseek-v4.1-flash | OpenAI | 支持 | 支持 | 支持 |
其余 DeepSeek v4deepseek-v4-pro、deepseek-v4-pro-0813、deepseek-v4-flash、deepseek-v4-flash-0731 | OpenAI | 支持 | 支持 | 静默忽略图片(仍返回 200) |
glm-5.3-flash | OpenAI | 支持 | 支持 | 支持 |
glm-5.3 | OpenAI | 支持 | 支持 | 不支持,带图返回上游错误 |
usage 含 reasoning_tokens,这部分计入输出计费。响应不返回 reasoning_content 思维链。SDK 示例
Python(OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key="sk-你的令牌",
base_url="https://run.fluxlane.ai/v1"
)
result = client.chat.completions.create(
model="模型名称",
messages=[{"role":"user","content":"你好"}]
)
print(result.choices[0].message.content)Python(Anthropic SDK)
使用 Anthropic 官方 Python SDK。base_url 填写 https://run.fluxlane.ai,由 SDK 请求 /v1/messages。
import anthropic
client = anthropic.Anthropic(
base_url="https://run.fluxlane.ai",
api_key="sk-你的令牌"
)
result = client.messages.create(
model="模型名称",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}]
)
print(result.content[0].text)Node.js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-你的令牌",
baseURL: "https://run.fluxlane.ai/v1"
});
const result = await client.chat.completions.create({
model: "模型名称",
messages: [{role:"user", content:"你好"}]
});
console.log(result.choices[0].message.content);Node.js 示例使用 ESM 语法,需保存为 .mjs 文件,或在 package.json 中声明 "type":"module"。
用量与计费
请求按模型价格、输入/输出 Token、缓存命中及分组倍率扣减额度。「日志」中可查看模型、Token、响应时间与扣费。
- 调用前在 模型价格页 确认价格与可用性。
- 合理设置
max_tokens。 - 生产密钥设置独立配额并监控异常用量。
管理员后台
管理员与用户共用控制台,登录后按角色展示管理菜单。
渠道管理
渠道只能连接平台合法持有或获授权的上游 API。选择服务商、填写 Key、勾选模型后,先测试再启用。
| 参数 | 说明 |
|---|---|
| Base URL | 上游接口地址 |
| 优先级 | 较高优先级先参与选择 |
| 权重 | 同优先级间的流量比例 |
| 模型映射 | 对外模型名映射为上游模型名 |
| 分组 | 限制可访问该渠道的用户组 |
| 自动禁用 | 连续异常后停止分发 |
路由与分组
系统通常先比较优先级,再在同优先级的可用渠道中按权重选择。失败重试能提高可用性,也会增加延迟与成本。
- 用户分组:用户默认渠道和计费倍率。
- 密钥分组:API 密钥可指定渠道分组。
- 渠道分组:决定哪些分组可访问渠道。
- 模型映射:对外名称稳定,内部切换上游型号。
用户与运营
管理员可调整用户状态、角色、分组和额度,并管理兑换码、订阅、模型倍率与全站日志。
- 开放充值前发布服务条款、隐私政策、退款规则与联系方式。
- 确认每个上游许可范围允许提供相应服务。
- 价格覆盖输入、输出、缓存、汇率、手续费与重试成本。
- 支付回调验证签名和订单金额。
- 定期备份数据库并演练恢复。
常见错误
| 状态 | 原因 | 处理 |
|---|---|---|
| 401 | API 密钥错误、过期或禁用 | 检查请求头,重新生成密钥 |
| 403 | 模型/分组/IP 无权限,或额度不足 | 检查密钥限制与账户余额 |
| 429 | 限速/限流 | 降低并发,指数退避 |
| 400 | 模型名或参数错误 | 对照模型广场与接口格式 |
| 500/502 | 上游异常 | 稍后重试;管理员检查渠道 |
| 503 | 无可用渠道或上游服务不可用 | 稍后重试;确认模型可用性或联系管理员 |
| 666 | 网关收到上游非 200 响应,错误码为 bad_response_status_code。常见于模型不支持该请求,例如向 glm-5.3 发送图片,或向当前受限的 gpt-6* 发送工具调用 | 对照 模型能力矩阵 检查请求。报障时附上响应头 X-Oneapi-Request-Id |
| 超时 | 生成较慢或网络中断 | 启用流式输出,提高客户端超时 |
安全与合规
- 每个应用使用独立密钥,生产环境启用 IP 白名单。
- 通过环境变量或密钥服务保存 Key,禁止写入前端与公开仓库。
- 管理员使用唯一强密码并启用 2FA/Passkey(若已配置)。
- 异常调用立即禁用密钥并检查日志。
- 遵守上游条款、隐私、内容安全、税务和当地监管要求。