讨论 n8n 的成本,很多人只比较订阅价,结果上线一个月后发现账单主要来自模型调用。n8n 本身负责流程编排,真正处理内容的往往是后面的模型 API;前者按套餐或服务器计费,后者按 Token 或请求量计费,两者的成本结构完全不同。
本文把 n8n 相关成本拆成可计算的四块,给出估算步骤和控制手段。具体金额会随套餐、模型和汇率变化,本文不写死数字,请以 n8n 官方定价页和站内模型价格为准。
说明:n8n 为其权利人的商标,本文与 n8n 官方无隶属关系,仅作技术与成本讨论。
一、成本由哪几块组成
先建立一张成本地图,避免只盯软件订阅费。
| 成本项 | 计费口径 | 容易漏算的部分 |
|---|---|---|
| n8n Cloud 订阅 | 按套餐与每月执行次数分档 | 团队人数、超额执行、升级档位 |
| 模型 API | 按输入与输出 Token 用量 | 重试、重复上下文、长输出 |
| 自托管基础设施 | 服务器、数据库、备份、带宽 | 运维人力、监控、升级与安全 |
| 流程运维 | 调试、失败重跑、日志存储 | 无人值守流程的重复执行 |
这四块里,Cloud 订阅最直观,模型 API 最不可预测,自托管 infra 最容易被低估,流程运维则常常完全不在预算表里。算总账时要把它们放在一起。
二、Cloud 与自托管:别只算软件费
n8n Cloud 的价值是省去部署、升级、备份和可用性维护,套餐通常按执行次数分档,超出后需要升级或另购额度。它适合没有专职运维、希望快速上线的小团队。
自托管的社区版可以自行部署,不按席位收取订阅费,但“免费”只指软件许可。服务器、PostgreSQL、队列模式下的 Redis、对象存储、备份、监控、日志、安全补丁和升级窗口都是真实成本。n8n 采用 Sustainable Use License(fair-code 模式),对再分发和对外提供托管服务有额外限制,商用前应阅读许可证原文。若团队没有运维能力,自托管的总成本经常高于预期。
一个简单的判断:如果每月用于维护实例的时间价值超过 Cloud 套餐差价,就选 Cloud;如果数据必须留在自有网络、流程量大且团队有运维能力,再考虑自托管。
三、执行次数:最容易被低估的变量
n8n 的套餐通常围绕“执行次数”设计。一次工作流运行一般计为一次执行,但实际消耗会被这些因素放大:
- 轮询触发器:定时检查没有新数据时,也可能产生执行记录,具体以当前版本规则为准。
- 循环与子工作流:批量数据逐条处理,或把逻辑拆成子流程,都会增加运行次数。
- 失败重试:节点重试和工作流重跑往往会再次计入执行。
- 调试执行:在编辑器里反复手动运行,同样消耗额度。
降低执行次数的办法很直接:能用 Webhook 就不用轮询;能批量合并就不要逐条触发;入口先做去重;定时任务设置合理间隔;调试时先用单条样本。
在 n8n 的 Code 节点里,可以顺手汇总每次调用的模型用量,便于事后核对:
// 汇总单次运行中的 Token 用量(字段名以实际响应为准)
const usage = $json.usage ?? {};
const input = usage.prompt_tokens ?? 0;
const output = usage.completion_tokens ?? 0;
return [{ json: {
input_tokens: input,
output_tokens: output,
total_tokens: input + output
// 单价以站内价格页为准,这里只记录用量
}}];
四、API 按量计费:Token 花在哪里
模型 API 的账单由输入和输出共同决定。输入不只是用户那句话,还包括系统提示、历史对话、检索到的文档、工具定义和格式说明;输出则按生成长度计费。三个常见放大因素:
- 上下文重复:多轮对话每轮都携带历史,长对话的输入成本会持续累积。
- 长文档直塞:把整份合同或整页网页放进提示词,单次费用高,重复调用更明显。
- 重试与多版本:同一请求失败后重发,或并行让多个模型各答一遍,都会成倍增加用量。
优化顺序通常是:先做模型分级,分类、清洗、摘要用便宜模型,复杂生成再用强模型;再压缩上下文,只传必要字段;然后限制输出长度,要求结构化、简短回答;最后才考虑缓存。部分模型厂商提供提示缓存,可降低重复前缀的输入成本,是否支持及折扣幅度以厂商文档为准。
五、重试、缓存与隐性成本
重试是自动化里必要的,但它有两个账单后果:执行次数增加,模型请求也可能重复计费。失败请求是否收费取决于上游厂商,不能默认免费。建议把重试次数控制在 2–3 次,使用指数退避,并为写操作做幂等检查,避免重复发消息或重复记账。
缓存要分两层看。工作流层缓存的是“结果”,例如同一条记录处理过就跳过;模型层缓存的是“前缀”,例如固定的系统提示和长文档。前者靠数据库或 Redis 实现,后者依赖模型厂商能力,两者不能互相替代。
还有几项常被忽略:执行历史和工作流日志会占用数据库空间;图片、音频、转写等多媒体调用有独立计价;调试期间对全量数据跑一遍,可能瞬间产生大量执行和 Token。
六、预算控制:限额、告警与复盘
提前设边界:
- 按项目或工作流分配独立的 API Key,便于归因和停用。
- 在网关侧设置月度预算或用量上限,接近阈值时告警。
- 把每次调用的 usage 写入表格或数据库,按工作流聚合。
- 为高消耗流程单独设置并发和重试上限。
- 每月复盘消耗最高的三条流程,检查是否有重复调用。
- 预留一定余量应对业务增长和价格调整。
使用统一的 OpenAI 兼容网关,可以把多个模型供应商的 Key、用量和限额收口到一处,切换模型时不必改工作流。需要试用可先注册,具体模型与价格见模型价格。
七、一套可复用的估算步骤
不要凭感觉报价,按下面的顺序跑一遍:
- 选一条有代表性的工作流,取 20–50 条真实样本,而不是造测试数据。
- 统计每月触发次数,包含定时、Webhook、轮询空跑和手动执行。
- 从响应中记录每次调用的输入、输出 Token,算出平均值。
- 乘以重试系数,例如按历史失败率上浮 20%–50%。
- 加上 Cloud 订阅或服务器、数据库、备份、日志存储的月成本。
- 再加上维护实例和排查故障的人力折算。
- 每季度复核一次,套餐规则、模型价格和业务流程都可能变化。
举例来说,若一条流程每月触发一万次,其中三成会调用模型,每次平均输入两千 Token、输出五百 Token,那么先把三千次乘以两千五百,得到每月约七百五十万 Token 的总用量,再按所选模型的当前单价折算。单价请查模型价格,不要沿用旧文章里的数字。
常见问题
n8n Cloud 的执行次数怎么计算?
通常每次工作流运行计为一次执行,轮询、重试和手动运行是否计入要看当前套餐规则。最稳妥的做法是在账号的用量页面观察一周,再对照自己的触发频率估算。
自托管 n8n 真的免费吗?
社区版不按席位收取订阅费,但服务器、数据库、备份、监控和运维人力都要自己承担。企业功能需要单独授权,商用前还应确认 Sustainable Use License 的限制。
为什么模型账单比预估高很多?
常见原因是上下文重复、批量循环逐条调用、失败重试和调试时跑全量数据。先看用量明细里输入与输出的比例,再检查是否有流程在重复处理同一条记录。
重试失败也会计费吗?
执行次数通常会增加;模型请求是否计费取决于上游厂商的规则。建议限制重试次数、记录每次请求的结果,并对写操作做幂等处理。
怎么给团队设置预算上限?
按项目拆分 API Key,在网关侧设置月度额度与告警,把用量日志接到内部报表。发现异常时先停用对应 Key,再定位具体工作流。
下一步
n8n 的成本优化,核心是两件事:减少不必要的执行次数,控制每次模型调用的 Token。先把这两项量化,再决定用 Cloud 还是自托管。需要统一管理模型 Key、用量和预算,可以从注册中商起航 AI 网关开始,价格以模型价格页面为准。
相关阅读:
