Skip to main content
Base URL: https://router.flatkey.ai 文本生成走 POST /v1/chat/completions,格式和 OpenAI Chat Completions API 完全一致。任何 OpenAI 兼容的客户端,改一下 base URL 就能用。

不用改代码

保留你现有的请求代码,把 base_url 指向 https://router.flatkey.ai/v1

一个密钥,所有模型

换模型只改 model 字段,其他都不动。

发出第一个请求

选择模型

列出你的账号能调用的全部模型,保留文本类:
同一份列表在模型目录里还能看到价格、上下文长度和延迟。 可以这样起步:

流式输出

设置 stream: true,边生成边接收:
每个分片带的是增量 delta,不是完整消息。

调用你自己的函数

传入工具定义,模型自行决定何时调用:
补完这一轮:把助手消息追加回去,再为每个工具结果加一条消息(用 tool_call_id 关联),然后把整个对话发回去。
触发工具调用时,finish_reasontool_calls 而不是 stop。只判断 stop 的代码会静默丢掉这次调用。
工具调用是模型本身的能力,不是 Flatkey 提供的。GPT、Claude、Gemini、Qwen、DeepSeek、GLM 系列都支持。图像、视频和语音模型会忽略 tools 数组。

约束输出为 JSON

需要程序解析结果时,用 response_format
只需要合法 JSON、不需要固定结构时,用 {"type": "json_object"}

读取用量

每个响应都带着计费依据:
不同模型系列的分词方式不同,同一段文字在不同模型上的 token 数不一样。以 usage 为准,不要用字符数估算。每次请求的费用也能在用量日志里看到。

故障排查

No available channel for model ... 该模型当前不可路由。从 /v1/models 换一个 id。重试同一个模型不会恢复。 回复中途截断 finish_reasonlength,把 max_tokens 调大。 工具始终不触发 确认模型支持工具调用,并检查 tool_choice 是否被设成了 none

下一步

API 参考

全部参数和响应字段。

OpenAI SDK 指南

把 Flatkey 接入已有的 OpenAI 项目。