n8n 是自动化工作流工具,适合把表单、数据库、消息通知、HTTP 请求和大模型串起来。接入第三方 API 后,你可以让工作流自动总结内容、生成回复、分类工单或处理文本。
本文以 147AI的API 接口文档 的流程为例,讲清楚 n8n 里如何配置 OpenAI 兼容模型,或通过 HTTP Request 节点直接调用接口。

开始前准备
你需要:
- n8n 已部署或可登录云端版本
- 第三方 API Key
- 账户余额大于 0
- 模型广场复制的模型名
- 确认 API 端点是 OpenAI 兼容格式,还是其他厂商原生格式
n8n 用于自动化任务,建议给它单独创建限额 Key,避免工作流循环导致意外消耗。
方式一:使用 OpenAI / OpenAI Chat Model 相关节点
如果当前 n8n 版本的 OpenAI 凭据或 OpenAI Chat Model 节点支持自定义 Base URL,可以优先用这种方式。

在 Credentials 或对应节点配置里新建 OpenAI 相关凭据

填写:
text
API Key: sk-xxxxxxxx
Base URL: https://147ai.com/v1
这里的 Base URL 通常填到 /v1,不要填到 /chat/completions,否则可能和节点内部路径重复。

然后在 OpenAI Chat Model 或相关节点中填写模型名。接第三方 OpenAI 兼容服务时,优先使用 Chat Completions 模式;如果界面里有 Use Responses API 之类的开关,除非服务商明确支持 Responses API,否则先关闭。
方式二:使用 HTTP Request 节点
如果当前节点不支持自定义 Base URL,可以用 HTTP Request 节点直接请求完整接口地址。
OpenAI 兼容聊天接口常见地址:
text
https://147ai.com/v1/chat/completions
请求方法选择 POST,Headers 填:
text
Authorization: Bearer sk-xxxxxxxx
Content-Type: application/json
Body Content Type 选择 JSON,或使用 Raw JSON 方式填写请求体。Body 示例:
json
{
"model": "实际模型名,例如从模型广场复制的 model id",
"messages": [
{
"role": "user",
"content": "请只回复 OK"
}
]
}
注意把示例里的模型名替换成真实模型名。这种方式更接近后端 HTTP 调用,不会自动帮你补路径,所以必须写完整接口地址。

做最小测试
先让工作流只跑一个请求,输入:
text
请只回复 OK
确认返回内容后,再把前面的表单、Webhook、数据库节点接进来。
不要一开始就做完整自动化,否则失败时很难判断是触发器、变量映射、HTTP 请求还是模型配置的问题。
工作流变量怎么传入模型
n8n 的关键是变量映射。比如你从 Webhook 收到用户问题,可以把字段传进 messages:
json
{
"role": "user",
"content": "={{ $json.question }}"
}
实际字段名取决于上一个节点输出。配置前先查看输入数据结构,不要盲目写变量。
如果表达式没有被解析,而是原样发送,检查该字段是否已切换到 Expression 模式,或改用 Body Parameters 的字段方式逐项填写。
常见问题
Q1:OpenAI 节点不支持自定义 Base URL
先检查当前节点或凭据里是否有 Base URL、Custom API Base 之类的选项。如果没有,改用 HTTP Request 节点,或使用支持该服务商的专用节点、社区节点。
Q2:401 或 403
检查 API Key 是否完整、前后有没有多余空格,账户余额或额度是否可用,令牌分组/权限是否支持当前模型,以及 Header 是否写成 Authorization: Bearer ...。
Q3:404
如果用 OpenAI 相关节点,Base URL 通常填到 /v1;如果用 HTTP Request 节点,URL 才填完整 /v1/chat/completions。同时确认没有把 /v1 或 /chat/completions 重复拼接。
Q4:工作流循环调用导致费用异常
给 n8n 单独建限额 Key,并在工作流里加条件判断,避免无限循环。
总结
n8n 接入第三方 API 有两条路:能自定义 Base URL 时用 OpenAI / OpenAI Chat Model 相关节点;不能时用 HTTP Request 直接请求完整接口。先用最小请求跑通,再接入真实工作流变量。