n8n+Deepseek+FLUX 智能-1小时生成100张新闻海报!

1- 技术架构

flowchart TD
    A[RSS新闻源] --> B[n8n工作流]
    B --> C{Deepseek分析}
    C -->|成功| D[FLUX生成图片]
    C -->|失败| E[错误处理]
    D --> F[邮件发送]

2- 核心组件参数对比

组件 接口类型 调用频率 超时设置 认证方式
n8n REST API 10QPS 30s Bearer Token
Deepseek gRPC 5QPS 15s API Key
FLUX GraphQL 3QPS 60s OAuth 2.0

3- 实现技能

  1. 获取新闻源
    • 使用 RSS 节点获取最新内容
  2. 合并新闻源
    • 合并数据 (Merge) 节点将多 RSS 数据合并到一起
  3. AI 生成图片
    • 调用 FLUX 大模型 API 生成图片
  4. 判断执行状态
    • 判断选择 (Switch) 节点
    • 根据 AI 执行状态进一步做选择
  5. 下载图片文
    • 数据库 (Mongodb) 节点
    • 自动下载生成好的图片
  6. 图文合并
    • 编辑图片 (Edit Image) 节点
    • 文字和图片结合生成海报
  7. 发送带附件邮件
    • 发送邮件 (Send Mail) 节点
    • 邮件添加附件

4- 效果演示

" 多 RSS 新闻聚合 + Deepseek 分析新闻 + FLUX 生成图片 + 定时发邮件【带附件】 ",将录制的效果视频放在了本文的开头。

我们以下截图,直接打开邮件查看内容,海报图片在附件中:

海报图片在邮件的附件中

点开附件 new.jpg 海报图片:

这是本章节案例整个 AI 自动化工作流的全流程截图,执行顺序是从左到右:

把前后两套 A I 自动化工作流截图放在一起做个对比,主要区别是本章工作流多了 AI 自动文生图和文字图片合并编辑的环节流程。


上图是无海报 AI 工作流,下图是带海报生成 AI 工作流:


5- 多 RSS 源聚合处理

通过RSS Read 节点实现多源数据采集,使用Merge 节点进行数据聚合:

// RSS配置示例
const rssConfig = {
  url: 'https://example.com/rss',
  outputFormat: 'json'
};

本篇的 AI 自动化工作流从 调用 RSS" 阅读器 " ( RSS Read ( 阅读器 ) 节点 )开始,通过 RSS 我们能非常方便的可以获取到多个媒体网站的最新资讯文章,先科普一下 RSS 是什么?

[!quote] RSS

RSS 的全称是 " 简易内容聚合 " (Really Simple Syndication),是一个能让我们在一个网站订阅各种感兴趣内容的工具。

一个媒体网站支持 RSS,就意味着每当它新发布一篇新文章,就会往一个位于特定网址的文件中,以特定的语法(具体而言是 XML 标记语言)
增加一条记录,包括这篇文章的标题、作者、发表时间和内容(可以是全文,也可以是摘要)等信息。
这样,我们只要搜集所有感兴趣的网站提供的这种文件的网址,并不时检查这些文件内容的更新,就能知道这些网站是否、何时发布了什么内容。RSS 阅读器的核心功能,就是存储用户订阅的 RSS 地址,以固定的频率自动检查更新,并将其内容转换为易读的格式呈现给用户。

[!example] 举个例子
当我关注的某个人在知乎、或者在博客上回答了一个问题、写了一篇新文章,我马上就能收到推送。

当我关注的人变多了,我不必一一点开知乎、简书、甚至翻看博客去主动获取更新,而是在一个统一的终端内阅读就可以了。

n8n 提供完整高效稳定的 RSS Read ( 阅读器 ) 节点 ,我们可以从多个 RSS Read 节点

分别获取各自最新文章,然后进行汇总,再一条条让 Deepseek 分析总结,最后将结果以邮件形式发送给每一位需要的用户。


n8n 提供的 RSS Read ( 阅读器 ) 节点,本例工作流中使用了多个 RSS Read,如下图:

6- 设置 RSS

RSS Read ( 阅读器 ) 节点 是 n8n 的一个内部 (官方) 节点,作用是从指定的 RSS 地址获取资讯文章。这不是一个 触发节点 (Trigger) 节点,所以 RSS Read ( 阅读器 ) 节点 不会在媒体网站更新文章的时候自动触发 AI 自动化工作流。

如果希望 网站更新文章的时候自动触发工作流的话,我们就应该使用 RSS Trigger (RSS 触发) 节点,会在 RSS 网站更新后会自动触发工作流。

7- 这两个节点的区别

7.1- RSS Read ( 阅读器 ) 节点

不会触发工作流,每次调用是获取 RSS 全部文章。

7.2- RSS Trigger ( RSS 触发 ) 节点

会触发工作流,每次调用只获取最新的文章。

我们需要根据实际情况选择用哪个 RSS 节点,在本例中选择的是 RSS Read 因为要在每日指定时间触发工作流获取最新文章。

8- 使用 RSS Trigger ( RSS 触发 ) 节点需注意

你在使用 RSS Trigger ( RSS 触发 ) 节点时,如果 RSS 源一次更新 20 条文章的话,我们的工作流就要一次被执行 20 次,大大增加了服务器的负载,不利服务的稳定,如果更新条数过多的话很容易将服务器搞崩溃。

如果我们使用 RSS Read ( 阅读器 ) 节点 将最新的数 20 条文章一次读取,在后续进行批处理,就不存在这个问题。

我们只需要输入要获取哪个 RSS 的网址就可以了,节点输出数据结构和 RSS 输出结构是一致的。

9- 时效性过滤

采用Filter 节点实现基于时间的智能过滤:

# 时间过滤条件
if item.pubDate > datetime.today():
    return True
else:
    return False

这时候我们会发现 RSS Read 输出的文章包括今日和过去一段时间内的文章,说明 RSS 输出的文章是会跨时间段的。也就是说,它不仅仅输出今天的文章,还会输出昨天的前天的文章,总之,是一段时间内的文章。

我们要的是将每天更新的新文章保存到 Edit Fields 节点 ,因此我们需要一个 Filter ( 过滤 ) 节点来过滤掉以前的文章。

Filter ( 过滤 ) 节点过滤掉昨天以前的文章 我们先上图看一下在 RSS Read 之后添加一层过滤器,专门根据日期过滤掉除了今日文章之外的所有文章。


Filter ( 过滤 ) 节点其实就是一个过滤条件设置节点,能选择各种过滤条类型,包括判断时间、判断数字大小、判断字符匹配等等条件。

[!quote] n8n 官方是这样解释 Filter ( 过滤 ) 节点的:
根据条件过滤项目。如果数据满足条件,则 Filter 节点会将其传递到 Filter 节点输出中的下一个节点。
如果项目不满足条件,则 Filter 节点会从其输出中忽略该数据。

在 Filter 节点中,我们可以通 过 点击 Add Condition 按钮来添加过滤条件。

我们可以看到,在这里我添加了一个过滤条件 " is after ",表示我们根据日期字段过滤只需要保留今日时间之后的所有文章,如下图:

不懂额同学看好,这里操作很简单,教你使用鼠标按住 “puDate” 字段名直接拖拽到 fx 框中就自动生成一段 js 代码,记住 n8n 中 js 都是包含在两个花括号中的就是这样的{{ js 代码 }},如上图红色箭头所示。

接着,我们选择过滤条件,n8n 内置了丰富的过滤条件让我们选择,点击下拉框我们可以按照过滤的类别进行选择,如下图:

本例中,我们是要按照时间过滤,所以选择 Date&Time 类别,在二级菜单中选择 " is afte r " 项," Date&Time > is afte " 表示过滤 "…在所选日期以后 "。

我们可以看到 n8n 还提供了过滤 "…在所选日期以前 " 或者大于小于某个时间点等等,通常都能满足我们各种实际情况下的各种过滤需求。

数据类别 描述
String 代表对字符串内容进行各种过滤,二级菜单会有针对字符串的过滤条件。支持以下比较:
1. 存在
2. 不存在
3. 为空
4. 不为空
5. 等于
6. 不等于
7. 包含
8. 不包含
9. 开始于
10. 不是以…开头
11. 结尾为
12. 并非结束于
13. 匹配正则表达式
14. 与正则表达式不匹配
Number 对数字类别的数据进行判断过滤,支持以下比较:
1. 存在
2. 不存在
3. 为空
4. 不为空
5. 等于
6. 不等于
7. 大于
8. 小于
9. 大于或等于
10. 小于或等于
Date&Time 对时间类别的数据进行判断过滤,支持以下比较:
1. 存在
2. 不存在
3. 为空
4. 不为空
5. 等于
6. 不等于
7. 之后
8. 之前
9. 晚于或等于
10. 早于或等于
Boolean 对 " 是或真 (true)" 和 " 不是或假 (false)" 的布尔类别的数据进行判断过滤,支持以下比较:
1. 存在
2. 不存在
3. 为空
4. 不为空
5. 是真的
6. 是错误的
7. 等于
8. 不等于
Array 对数组类别的数据进行判断过滤,支持以下比较:
1. 存在
2. 不存在
3. 为空
4. 不为空
5. 包含
6. 不包含
7. 长度等于
8. 长度不等于
9. 长度大于
10. 长度小于
11. 长度大于或等于
12. 长度小于或等于
Object 对对象类别的数据进行判断过滤,支持以下比较:
1. 存在
2. 不存在
3. 为空
4. 不为空

我们再看一下这句表达式 {{ $today }} 它代表今天的日期,会根据我们每次运行工作流的时间而变动。

在 n8n 中,我们把文本框设置为 "Expression " 模式时,你可以使用 {{ … }} 来插入表达式。

与之对应的是 " Fixed " 模式。在 Fixed 模式下,文本框里的内容将被完全视为一段文本,不会当作表达式运行。

我们可以从输出看到,经过这个条件执行中,输出 面板里丢弃了 7 条结果,保留了 23 条结果。

证明我们此次运行时, RSS 原本里包含了 7 条昨天的新闻。

10- 合并多篇文章

在本例中我们使用了 4 个 RSS Read ( 阅读器 ) 节点,每次执行 AI 自动化工作流时同时会从每 RSS Read 中获取多篇文章,算一下每次共有 60 篇左右的文章会被工作流处理,所以,后续工作流会对每篇文章进行处理,我们就需要先将多篇文章合并在一个虚拟表格中,然后使用 Loop 循环节点一一对每篇文章进行分批处理。

n8n 为我们提供的合并节点是 " Merge (合并) 节点 ",简单说该节点作用是将上游输出的多条数据合并成一个。

image

Merge (合并) 节点也很简单不复杂,没有多余的设置。我们先设置有多条输入项需要把它们合并,

本案例中我们有 4 个 RSS Read ( 阅读器 ) 节点,所以 ,“Number of Inputs” 设置为 4,如图:

image

image

Merge (合并) 节点会根据 4 种合并方式将输入的数据进行合并输出,这 4 种合并方式是:

合并方式 描述
Append 追加,简单说后面 RSS 输出的文章附加在前一个 RSS 文章后面,依此类推, 示意图:
图片
该模式适用于要合并的两者数据字段完全一致的情况。
Combine 1. Matching Fields (匹配字段模式) 顾名思义两个不同字段的数据通过该模式进行合并,比如从第一个 RSS 获取文章的信息包含:标题、作者、文章内容三个字段。从第二个 RSS 获取文章的信息包含:标题、作者、日期三个字段,那么,合并输出的字段就是标题、作者、日期、文章内容。变成 4 个字段,你看懂了么?相同字段合并在一起,不同字段追加上。示意图:
图片

2. Position (位置模式) 根据项目的顺序进行组合。输入 1 中索引 0 处的项目与输入 2 中索引 0 处的项目合并,依此类推。示意图:
图片
举例说明,如果有两个表格,每个表格的字段属性相同,就可以将两个相同字段进行合并,比如有个班级学生姓名的字段,表 1 包含 1~3 年级学生名字,表 2 包含 4-6 年级学生名字,合并之后,学生名字字段数据就是 1~3 年级 + 4~6 年级学生名字,你看懂了么?就是说,合并前每个表存放的都是部分数据,合并后就是完整数据。

3. All Possible Combinations (所有交叉组合模式) 简单说将两个相同字段的列表按照多对多的组合合并在一起。官方解释:输出所有可能的项目组合,同时合并同名的字段。示意图:
图片
SQL Query 编写自定义 SQL 查询来合并数据,掌握 SQL 语言的同学会觉得非常简单,使用两张表互相关联的 SQL 例子来说明:
SELECT * FROM input1 LEFT JOIN input2 ON input1.name = input2.ids
Choose Branch 基本很少用。

11- 循环处理多篇文章

我们通常要批量处理数据时都会构造一个循环流程来依次处理数据,这里的 " 批量 " 代表每次处理数据的条数,每次一条也可以每次多条,没错!n8n 又为我们提供了内置循环节点

11.1- Loop Over Items (循环遍历) 节点

11.2- Loop Over Items

(循环遍历) 节点,有两个链接点,“loop” 主要连接接下去要走的节点,“done” 表示当节点执行完成时,它会合并所有处理后的数据并通过 done 输出返回 。

简单说就是当所有的批次执行完毕之后,数据被合并推送到 done 分叉,执行后续的循环外操作。


Loop Over Items (循环遍历) 节点 的 “Batch Size” 参数表示每次循环处理几条数据,这里的批次就是我们说的循环,

如果设置为 5 那么每次输出到下游节点的数据就是每次 5 条,我们下游的节点是 AI Agent,本例中设置的 1,表示每次 Deepseek 分析一篇文章的标题和内容,

如设置为 5,表示每次 Deepseek 同时分析五篇文章的标题和内容,这样显然加大了工作流的负载,单次内容多过也会影响 Deepseek 的处理速度,而且,Deepseek 每次对话最大 token 数大约 4096 个字符,超出的字符会被截掉。

[!note] 我们通常在以下几个场景可以使用 Loop Over Items (循环遍历) 节点:

1. 需要分批处理数据的情况,依次处理更加节省服务器资源,性能也会提高。

2. 在我们确定会导致节点发生错误的情况下我们希望在某一行运行错误的情况下,剩下流程行依然能继续运行。

3. 我们希望控制数据处理的频次,以保障第三方 API 可以正常运行。

在本例中,是希望用 Deepseek 分析总结一篇 AI 新闻后就自动给用户发送邮件,发送成功后循环处理下一篇新闻文章。并不需要一次处理多篇新闻文章。

大家看一下本例中 Loop Over Items (循环遍历) 节点的执行范围截图:

12- AI 生成背景图

本例中我们需要将 AI 输出的新闻配合背景图合成一张新闻海报,文章开头我们看到了工作流最后输出的海报图,选择调用阿里云 " 百炼大模型 " 平台的 FLUX 模型为我们文生图生成图片。


12.1- 步骤 1

申请阿里云 API-Key,首先得有阿里云帐号,其次申请创建阿里云 API-Key,阿里云的 API-Key 在使用阿里云旗下所有 API 时都是通用的,所以只要申请一个 API-Key 我们就可以调用 FLUX 模型了。

12.2- 步骤 2

现在教大家如何调用阿里云 FLUX 大模型的 API 帮我生成图片,双击 , HTTP Request 节点作为请求阿里云 API 的访问节点,我们点击 HTTP Request 节点看一下阿里云 API 调用的参数设置,如下图:

接着往下设置请求头主要的参数,将 “API-Key” 字符串作为 " Authorization ’ 参数的值输入。

现在最核心的部分就是这里,因为调用 API 是 POST 方法,所以我们需要开启 “Send Body” 并在 Body 中设置 json 格式的请求参数和值,如下图:

提示词要写在这里,请参考上面的截图。将详细的参数设置放在下面的表格里,同学根据自己需要设置相关参数即可。

12.2.1- 请求 API 参数说明

参数 类型 默认值 说明
model string 指定用于对话的 FLUX 文生图模型名,目前支持传入 “flux-schnell” 和 “flux-dev”。
prompt string 用户当前输入的期望模型生成的文本信息。用户当前输入的期望模型生成的文本信息。 支持中英文 ,中文不超过 500 个字符,英文不超过 500 个单词,超过部分会自动截断。
size(可选) string 1024*1024 生成图像的分辨率,目前支持 512*1024, 768*512, 768*1024, 1024*576, 576*1024, 1024*1024 六种分辨率,默认为 1024*1024 像素。
seed(可选) int 图片生成时候的种子值,如果不提供,则算法自动用一个随机生成的数字作为种子。
steps(可选) int 图片生成的推理步数,如果不提供,则默认为 30。 flux-schnell 模型官方默认 steps 为 4,flux-dev 模型官方默认 steps 为 50。
guidance(可选) float 3.5 指导度量值,用于在图像生成过程中调整模型的创造性与文本指导的紧密度。较高的值会使得生成的图像更忠于文本提示,但可能减少多样性;较低的值则允许更多创造性,增加图像变化。默认值为 3.5。
offload(可选) bool False 一个布尔值,表示是否在采样过程中将部分计算密集型组件临时从 GPU 卸载到 CPU,以减轻内存压力或提升效率。如果您的系统资源有限或希望加速采样过程,可以启用此选项,默认为 False。
add_sampling_metadata(可选) bool True 一个布尔值,决定是否在输出的图像文件中嵌入生成时使用的提示文本等元数据信息。这对于后续跟踪或分享生成设置非常有用,默认为 True。

值得注意的是 “Size” 参数的值表示生成图片的分辨率,512*1024 适合手机屏幕尺寸。

12.3- 步骤 3

在 n8n 中处理阿里云 API 返回的结果。当调用阿里云 FLUX 的 API 后,模型生成图片都会经过三个阶段:" 任务排队 “、” 处理中 " 和 " 生成完成 " 三个状态。

所以,我们要请求 API 好几次知道 APi 返回结果状态是 "SUCCESSED:任务执行成功 ",这时候 API 还会返回给我们一个下载生成好的图片地址,我们将它下载到节点就可以了。

12.3.1- API 返回参数说明

返回参数 类型 说明
status_code Integer 200(HTTPStatus.OK)表示请求成功,否则表示请求失败,可以通过 code 获取错误码,通过 message 字段获取错误详细信息。
request_Id String 系统生成的标志本次调用的 id。
code String 表示请求失败,表示错误码,成功忽略。
message String 失败,表示失败详细信息,成功忽略。
output Dict 调用结果信息,对于千问模型,包含输出 text
task_id String 异步任务 id。
task_status String 任务状态:
- SUCCESSED:任务执行成功
- FAILED:任务执行失败
- CANCELED:任务被取消
- PENDING:任务排队中
- SUSPENDED:任务挂起
- RUNNING:任务处理中
results List 生成结果,每个元素为生成图片的 url。
task_metrics Dict 任务结果信息,TOTAL 期望生成数量,SUCCEEDED 成功生成数量,FAILED 失败数量。
usage Dict image_count 用于计量的图片个数。

大家请看实际运行效果,通常调用 API 后返回的执行状态都是 " PENDING(任务排队中)",FLUX 模型在处理生图是需要 20 秒钟左右时间的,所以,一开始的状态肯定是 " PENDING( 任务排队中) " 或 " RUNNING (任务处理中) “,等我们再次通过任务 ID 查询 API 执行状态时如果返回状态是 " SUCCESSED(任务执行成功)” 就代表图片生成完成了。

我们看一下调用 API 后马上返回的结果截图:

看到返回结果中 " task_status (任务状态) " = " PENDING ( 任务排队中 ) ",还返回了 " task_id(任务 ID)= " fd55eed2-4cc6-4d14-a38c-0d2daa606c77 ",后面我们需要使用任务 ID 插叙 API 当前执行的状态,了解 FLUX 大模型生成图片的进行到哪一步了。

所以,为了方便就干脆等待 30 秒后再查询 API 看任务状态值,如果任务状态是 SUCCESSED ( 任务执行完成 ) 那么下一步就直接下载生成好的图片。

如果一定要根据 API 返回的任务状态值来判断是否执行下载图片操作的话,那么我们就要用到 " Switch (判断)" 节点,根据 API 返回任务状态不同的值判断执行那个分支流程。比如,任务状态不是 SUCCESSED ( 任务执行完成 ) 就执行等待节点,或一段时间才尝试。如果返回的是执行失败的状态那么我们就要走处理错误的分支流程。


设置 " Switch (判断)" 节点非常简单,只要将 API 返回状态的值作为判断就行,工作流将根据匹配状态值判断后续走哪条分支流程。其实本例中,并没有将分支搭建出来,就当然做给各位同学的回家作业,看看你是否能正确搭建每个后续分支流程。

12.4- 步骤 4

获取图片 URL,阿里云 FLUX 文生图 API 一旦执行完成会返回图片 URL 供我们下载。

我们看到 " HTTP Request " 节点输出结果信息中,task_status = SUCCESSED ( 任务执行完成 ),这时候 URL 我们已经可以获取到了。接下去,我们还是继续使用 " HTTP Request " 节点根据 URL 下载图片文件

12.5- 步骤 5

上一步骤我们获取到了 URL,现在可以根据 URL 下载图片文件了。

通过 " HTTP Request " 节点可以轻松下载图片,不仅是图片只要是二进制的文件都可以通过 " HTTP Request" 节点下载,看一下 " HTTP Request " 节点设置。

直接可以在输出窗体中浏览图片。

12.6- 步骤 6

图文合并,上面我们成功获得了 FLUX 生成的海报图片,现在我们将新闻内容放到图片上相应的位置合并为一张新闻海报,教大家使用一个新 n8n 节点 " Edit Image ( 图像编辑) 节点 " 来解决图文合并的问题。

12.6.1- 图像编辑节点

n8n 提供的图像编辑节点非常强大,我们一起来看一下它都包含哪些功能:

功能
1 对图片添加 模糊效果
2 对图片添加 边框将一张图片合成到 另一张图片上
3 创建 新图像
4 裁剪 图片
5 在图像上 绘图
6 获取 图像信息
7 Multi Step 对图像执行多项操作
8 调整大小 :更改图像的大小
9 旋转 图像
10 沿 X 轴或 Y 轴 剪切图像
11 在图像中添加 文本
12 使图像中的颜色 透明

本例中我们将使用到 11 项,在图片上添加文字。

13- 文生图大模型 FLUX 介绍

顺道科普一下 FLUX 模型,要说 FLUX 模型,可能很多小伙伴都没听说过。这并不奇怪。FLUX 说是当今最好的文本生成图大模型,没有之一。

FLUX 是由 BlackForest Labs(黑森林实验室)推出的一款最新的文本生成图大模型。而 Black Forest Labs 是在 2014 年 8 月 1 日宣布启动的。

使用过文本生成图片的同学想必都听说过 “Stable Diffusion” 吧,最有名的开源生图大模型,而 Black Forest Labs 就是由 Stable
Diffusion 原班人马创立的新公司,专注于开发先进的生成式深度学习模型,并致力于建立新的行业标准。

该公司由 Robin Rombach 领导,他是 Stable Diffusion 的作者之一。Black Forest Labs 的核心使命是通过开发强大且易于访问的生成式 AI 工具,使得高质量的生成式 AI 技术普及化。

Black Forest Labs 认为开放的访问权限和广泛的研究社区合作对 AI 技术的负责任发展至关重要。这一理念体现在他们发布的模型中,这些开源模型供非商业用途使用,同时他们也提供适用于商业应用的更强大版本。

FLUX 模型全名为 FLUX.1,是 Black Forest Labs 最近推出的文本生成图像的 AI 模型。

13.1.1- FLUX.1 模型包含三个版本

FLUX.1 [pro]、FLUX.1 [dev] 和 FLUX.1[schnell],分别针对不同的使用场景和需求。

  • FLUX.1 [pro] 是闭源模型,提供最佳性能,
  • FLUX.1[dev] 和 [schnell] 则是开源模型,[dev] 版本不可商用,[schnell] 版本则专为本地开发和个人使用设计,具有最快的生成速度和最小的内存占用。

根据 Black Forest Labs 官方的测试对比图,FLUX.1[pro] 和 [dev] 版本在多方面超越了市场上的主流文生图模型,包括 Midjourney v6.0、DALL·E 3(HD) 和 SD3-Ultra。

这些方面包括视觉质量、对提示词的精准遵循、尺寸和比例的多样性、排版能力以及输出的多样性。

同时阿里云上线了 FLUX.1 [dev] 模型是一款面向非商业应用的开源权重、精炼模型。

FLUX.1 [dev] 在保持了与 FLUX 专业版相近的图像质量和指令遵循能力的同时,具备更高的运行效率。

相较于同尺寸的标准模型,它在资源利用上更为高效。除了为 FLUX 系列的官方模型与基于 FLUX 架构的开源社区模型提供服务化支撑外,阿里云还针对 FLUX 文生图模型实施了中文 Prompt 的适应性优化。

此番调整确保了模型能够深刻理解并精准响应中文指令,进而生成与英文 Prompt 同等质量的图像成果。

最新的 FLUX 模型不仅在文生图领域领先而且在文生视频、图转视频领域也做的非常好,不妨看一下他的官方网站上的案例:

FLUX 网址: https://flux-ai.io/cn

14- 海报通过邮箱附件发送给用户

我们来到最后一步就是将新闻和海报发送到用户的邮箱,这里用户可以是你公司的注册用户,也可以是活动收集来的用户邮箱等等。

总之,我们需要将订阅邮箱或者推送一些活动营销类邮件给用户的话。

现在,教大家将合并后的海报作为附件通过邮件形式发送到用户邮箱。


“Send Mails” 节点在上篇就已经讲解过如何使用 “Send Mails” 节点发送普通邮件,本篇就带大家了解如何发送带附件的邮件,附件可以是任何形式的对象,比如图片、文件、压缩包等等。废话不多说,我们先上图:

重点看上图红色区域,从上游节点获取到海报之后,我们只需要点击 “Add Option” 按钮添加一个 " Attachments" 参数,自定义一个附件名称就可以了。