先说我自己的处境。每天早上打开即梦,看到灵感值又刷新了,心里就痒:不点几下生成,总感觉亏了。但真要让我专门坐下来一张张出图,又实在抽不出时间。后来我把即梦的积分通过 API 方式接到自己搭的 n8n 工作流里,每天早上自动把当天的额度“花”在文案配图上,下班前再统一收图。这套流程跑了几个月,最大的感受是:积分没浪费过,工作也没增加,反而把以前手动搞图的时间省下来干别的了。
如果你的情况和我差不多——即梦账号里有每天刷新的免费积分,又正好在用一个叫 n8n 的开源工作流工具——那这篇文章就是给你写的。我会把从获取 API 凭证、部署 n8n、配置节点,到跑通一个完整自动配图流程的细节全部拆开讲,中间穿插我实际踩过的坑。哪怕你之前没碰过 n8n,照着做也能把这个流程搭出来。
1. 为什么要把即梦积分“加工”成 API,而不是手动点点点
1.1 每日刷新的积分,其实是一种“沉没成本”
即梦这类 AI 创作平台,最典型的运营策略就是每天送一批免费积分。你今天不用,明天归零重来,不会给你累积。放在以前,我还能接受“想到了再打开网页生成几张”这种用法。但真到用起来才发现,手动操作有几个很烦的问题。
第一是时间碎片化。你不可能为了生成一张配图,专门把浏览器打开、登录、输入提示词、等出图、再下载,这一套下来至少几分钟。第二是灵感不连贯。我经常在写文章或者做方案的时候才需要图,这时候打断节奏去生成,思路就断了。第三,也是最重要的一点:积分每天清空,但我不是每天都有空去“消费”它。时间一长,等于天天在浪费一笔看不见的小钱。
后来我换了个思路:既然积分是以账号为维度发放的,那我不把它看成“网页上的一个数字”,而是把它当成一个“可以调用的接口额度”。只要能通过 API 方式触发即梦的生成能力,那这笔每天刷新、不用就过期的额度,就能被我安排的自动化任务精准消耗掉。
1.2 API 化之后,n8n 能替你干哪些活
把积分转成 API,核心价值不是“能调用”,而是“能被编排”。n8n 是一个开源的工作流自动化工具,它最擅长的事情就是把各种 API 串起来,按条件、按时间、按事件自动执行。一旦即梦的生成能力变成 API,n8n 就能帮你做很多事情。
举个例子,我在 n8n 里搭了一个“每日自动配图”流程:每天早上九点,n8n 的定时触发器自动启动,从我准备好的选题表格里读出一条内容,拼装成提示词,调用即梦 API 生成一张插图,再把图片下载下来,上传到我的图床,最后把图片链接发到企业微信群里。整个过程不需要任何人介入,我起床看一眼群消息,今天的配图素材就齐了。
这还只是最简单的用法。你还可以用它做批量风格图生产、数字人口播分镜配图、电商商品场景图生成、AI 漫剧素材预生产,甚至把即梦和 DeepSeek 这类大模型 API 串联起来:先用大模型根据文案生成提示词,再交给即梦画图,最后用 n8n 分发到不同平台。每一次调用消耗的都是即梦的积分,而这些工作原本都靠人工。
1.3 这套方案到底适合谁
我不是说所有人都需要把即梦接到 n8n 里。说实话,如果只是偶尔玩一下,每天手动生成两三张图,完全没必要折腾。但如果你符合下面任一情况,这套方案值得认真参考。
- 你是内容创作者、自媒体运营,每天需要稳定的配图产出,而且不想在登录网页、复制粘贴这些重复动作上花时间;
- 你是产品经理或开发者,已经在用 n8n、Dify、Coze 这类工具搭自动化流程,希望把 AI 绘图能力作为其中一个环节;
- 你是 AI 绘画爱好者,手上同时有即梦、ComfyUI、Stable Diffusion 等多套工具,想要把它们统一编排到一个工作流里;
- 你单纯就是心疼每天过期的积分,不想让它白白浪费。
只要对上其中一条,这篇文章里讲的方案你就用得上。下面的内容我会按照从零开始的顺序讲,先准备环境,再讲节点配置,最后给出一个完整的工作流示例。
2. 动手之前,先把环境和凭证准备好
2.1 申请即梦 API 凭证,搞清楚积分怎么算
这一步是整个方案的起点。你需要先确定你正在使用的即梦能力有没有开放 API 入口。目前即梦的生成能力一般会通过字节跳动旗下的 AI 开放平台对外提供,你需要在对应的开发者后台创建应用,拿到 API Key、Secret 以及调用地址。具体入口以你实际登录后看到的控制台为准,一般都在“应用管理”或“API 密钥管理”页面。
申请时注意三件事。第一,创建应用时要开通你需要的模型权限,比如文生图、图生视频,不同权限对应的接口地址和计费口径不一样。第二,把 API Key 和 Secret 复制下来后单独存好,很多平台只在创建时展示一次完整密钥,关掉页面就再也看不到了。第三,确认你账号里的积分/灵感值是可以用于 API 调用的。如果平台把“网页端积分”和“API 额度”分开计算,那本文的方案就不成立,你需要先确认自己用的是哪个口径。
我踩过的坑是:一开始没仔细看文档,以为网页端能用的模型 API 全都能调,结果拿着网页端的积分去调 API,一直提示余额不足。后来才搞明白,API 调用走的是开发者账户下的资源包,和你登录即梦网页版看到的积分是两个体系。所以先确认额度,再动手配置,能省掉后面排查的半天时间。
2.2 部署一个能跑工作流的 n8n
n8n 的部署方式很多,对新手最友好的是直接下载桌面版,也就是 n8n-desktop,官网下载对应系统的安装包,装完双击就能启动,内置了 SQLite 数据库,适合个人使用和流程验证。如果你以后想让工作流 24 小时稳定跑,我建议用 Docker 部署到服务器上,一条命令就能搞定。
docker run -d \ --name n8n \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ -e N8N_SECURE_COOKIE=false \ -e GENERIC_TIMEZONE=Asia/Shanghai \ n8nio/n8n启动后访问http://localhost:5678,创建管理员账号,就能进入工作流编辑界面。桌面版和 Docker 版在操作逻辑上完全一样,区别只在于运行环境。桌面版更适合临时测试,Docker 版更适合长期运行。我个人建议:先在桌面版把流程调通,再迁移到服务器上用 Docker 跑,这样调试成本最低。
界面语言的问题顺手说一下。n8n 默认是英文界面,如果你看着别扭,可以在右上角头像的 Settings 里找到语言选项,切换为中文。部分版本需要在环境变量里配置N8N_DEFAULT_LOCALE=zh,具体以你安装的版本为准。语言不影响功能,但中文界面确实能降低初学者的心理门槛。
2.3 在 n8n 里创建 Credentials,把 API Key 存好
在 n8n 里调用需要鉴权的 API,官方推荐的做法不是把密钥直接写在节点参数里,而是先创建 Credentials(凭证),然后在节点里引用。这样做的好处是:密钥只存一份,多个节点可以共用;导出导入工作流时不会把密钥明文带出去;以后更换密钥只需要改凭证,不需要逐个节点改。
操作路径很简单。在 n8n 编辑界面左侧工具栏找到 Credentials,点击添加,选择 “Header Auth” 类型。然后填上字段名和值。比如你的 API 平台要求请求头里带Authorization: Bearer <token>,那就在 Header Auth 里把 Name 填Authorization,Value 填Bearer 你的真实Token。如果平台用的是X-API-Key这种自定义头,同样按这个方式配置。
有些平台要求在请求体里带api_key字段,或者要求用 OAuth2 签名,这时候 Header Auth 就不够用了。我的建议是:先看 API 平台的鉴权文档属于哪种类型,n8n 的 HTTP Request 节点支持 Header Auth、Query Auth、Basic Auth、OAuth2、JWT 等多种方式,选匹配的即可。拿不准的时候就选 Generic Credential Type,把平台要求的鉴权参数原样填进去,兼容性最好。
3. n8n 调用即梦 API 的核心节点配置
3.1 HTTP Request 节点怎么填
工作流里最关键的节点就是 HTTP Request。它负责向即梦的 API 接口发送请求,并接收返回结果。配置的时候有几个字段需要特别留意。
Method 选择POST。AI 生成类接口几乎都是 POST,因为你需要向服务端提交提示词、模型参数、图片尺寸等结构化数据,这些信息放在请求体里比放在 URL 上更合适,也更安全。URL 填你从开放平台拿到的实际接口地址,比如形如https://api.xxx.com/v1/images/generations的地址。注意替换成你自己的真实地址,不同的模型能力对应不同的 endpoint。
请求体(Body)一般选 JSON 格式,里面按接口文档要求填参数。一个常见的文生图请求长这样:
{ "model": "jimeng-xxx", "prompt": "赛博朋克风格的城市夜景,霓虹灯,雨中倒影", "size": "1024x1024", "n": 1 }这里特别说一下参数命名。有些平台用prompt,有些用text,有些用input;尺寸可能有size、resolution、image_size等不同写法。一切以你拿到的接口文档为准。不确定的时候,先用平台自带的 API 调试工具试通一遍,再复制到 n8n 里,比我在这里猜测字段名要靠谱得多。
Headers 区域除了鉴权信息,通常还要加一个Content-Type: application/json。如果你在 Credentials 里已经配置了 Header Auth,这里就不需要再手动填一遍 Authorization 头,n8n 会自动带上。手动填了反而可能造成重复,我记得有些平台对重复的头部字段会直接报错。
3.2 用 Code 节点做参数加工和返回解析
HTTP Request 节点本身能完成请求,但真实场景里我们往往需要在请求前处理参数、在请求后处理结果。这时候就要用到 Code 节点。
请求前加工的一个典型场景是拼提示词。比如我要根据当天日期生成不同主题的图片,可以在 Code 节点里先拿到当前时间,动态组装出完整的 prompt,再传给 HTTP Request 节点。n8n 的 Code 节点支持 JavaScript 和 Python,默认用 JavaScript。下面的代码演示了如何拼接提示词:
const today = new Date(); const dateStr = `${today.getMonth() + 1}月${today.getDate()}日`; const topic = $input.first().json.topic || '通用素材'; const prompt = `${dateStr}主题插画,围绕「${topic}」进行创作,扁平风格,柔和色调`; return [{ json: { prompt, topic } }];请求后解析的一个典型场景是提取图片地址。即梦 API 生成图片后,返回体通常是一个 JSON,图片 URL 可能嵌套在data[0].url或者output.image_url这种位置。用 Code 节点把 URL 提取出来,再传给下一个下载或分发节点,是标准操作。解析时记得做容错处理,比如判断返回体里有没有error字段,有的话就把错误信息单独抛出来。
这里我强烈建议:不要把返回解析逻辑全塞在 HTTP Request 节点的“Response”设置里。虽然 n8n 支持在节点里直接用点选方式提取字段,但复杂一点的逻辑还是写进 Code 节点更清晰,也方便日后维护。我的经验是,Code 节点多写一点,后面排查问题就少费一点神。
3.3 用 IF/Switch 节点处理失败重试和分支
API 调用不可能是 100% 成功的。限流、网络超时、模型暂时不可用,这些情况都会导致请求失败。一个健壮的工作流必须考虑失败分支。
最常见的做法是在 HTTP Request 节点后面接一个 IF 节点,判断请求是否成功。n8n 的 HTTP Request 节点自带Response Code字段,你可以直接判断它是否等于 200。等于 200 就走成功分支,否则走失败分支。失败分支里可以再接一个 Wait 节点,等 30 秒后重新调用一次;连续失败三次就触发告警,通过邮件或者企业微信机器人通知你。
如果你希望实现更复杂的重试逻辑,比如对不同状态码分别处理,可以用 Switch 节点按状态码分流。400 说明参数错误,这时候重试也没用,应该走告警分支;429 说明触发限流,等几秒重试;500 可能是服务端临时故障,重试窗口可以拉长一点。这种细节很影响实际体验。我见过不少工作流跑几天就坏,原因就是没有处理失败分支,一次报错直接卡死整个流程。
4. 一个完整可抄作业的工作流:即梦每日积分转 API 自动配图
4.1 场景设定
实战环节,我拿我目前一直在跑的一个流程来举例。这个流程的名字叫“每日文案自动配图”。
需求是这样的:我每天会在飞书文档里维护一个选题列表,每个选题包含标题和一句话描述。我希望每天早上九点,n8n 自动读取当天选题,调用即梦 API 生成一张配图,然后下载图片并上传到图床,最后把图片链接和选题一起发到我的企业微信群。整个流程跑完,我只需要在群里确认效果就行。
这个场景很典型,它串联了定时触发、数据读取、API 调用、文件处理、消息通知五个环节,基本覆盖了你日常会用到的大部分 n8n 能力。把这个流程跑通,你就可以照着改成其他场景。
4.2 完整节点链与每一步的作用
整个工作流的节点链如下:
- Schedule Trigger(定时触发)
- 读取选题列表(HTTP Request 或 Google Sheets 节点)
- Code 节点:组装提示词
- HTTP Request:调用即梦 API
- Code 节点:解析返回的图片 URL
- HTTP Request:下载图片
- 上传图床(HTTP Request 或自定义节点)
- 发送企业微信通知(HTTP Request)
下面把每个环节的关键配置展开说。
Schedule Trigger:设定为每天 09:00 执行一次。时区间记得在 n8n 的环境变量里配置成Asia/Shanghai,否则默认 UTC 时间会差 8 个小时。
读取选题列表:如果选题放在飞书多维表格里,可以用 n8n 官方的飞书节点直接读取。如果你没有现成的数据源,也可以用最笨的办法——在 Code 节点里写死一个数组。刚开始调试的时候我建议先用写死的数组,把整条链路跑通后再接真实数据源。
组装提示词(Code 节点):把选题标题转成适合绘图的中文提示词。这里可以直接拼接,也可以调用 DeepSeek API 做一次“标题转提示词”的增强。后者效果更好,但会引入额外的大模型调用,如果你的 DeepSeek Key 也配置好了,可以试试。
调用即梦 API(HTTP Request):这一节在第 3.1 部分已经详细讲过,直接照做即可。需要注意,如果设置了 n 为 2 或 3,返回的图片会有多张,后续解析逻辑要做好循环遍历。
解析返回图片 URL(Code 节点):把返回 JSON 里的图片地址提取出来。这里要注意,有些平台返回的是临时 URL,有效期只有几个小时,务必在拿到地址后尽快下载,不要存 URL 等以后再用。
下载图片(HTTP Request):方法选 GET,URL 填上一步提取的图片地址。下载完成后,n8n 会把文件作为二进制数据传到下一个节点。这个节点不需要特殊处理 Response Format,设置成 File 即可。
上传图床:这一步取决于你用哪个图床。如果是支持 API 上传的图床,直接调用它的上传接口。如果没有图床,也可以把图片先存到 n8n 服务器的本地目录,或者用 Webhook 方式推送到支持接收文件的接收端。我个人推荐配一个图床,因为图片 URL 比二进制文件更容易在各种渠道里分发。
发送企业微信通知:用 HTTP Request 调用企业微信机器人的 Webhook 地址,在消息体里带上图片 URL 和选题标题。如果你不用企业微信,改成飞书机器人、钉钉机器人或者邮件通知都可以,逻辑完全一样。
4.3 参数化设计:怎么让工作流更灵活
上面这套流程跑通之后,你可能很快会不满足于“每天早上固定一套提示词”。这时候就需要做参数化设计。
最简单的方式是用 n8n 的工作流变量。你可以在工作流的 Settings 里定义defaultStyle、imageSize、modelName这些变量,然后在 HTTP Request 节点里用表达式引用。以后想换风格,不用打开节点改参数,直接改变量就行。更高级的做法是把这些参数放进外部配置表,通过 Google Sheets 或者数据库维护,工作流每次执行时读取,相当于把工作流变成了一个可以随时调整的“AI 配图服务”。
另外要提醒的是并发控制。即梦的积分是按次消耗的,如果你一时间触发了很多个工作流实例同时调用 API,很可能会把你的日配额瞬间打满,后半天就只能干瞪眼。我的做法是在关键节点后加一个 Wait 节点,强制每个任务之间间隔 5 秒钟。这样虽然整体执行时间变长了,但不会因为并发过高触发限流,也不会一次性把积分耗光。对于“每天稳定产出”而不是“一次批量冲量”的场景,这个策略更合适。
4.4 迁移到服务器长期运行
流程在本地 n8n 桌面版调通后,我建议把它导出,然后部署到服务器上的 Docker 版 n8n 里长期运行。导出方式很简单,在工作流列表页选中流程,点击右上角导出按钮,会得到一个 JSON 文件;在目标环境里点击导入即可。
导入之后要重新配置 Credentials,因为凭证不会跟着工作流 JSON 一起走。这是一个容易忽略的点。我刚开始迁移时,在服务器上打开导入的工作流,发现 HTTP Request 节点报错,找了半天才发现是凭证没有重建。这个问题在社区里也很常见,建议迁移后第一件事就是检查所有节点的 Credential 状态。
5. 常见问题与排查技巧实录
5.1 积分明明还有,为什么 API 提示余额不足
这是最让人崩溃的问题。我一开始就撞上了,网页端积分充足,API 却一直报错。后来查文档才明白,网页端积分和 API 资源包是分开计算的,API 调用消耗的是开发者账户下预充值的资源包或赠送额度,跟网页端每日签到送的那点灵感值没关系。
遇到这个报错,按三个方向排查。第一,确认你的 API 账户是否绑定了有效的计费方式,很多平台要求先绑定支付方式才能调用;第二,确认平台是否对新人赠送 API 调用额度,如果赠送额度用完了,你还没充钱,自然就提示余额不足;第三,看看是不是模型选择错了,部分高成本模型对账户余额有额外要求。
5.2 API Key 报错 / Credentials 不生效
如果你确认 Key 没有复制错,但调用时仍然提示鉴权失败,大概率是鉴权头和平台要求的格式不匹配。常见的坑是少写了Bearer前缀,或者把X-API-Key和Authorization两种鉴权方式搞混了。
我的排查方法是:先在 API 平台自带的调试工具里用同样的 Key 试一次,确认 Key 本身没问题;然后在 n8n 的 HTTP Request 节点里手动打开一个临时测试请求,把返回的响应体打印出来看。n8n 的节点输出面板里可以直接看到每次请求的完整 Request 和 Response 信息,这是定位鉴权问题最有效的工具。
5.3 Docker 版 n8n 连不上 / 节点包缺失
在 Windows 上使用 Docker 版 n8n,最常遇到的一个报错是failed to connect to the docker api at npipe:////./pipe/docker-desktop-linux。这个报错基本和 n8n 无关,是 Docker Desktop 没有启动或者环境变量没配置好。解决方法是先启动 Docker Desktop,确认它显示运行中,再重新启动 n8n 容器。
另一个高频问题是导入别人分享的工作流时,提示“此工作流包含未安装的节点”或者“请安装缺失的包以使用此工作流”。这是因为原工作流使用了你没有安装的自定义节点包。解决办法是在 n8n 的容器或本地环境里安装对应的 npm 包,比如:
npm install n8n-nodes-某某包安装完成后重启 n8n 即可。如果你不想装额外节点,也可以在导入时选择“跳过缺失节点”,但那样的话对应节点的功能会丢失,流程可能跑不通。
5.4 生成之后图片 URL 打不开
如果 API 返回了图片地址,但浏览器打开时 403 或者直接打不开,说明这个 URL 有访问限制。最常见的情况是平台对图片做了防盗链,要求在请求头里带上特定的 Referer 或 Token。
解决方法有两种。一种是在 n8n 下载图片时,给请求头加上平台要求的参数;另一种是使用 APIFOX、Python 脚本等工具测试,找到能正常下载的请求头组合,再把这组头配置到 n8n 的下载节点里。如果平台提供的 URL 本身有效期很短(比如 1 个小时),那你得把“生成后立即下载”作为硬性要求,不能把 URL 存下来之后再用,否则必然失败。
5.5 请求频率限制与重试策略
即梦 API 大概率会对单账号的调用频率做出限制,比如每秒最多 1 次、每分钟最多 10 次。如果你在工作流里用了循环,或者多个流程同时触发,很容易撞上 429 报错。这是限流机制在正常发挥作用,不是你的代码有 bug。
应对思路有两种。第一是主动降速,在工作流里加 Wait 节点,把每次调用的间隔控制在安全范围;第二是提高容错,在 HTTP Request 节点后的 IF 节点里识别出 429 状态码,走专门的重试分支,等待 30 秒到 1 分钟再重试。两种方式可以组合使用。我实际跑下来的经验是:把间隔控制在 3 到 5 秒,基本不会触发限流,出图效率也够用。
下面把常见问题整理成一张速查表,方便你对照排查。
| 问题现象 | 可能原因 | 解决思路 |
|---|---|---|
| API 提示余额不足 | 网页端积分与 API 额度分离 | 检查开发者账户资源包,充值或领取赠送额度 |
| 鉴权失败/401 | Header 格式不对或 Key 错误 | 用平台调试工具验证 Key,检查Bearer前缀 |
| docker API 连不上 | Docker Desktop 未运行 | 启动 Docker Desktop 后重启容器 |
| 工作流缺节点 | 自定义节点包未安装 | npm install缺少的包并重启 n8n |
| 图片 URL 打不开 | 防盗链或短时 URL | 增加请求头,生成后立即下载 |
| 429 限流 | 调用过快 | 增加 Wait 间隔,对 429 做重试分支 |
6. 这套方案还能怎么扩展
主体流程搭完之后,你可能会发现即梦 API 能对接的场景远不止“每日配图”这一个。
我目前正在折腾的一个扩展方向是“AI 漫剧工作流”。大家都知道漫剧制作对分镜图的需求量很大,以前靠人工一张张生成,效率很低。现在我的思路是:用 n8n 从剧本里自动拆出分镜描述,先用 DeepSeek API 把每个分镜转换成更适合绘图的中文提示词,再按顺序调用即梦 API 批量生成分镜图,最后把图片按照分镜顺序归档整理。这套流程已经把单张图片的生产成本降到了以秒为单位,质量也比我手动一张张写要稳定得多。
另一个方向是和 ComfyUI 工作流结合。即梦负责快速生成草案图,ComfyUI 负责精细调整、局部重绘、放大之类的后处理。n8n 作为中间调度层,把即梦的产出自动喂给 ComfyUI 的接口,再把最终结果分发出去。这三样工具的组合,几乎可以覆盖目前内容生产里大部分的 AI 视觉需求。
还有更轻量级的玩法。比如你在运营一个公众号,可以用这对接 API 的流程,在每次文章发布前自动生成封面图;你在做电商,可以用它批量生成不同场景、不同角度的商品图;你在做社群运营,可以每天自动生成一张带有当天日期的问候海报。只要你能把“需求”转换成“提示词”,这套 n8n + 即梦 API 的组合就能接住。
从积分不浪费这个小事切入,最后得到的其实是一套属于自己的 AI 内容生产流水线。这也是我为什么一直建议身边朋友,别把即梦当成一个“网页工具”来用,而是尽量让它 API 化、工作流化。方向对了,剩下的就只是时间问题。
个人经验说再多,都不如自己动手跑一遍。建议你先从最简版本开始:一个 Schedule Trigger、一个 HTTP Request、一个 Code 节点,先成功生成一张图,再逐步加节点。等流程跑通了,那种“每天自动帮你把积分花完”的踏实感,真的很爽。