1.前言
文生图(Text-to-Image)是指通过人工智能技术将文本描述转换为对应图像的过程。其核心技术结合了自然语言处理(NLP)与计算机视觉(CV),通过深度学习模型解析文本语义并生成视觉内容。
图生视频(Image-to-Video)指将静态图像扩展为动态视频序列,通常通过预测图像中的运动模式或补充时间维度信息实现。
文生视频(Text-to-Video)直接将文本描述转化为视频内容,是文生图技术的时序扩展,需同时处理空间与时间维度信息。
三者的关联与差异
维度 | 文生图 | 图生视频 | 文生视频 |
---|---|---|---|
输入 | 文本 | 图像+可选文本提示 | 文本 |
输出 | 静态图像 | 动态视频 | 动态视频 |
技术核心 | 跨模态语义对齐 | 时序运动预测 | 多模态融合与时间建模 |
典型模型 | Stable Diffusion、DALL-E | Stable Video Diffusion、EMU Video | Make-A-Video、PyramidFlow |

之前也有过给大家介绍过关于文生图、文生视频等相关工作流。 早期的文生图、文生视频效果都不太理想。字节最近推出的文生图、文生视频模型能力比较强,尤其是在中文提示生成这块效果非常不错。
豆包视频生成模型 Seedance 1.0 Lite,下面是一个关于这模型的总结介绍,大家直接看图吧。

端午节期间刚好在dify插件市场看到一个Doubao Image and Video Generator 的插件 可以实现 文生图、图生视频、文生视频功能。本次就使用dify工作流实现一个文生图、图生视频、文生视频 工作流案例。 下面看一下工作流的截图:

我们看一下效果:
1文生图

文生视频

点击链接下载下来。
视频
图生视频

下面给大家介绍一下这个工作流是如何制作的。
2.工作流的制作
这个工作流我们首先给大家拆解一下,它用到了开始节点、条件分支、LLM大语言模型、豆包Doubao Image and Video Generator 的插件(文生图、文生视频、图生视频)直接回复等工作流组件。 总体来说工作流比较简单。下面我们一一拆解给大家介绍一下。
开始
这个开始节点我们有3个输入条件,第一个是prompt(提示词),第二个是 picture(图片上传),第三个type (选择类型(文本生成图像、文本生成视频、图像转视频))。
第一个提示很好理解,就是用户输入的文生图的剪简短提示词。
第二个picture 是图生视频使用到的,需要用上传图生视频用到的原始图片信息。
第三个type 选择类型 主要是控制后面流程需要走哪个分支,是文生图,还是图生图,还是文生视频的分支。

、 这提示词不论是文生图、图生视频、文生视频都需要用户输入提示词,所以我们设置必填项。
picture 图片这里主要的目的是方便用户需要图生视频 需要的,因为它不是必填项所以我们这里设置可选,另外考虑他是图片类型。所以设置文件和图片类型。

第三方个参考我们设置下拉选项方便用户选择。

以上就完成了开始节点的设置。

条件分支
这条件分支的作用主要是通过用户输入的类型(文生图、文生视频、图生视频)来走相应流程。判断条件type

这里有一个地方需要注意的是图生视频的选择开始节点图片不是必填项。所以我们条件判断是一个AND关系。 即需要type=图生视频,又要用户上传picture 存在。

LLM大语言模型
这里我们使用文本类大语言模型,这里我们硅基流动提供的qwen3-8B模型。

这里主要的目的就是用输入的提示词都是比较简单的,我们通过大语言模型对用户输入的提示词进行改写。生成即梦AI绘画的提示词。
系统提示词内容如下:
json
# Role: 即梦AI文生图结构化提示词生成器 (Jmeng AI Image Structured Prompt Generator)
## Background:
- 这是一个专门为即梦AI生成静态图像提示词的工具
- 将用户的画面创意转换为结构化提示词
- 输出格式固定且简洁
## Core Objectives:
- 将用户输入的画面创意转换为结构化提示词
- 确保输出格式统一且易于使用
- 提供丰富且具体的画面描述
## Constraints:
1. 输出格式必须严格遵循:
```
画面主体:[内容] 场景描述:[内容] 风格关键词:[内容] 细节修饰:[内容]
```
2. 禁止输出任何额外的文字说明或格式
3. 各字段之间使用空格分隔
4. 直接输出结果,不进行对话
## Skills:
1. 静态构图能力:
- 准确描述主体位置
- 定义姿态和表情
- 把握画面重点
2. 场景描写能力:
- 营造环境氛围
- 描述天气光线
- 构建空间感
3. 风格定义能力:
- 应用艺术流派
- 把控色彩风格
- 确定渲染技术
4. 细节补充能力:
- 添加画质要素
- 强化材质表现
- 突出关键特征
## Workflow:
1. 接收用户输入的画面创意
2. 将创意拆解为四个维度
3. 组合成规定格式字符串
4. 直接输出结果
## OutputFormat:
```
画面主体:[主体描述] 场景描述:[场景内容] 风格关键词:[风格定义] 细节修饰:[细节内容]
```
## Init:
我已准备好接收您的画面创意,将直接输出符合格式的提示词。
用户提示词如下:
bash
请根据用户输入{{#1748874215740.prompt#}}改写符合即梦AI绘画的提示词

下面 文生视频提示词改写LLM,配置和上面的内容一样,区别就是提示词不一样,这里我们就不做详细展开。
系统提示词
json
# Role: 即梦AI文生视频结构化提示词生成器 (Jmeng AI Video Structured Prompt Generator)
## Background:
- 这是一个专门为即梦AI生成视频提示词的工具
- 将用户的视频创意转换为结构化提示词
- 输出格式固定且简洁
## Core Objectives:
- 将用户输入的视频创意转换为结构化提示词
- 确保输出格式统一且易于使用
- 提供丰富且具体的动态场景描述
## Constraints:
1. 输出格式必须严格遵循:
```
画面主体:[内容] 动作描述:[内容] 场景描述:[内容] 风格关键词:[内容] 细节修饰:[内容]
```
2. 禁止输出任何额外的文字说明或格式
3. 各字段之间使用空格分隔
4. 直接输出结果,不进行对话
## Skills:
1. 动态构图能力:
- 准确描述主体位置
- 定义动作流程
- 把握动态重点
2. 场景描写能力:
- 营造环境氛围
- 描述天气光线
- 构建空间感
3. 风格定义能力:
- 应用视频风格
- 把控色彩风格
- 确定渲染技术
4. 细节补充能力:
- 添加动态要素
- 强化材质表现
- 突出关键特征
## Workflow:
1. 接收用户输入的视频创意
2. 将创意拆解为五个维度
3. 组合成规定格式字符串
4. 直接输出结果
## OutputFormat:
```
画面主体:[主体描述] 动作描述:[动作内容] 场景描述:[场景内容] 风格关键词:[风格定义] 细
节修饰:[细节内容]
```
## Init:
我已准备好接收您的视频创意,将直接输出符合格式的提示词。

Doubao Image and Video Generator 的插件
这个工作流最关键的地方就是这个插件的使用了。首先我们需要在插件市场上找到这个插件。

选择插件点击"安装"

安装完成后,我们可以才有的安装的插件中找到。

插件安装完成后,我们需要配置一下。 我们需要配置一下火山引擎的api Key

填入key 点击保存完成 插件的授权。

这样我们就可以通过该工具实现文生图、文生视频、图生视频了。
我们回到工作流界面,我们先介绍一下文生图。
文生图

我们按照上图 1、2、3、4步骤 在工作流画布中添加文生图组件。
输入变量这里,我们输入文生图提示词改写LLM 输出提示词。Image Size 和Model Version 可以默认

文生视频
文生视频组件在工作流画布中创建和前面文生图的步骤一样,这里就不做详细展开。它和前面的文生图设置不一样的是组件的参数设置。主要包括输入变量 prompt 、Aspect Ratio、Duration (seconds)、Duration (seconds)
其中Aspect Ratio 支持(16:9,9:16:4:3 1:1)4种。Duration (seconds) 支持 5秒 和10秒2种视频。 模型这里支持2种模型(Doubao Seedance 1.0 lite 和Doubao Seaweed)

图生视频
图生视频组件在工作流画布中创建和前面文生图的步骤一样,这里就不做详细展开。它和前面的文生图设置不一样的是组件的参数设置。
主要包括输入变量 prompt 、ImageFiles 、Aspect Ratio、Duration (seconds)、Duration (seconds)
这里和文生视频不一样的地方,是多了一个ImageFiles 参考图。另外Aspect Ratio 增加了一个auto(自适用用户上传的图片的比例,当然这个比例满足16:9,9:16:4:3 1:1,其他比例会导致报错)

文生视频内容提取
这里比较特殊的地方就是文生视频返回的信息不能直接使用,我们需要使用代码或者LLM大语言模型将返回的信息转成markdown格式内容信息返回。这里我们使用了 google gemini2.5-flash-preview-04-17模型 来提取上节点(文生视频)返回的信息。
系统提示词
arduino
仅提取内容中的视频链接,然后变成 markdown 格式。
这是你看到的内容:{{#1748878093113.text#}}
用户提示词
arduino
{{#1748878093113.text#}}

直接返回
这里我们在IF条件分支里面有4个流程分支,所以这里就有4个直接返回。返回的信息主要是包括系统生成的提示词以及生成的图片或则生成的视频。


以上我们就完成了工作流的搭建。
3.验证及测试
我们制作好的工作流可以在工作流平台上验证测试一下,点击左上角"预览"按钮。
文生图测试


我们打开放大的的图

文生视频


生成的视频链接我们下载并打开视频。

图生视频

这里我们为了方便测试就用即梦AI 生成的一张图片来测试(9:16)

把视频下载看看

呵呵看起来效果不错。
这里有个地方需要注意,如果你上传的图片不符合16:9,9:16:4:3 1:1 很容易出现400的错误

出现上面的错误,请仔细检查上传的图片尺寸大小是否满足16:9,9:16:4:3 1:1 比例。(用QQ 等第三方工具截图的工具很容易出现比符合上述比例的问题,需要注意)
这样我们就完成了文生图、文生视频、图生视频工作流测试。
体验地址
工作流地址:<dify.duckcloud.fun/chat/rlJToJ... 备用地址(http://14.103.204.132/chat/rlJToJZhN43TBETR)>
4.总结
今天主要带大家了解并实现了使用 Dify 工作流搭建文生图、文生视频、图生视频功能的方案。该工作流的搭建涉及多个关键步骤,包括工作流节点的拆解与设置,如开始节点设置了提示词、图片上传和选择类型三个输入条件,条件分支根据用户输入的类型来走相应流程,LLM 大语言模型对用户输入的提示词进行改写,使用 Doubao Image and Video Generator 插件实现文生图、文生视频、图生视频功能,文生视频内容提取使用模型将返回信息转成 markdown 格式,最后通过直接返回节点输出系统生成的提示词以及生成的图片或视频等环节。通过整合多个工作流节点和工具,该方案还具备良好的扩展性,可以根据需求添加更多的功能、优化生成效果和质量。感兴趣的小伙伴可以按照本文步骤去尝试搭建自己的文生图、文生视频、图生视频工作流。今天的分享就到这里结束了,我们下一篇文章见。
需要工作流 dsl 的小伙伴,请在我开源项目里面查找 github.com/wwwzhouhui/...