n8n 接入统一 API:真正能用的路径

最后更新: 2026-07-16

n8n 的 OpenAI 凭据有一个 Base URL 字段,配 AI Agent 下的 OpenAI Chat Model 子节点跑得很稳。独立的 OpenAI 节点有一个版本相关的坑,值得在debug一整晚之前先知道。这一页照实说清楚现在哪条路能用。

先说结论:改一个 OpenAI 凭据的 Base URL

在当前版本的 n8n 里,端点覆盖设在凭据上,不是节点上。新建一个 OpenAI 凭据,粘贴 Key,把 Base URL 字段从 OpenAI 默认值改成 https://api.kkaiapi.com/v1。任何用这个凭据鉴权的节点,请求就都会发到网关。 该搭配的节点是 OpenAI Chat Model,这个子节点插进 AI Agent、Basic LLM Chain 以及 n8n AI 集群里的其它节点。这个组合是社区和 issue 追踪里一致反馈能跑通兼容端点的路径。按 ID 选模型,如果下拉列表对着第三方端点表现异常,把 model 字段切到表达式模式、直接输入字符串 ID;ID 是原样转发的,claude-haiku-4-5-20251001 或 deepseek-v4-flash 和任何 OpenAI ID 一样能用。

API Key:   sk-你的kkaiapi密钥
Base URL:  https://api.kkaiapi.com/v1   (替换 OpenAI 默认地址)

然后:AI Agent -> Chat Model -> OpenAI Chat Model
      -> 选这个凭据 -> 设 model ID

照实说清楚:三个入口,不是一个

n8n(GitHub 上约 19.6 万星标)是最主流的可自部署工作流自动化平台,它的 AI 能力分布在三个不同入口,而这三者经常被教程混着讲。AI 集群节点,也就是带可插拔 Chat Model 子节点的 AI Agent,是入口一。独立的 OpenAI 节点,归在应用动作类别下、带"给模型发消息"这类操作的那个,是入口二,它的版本号和 n8n 本身是独立的。HTTP Request 节点是入口三,比前两者都更早存在的逃生舱。 自定义 base URL 长期是社区的高频诉求,凭据级的 Base URL 字段是现在给出的答案:一个凭据,被跨工作流的多个 AI 节点复用。请求历史告诉你的是,这块最近变动得又快又不均匀,一篇旧论坛回答、一篇教程和当前产品描述的可能是略微不同的 n8n。遇到说法不一致时,以自己实际跑的版本为准,拿一个真实工作流去测凭据,而不是凭假设判断。 值得折腾的原因和其它地方一样:配一个多厂商网关在 Base URL 背后,同一个凭据能给负责草拟回复的 Agent 用 Claude,给分类步骤用一个快速的 Gemini ID,给量大的抽取步骤用 DeepSeek,每个工作流各选各的 ID,账单落在同一个 Key 上。

坑在这:独立的 OpenAI 节点

这一节是多数教程会漏掉的部分。有一个被反复报告、能复现的问题:独立的 OpenAI 节点在版本二上,对着一个兼容端点,凭据测试通过,运行时却返回 404,这个现象出现在 1.118 前后那批 n8n 版本上。同样的凭据在 AI Agent 的 OpenAI Chat Model 子节点上能跑通,同一个独立节点更早的 1.8 版本也能跑通。换句话说:凭据没问题,端点没问题,就是某一个具体的节点版本坏了。 实操建议直接跟着走。把 LLM 步骤建在 AI 集群节点上,这条兼容端点的路径是扎实的。如果确实需要独立的 OpenAI 节点,而它对一个能正常工作的凭据报 404,那就是踩到了已知的坑而不是自己配错了,AI 集群这条路线是解法,回退到节点的旧版本也是社区用过的临时办法。 两者都不合适的时候,HTTP Request 节点永远能用,因为它就是纯粹的 API 调用,没有节点封装那层东西:POST 到 chat completions 地址,凭据里配 bearer 认证,JSON body 带 model 和 messages。代价是失去节点的便利字段,好处是去掉了每一层可能出 bug 的抽象。

Method:  POST
URL:     https://api.kkaiapi.com/v1/chat/completions
Auth:    Generic -> Header Auth
         Authorization: Bearer sk-你的kkaiapi密钥
Body (JSON):
{
  "model": "claude-haiku-4-5-20251001",
  "messages": [{ "role": "user", "content": "{{ $json.prompt }}" }]
}

按自动化量级选模型

自动化的调优循环很不留情面,不过是好的意义上的:同一个步骤跑成千上万次,换一个模型的结果会在几天内出现在用量数字里,而且是定过价的。同一个工作流对比候选模型,让日志说了算。

  • 工作流会把一切都放大。一个跑在每封入站邮件或每次 webhook 上的步骤,一个月能执行上千次,LLM 步骤的默认值该设成快速 ID:claude-haiku-4-5-20251001、gemini-3.5-flash、deepseek-v4-flash、gpt-5.4-mini
  • 分类、抽取、路由这类步骤的输出是给机器读的,要的是一致性和速度,不是文采,这正是走量档的定位
  • 跨工具规划的 Agent 步骤,或者输出是给人看的步骤,才配得上 claude-sonnet-4-6;把它用在体现判断力的地方,不用在管线搬运上
  • 按步骤选模型是免费的,一个凭据下每个 Chat Model 节点各选各的 ID,一个工作流可以用快速 ID 分类、用强 ID 起草,不需要第二个凭据
  • 按工作流衡量,不是按月。每次执行的 token 数乘以每天的执行次数,是决定一个自动化划不划算的数字,用量日志能给到这两个因子

主力模型价格

价格按 kkaiapi 中文区实时价格计算,单位 ¥/1M tokens(输入/输出)。

实时价格以 /pricing 为准
模型模型 IDkkaiapi 价格(输入/输出)适合场景
Claude Haiku 4.5claude-haiku-4-5-20251001¥1 / ¥5高频分类、抽取
Claude Sonnet 4.6claude-sonnet-4-6¥3 / ¥15Agent 规划、人读输出
GPT-5.4 Minigpt-5.4-mini¥0.6 / ¥4走量步骤
Gemini 3.5 Flashgemini-3.5-flash¥7 / ¥40多模态、批量处理
DeepSeek V4 Flashdeepseek-v4-flash¥0.9 / ¥1.8超高频抽取

n8n 专属的翻车点

凭据测试通过、工作流却 404,是上面说的独立节点坑的典型表现。凭据测试和节点的运行时请求走的是不同代码路径,测试只证明了 Key 和 host 是对的,不能证明节点接下来要发的每一个请求都对。遇到这种情况,先把这一步挪到 AI 集群节点,而不是反复改凭据。 Base URL 要带 /v1:https://api.kkaiapi.com/v1。n8n 替换掉的 OpenAI 默认地址本身就带 /v1,裸 host 会在节点拼接路由之后产生路径错误。 模型下拉框空白、或者显示了模型但选中就报错,反映的是某个具体节点版本怎么从第三方端点拉模型列表这件事本身不稳定。表达式模式下的 model 字段直接绕开下拉框,真正传出去的就是那个 ID 字符串。 自部署版本升级带来的版本漂移是版本混乱的根源:节点版本是锁在已有工作流里的,一个旧工作流能继续正常跑,同时一个新加的同名节点行为却不一样。两个看起来一样的工作流表现不一致时,先比对节点版本号。 还有自动化的经典坑:循环里套一个 LLM 步骤的工作流,调用次数是隐形放大的。如果花费突然跳升,先查 n8n 里的执行次数,再怀疑模型本身;网关侧按请求的日志能给出时间戳去对齐。

哪些人会把 n8n 接到一个网关上

  • 给真实业务工作流加 LLM 步骤的自动化开发者,每次执行的成本决定了哪些自动化能活下来,快速的目录 ID 让这个数字保持可控
  • 想在 n8n 里跑 Claude 级 Agent、又不想在现有技术栈旁边再开一个厂商账号、密钥轮换和计费面的团队
  • 给多个团队跑一个自部署 n8n 的团队,给每个团队一个 Key,用量日志就能不加额外工具地报出每个团队的成本
  • 按工作流步骤对比模型的开发者,一个凭据服务所有 ID,每个 Chat Model 节点各选各的
  • 拿不到某家厂商官方支付渠道的开发者,充值即用不需要海外卡

验证接入与排查第一个工作流

在 n8n 里建任何东西之前,先用 curl 证明端点没问题:列出模型,再用打算用的那个具体 ID 跑一次聊天补全。这两步过了,剩下的所有症状都在 n8n 的节点层里,能快很多地缩小排查范围。 然后建一个最小的工作流:手动触发、AI Agent 或 Basic LLM Chain、用你的凭据的 OpenAI Chat Model、一个写死的提示词。跑一次。401 是凭据上的 Key 有问题;curl 能通、这里却 404,说明 Base URL 丢了 /v1,或者踩到了独立节点受影响的版本;模型报错是 ID 字符串写错了。只有这个单节点工作流跑通之后,才该接入真实的触发器和数据,因为同时排查兼容端点问题和数据映射问题,是最容易耗掉一整晚的组合。 工作流跑起来之后,kkaiapi 控制台会显示每次请求的模型、token 数和花费。自动化是 LLM 花费最容易悄悄累积的地方,同一个步骤一整天都在跑,用量日志是在数据里发现它、还是在账单上发现它之间的区别。

curl -s https://api.kkaiapi.com/v1/chat/completions \
  -H "Authorization: Bearer $KKAIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-4-5-20251001",
       "messages":[{"role":"user","content":"ping"}]}'

常见问题

n8n 支持自定义 OpenAI 兼容 Base URL 吗?

支持,设在 OpenAI 凭据上:当前版本有一个 Base URL 字段替换 OpenAI 默认地址。填 https://api.kkaiapi.com/v1,用这个凭据的 AI 集群节点就会经网关路由。独立的 OpenAI 节点有本页说明的版本相关坑。

为什么凭据测试能过,工作流却返回 404?

这是独立 OpenAI 节点版本二对着兼容端点的已知表现:凭据测试成功,运行时请求却 404。同一个凭据在 AI Agent 的 OpenAI Chat Model 子节点上能用,这是推荐的路径;节点的更早版本也被当作过临时解法。

接一个网关端点该用哪个 n8n 节点?

OpenAI Chat Model 子节点,插在 AI Agent 或 Basic LLM Chain 下,配上自定义凭据。这是被反复确认能用的路径。HTTP Request 节点是节点层出问题时永远能用的兜底方案。

n8n 工作流能用 Claude 或 DeepSeek 吗?

能。模型 ID 作为纯字符串传给 Base URL 指向的地址,claude-haiku-4-5-20251001、claude-sonnet-4-6、deepseek-v4-flash 都能用。如果模型下拉框表现异常,把 model 字段切到表达式模式直接输入 ID。

Base URL 要不要带 /v1?

要:https://api.kkaiapi.com/v1。这个字段替换的是 OpenAI 自带 /v1 的默认地址,节点会在你给的 base 后面拼接请求路径。

怎么让多个工作流的 LLM 成本保持可见?

每个团队或项目一个网关 Key,kkaiapi 的用量日志就变成一份成本报表:按请求的模型、token、花费,按 Key 筛选。配上 n8n 的执行次数,就能算出每次工作流执行的成本,这才是该拿来做自动化决策的数字。