LLM 网关
自带数据层的 LLM 网关
三个 base URL、一把 key、一份余额。用你现有的 SDK 调用对话、图像、视频与决策模型;搜索、文档与幻灯片走同一份余额——低至厂商官方价的一折。
10%
起价,对照厂商官方 API 价格
5,000+
同一目录里的 API
网关通常只有一个接入面。这里有三个。
它们共用你的账号、key 和余额,但回答的是不同的问题,地址也不一样。分清自己在调哪一个,是这一页的全部内容。
| 接入面 | Base URL | 用来做什么 |
|---|---|---|
| 模型 API | openapi.felo.ai/api/v1 · openapi.felo.ai/api | 直接调用语言、图像、视频或决策模型 |
| 数据 API | openapi.felo.ai/v1/beta | 调用某个指定的第三方数据或搜索供应商 |
| Felo APIs | openapi.felo.ai/v2 | Felo 自有的搜索、办公、抽取与知识类工作流 |
一把 key 覆盖三者。充值买到的是美元服务额度,模型调用、数据 API 调用和 Felo 工作流都从同一份里扣——不用为每个供应商另开账号。
读文档是六个端点,不是一个
/api/v1 下面全是模型调用,但模型种类决定了哪个端点能接;每个端点返回的格式也不一样。
| 端点 | 协议 | 返回 |
|---|---|---|
POST /api/v1/chat/completions | OpenAI Chat Completions | 流式或单次响应 |
POST /api/v1/responses | OpenAI Responses | 流式或单次响应 |
POST /api/v1/messages | Anthropic Messages | 流式或单次响应 |
POST /api/v1/images/generations | OpenAI 图像响应体 | 轮询用的 task_id |
POST /api/v1/videos/generations | OpenAI 视频响应体 | 轮询用的 task_id |
POST /api/v1/decisions | Felo 决策协议 | 结构化答案,不支持流式 |
三个对话端点都是原生实现,不是协议转换层:各自按自己的协议推流,所以原来的流怎么解析,现在还怎么解析。
按模型种类选端点,别靠猜
目录里每个模型都带一个 model_kind,种类决定哪个端点能调它。查目录不花钱,读的就是本地目录。
# discover before you call — free, reads the catalog
GET /api/v1/models # every kind, with channels and rates
GET /api/v1/models/{model_id} # one model, in detail
GET /api/v1/videos/models # video_generation only
GET /api/v1/decisions/models # decisions only| model_kind | 端点 |
|---|---|
chat | Responses、Chat Completions 或 Messages,取决于模型支持哪些 |
image_generation | POST /api/v1/images/generations |
video_generation | POST /api/v1/videos/generations |
decisions | POST /api/v1/decisions |
加 ?provider= 只看某一家,加 ?exclude_video_and_decisions=true 只留对话和图像。上架不等于通行:视频模型不会回答对话请求,硬发会收到 model_kind_mismatch。
默认路由,或者用一个 header 指定供应商
同一个模型可能由多条上游通道提供,每条通道有自己的供应商和自己的公布费率。不带 header,平台替你选一条;带上 X-Felo-Channel,你说了算。
# first channel only — no automatic fallback
X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic # ordered selection, not a retry list- 值是有序的公开通道代码列表,取自模型的
channels[].code,按你写的顺序校验。 - 只会提交第一条通道对应的供应商组,计价也按那条通道的费率。
- 没有自动 fallback。通道列表是一次选择,不是重试策略——供应商挂了,由你的应用换一条通道重发。
X-Felo-Channel 对上面六个生成端点都有效。它不作用于数据 API 和 Felo APIs:那两边走的是你在请求里点名的供应商。
一次调用到底怎么算钱
模型调用按 token 计费——输入、输出、缓存——再乘上通道的折扣系数。费率按每 1M token 展示是为了好读,但计费用的是当前价格快照的逐 token 精度,短请求不会被凑整成一百万。
- 只有协议响应里报了缓存用量,才按缓存价计费;没报缓存的模型,全部按输入价算。
- 模型服务实际执行并上报的网页搜索,每次 $0.01。
- 有的模型按 prompt 长度分档:Claude Haiku 5.5 在 100K token 以内是每 1M 输入 $0.10、输出 $0.50,超过之后整个请求按 $0.50 与 $2.50 计。
- 首次充值 $1 起。没有订阅、没有席位费、没有最低消费——不用的 key 不花钱。
数据 API 调用与 Felo 工作流从同一份余额扣,各自按公布口径:按成功请求、按返回条数,或按实际用量。
看费率与额度两个长得很像、其实完全不同的限制
余额不够返回 402 INSUFFICIENT_CREDITS;调得太快返回 429 RATE_LIMITED。等一等能解掉第二个,永远解不掉第一个。
| 状态 | 错误码 | 怎么办 |
|---|---|---|
| 401 | UNAUTHORIZED | 换一把 key 或重新签发 |
| 402 | INSUFFICIENT_CREDITS | 去控制台账单充值,再重发 |
| 404 | 取决于端点 | 核对模型、任务或路由 ID |
| 429 | RATE_LIMITED | 等 Retry-After,然后重试 |
| 5xx | CHAT_FAILED、SERVICE_UNAVAILABLE | 指数退避加随机抖动后重试 |
目前只有 /v2/chat 公布了强制限流。模型调用仍可能被上游限流,表现为 429——读 X-RateLimit-* 和 Retry-After,不要写死数字。每个响应都带 request_id,你传的 X-Request-Id 会原样回显,两边日志能对上。
图像和视频在后台跑完
两个生成端点都不直接给结果,而是返回 task_id。提交、轮询、取结果——注意任务一旦建立,多数失败是 200 里带一个终态,而不是 HTTP 错误。
# submit, then poll the task
POST /api/v1/images/generations → task_id
GET /api/v1/images/generations/{id} → status, result
POST /api/v1/videos/generations → task_id
GET /api/v1/videos/generations/{id} → status, result先看状态再看产物:failed 和 interrupted 也是答案,原因在 error.message 里。提交时就收到 402,说明任务根本没建起来。SuperAgent 不一样——它返回 stream_key,用 SSE 推事件,没有可轮询的东西。
换 base URL,客户端不用动
把 base URL 指过来,两个 SDK 都不用改。npx feloapi-cli setup 会给 Claude Code 和 Codex 写好同样的配置。
# OpenAI SDK
base_url = "https://openapi.felo.ai/api/v1"
# Anthropic SDK — one level up; the SDK appends /v1/messages
base_url = "https://openapi.felo.ai/api"
# pin a provider (optional)
default_headers = {"X-Felo-Channel": "claude-cc"}模型 ID 在不同供应商之间并不通用。换 base URL 之前先从目录里选好模型,否则第一次调用就是 404。
网关通常留给你的那一半
LLM 网关只负责转发模型调用。这里的同一把 key 还够得到 5,000+ 的完整 API 目录——agent 里的搜索、它生成的幻灯片、它读回来的文档,都扣同一份余额,不用再接三家供应商。
- Search
- PPT Task
- SuperAgent
- Web Fetch
- X Search
- Mindmap
- Landing Page Task
- LiveDoc
- YouTube Subtitling
数据 API 走 /v1/beta,各家按自己的公布口径计费——Tavily、Exa、Apollo,以及目录里其余的。
网关到此为止
- 通道之间没有自动 failover——重试逻辑归你的应用,这是故意的。
- 上架不等于兼容保证:每种模型种类只有一个调用面。
- 模型调用没有公布平台限流,但上游供应商的限制仍然生效。
- 额度是预付的,不可退、不可提现——按你打算花的量充。
关于 LLM 网关,六个常被问到的问题
LLM 网关是什么?
把众多模型供应商收到一个端点前面,让你的代码只面对一个 base URL、一把 key 和一份余额,而不是十几个厂商 SDK。AI 网关做的是同一件事;这里的网关还顺带卖 agent 需要的数据 API。
现有的 OpenAI 或 Anthropic SDK 还能用吗?
能。Chat Completions 和 Responses 是 OpenAI 的形状,Messages 是原生的。base URL 分别是 https://openapi.felo.ai/api/v1 和 https://openapi.felo.ai/api——后者高一层,因为那个 SDK 自己会拼 /v1/messages。
怎么知道该调哪个模型?
GET /api/v1/models 列出所有种类及其通道和费率;视频和决策模型各有自己的列表。看 model_kind,调对应的端点;同时记住上架不等于每个端点都收这个模型。
供应商挂了会自动切换吗?
不会,这是有意的。通道列表是一次选择,不是重试策略:只提交第一条。切换应该放在你的应用里,那里才看得见错误、预算和真正想要的兜底。
多少钱?
每个模型都有一个 Felo 费率,低至厂商官方价的一折;你钉住哪条通道,就按哪条通道的费率付。预付、按次计费、首次充值 $1 起,不收订阅费。
图像、视频和数据 API 也能调吗?
能。一把 key 同时覆盖对话、图像、视频和决策模型,以及 /v1/beta 背后 5,000+ 的 API 目录——全部从同一份余额扣。
先用一次调用试试
创建 key、充值,把你已经在用的 SDK 指向一个 base URL。