【从零开始学Dify】 Dify + 视觉模型构建文生视频工作流_doubao image and video generator
目录题
- DIfy 工作流
- 创建工作流
-
- 1、添加模型
- 2、创建应用
- 3、Workflow的系统变量
- 4、添加用户输入变量
- 5、添加LLM节点
- 6、安装文生视频插件
- 7、添加文生视频节点
- 8、添加LLM节点
- 9、添加结束节点
- 10、发布测试
- 最后
DIfy 工作流
工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。
Dify 工作流分为两种类型:
- Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。
- Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。
这里文生视频我只需要生成视频即可,所以我选择Workflow
创建工作流
文生视频工作流:
- 用户输入关键字(提示词)
- LLM 对用户的输入进行扩充描述
- TEXT TO VIDEO 接收LLM输入,执行生成视频
- LLM2 对 TEXT TO VIDEO输出的text进行修饰(可以控制最终输出)
- 结束输出LLM2的text
具体工作流如下:
工作流运行效果如下,输入提示词:小猫游泳,工作流就开始执行
整个工作流的输入输出如下:
- 开始输入:
{ \"query\": \"小猫游泳\", \"sys.files\": [], \"sys.user_id\": \"9347ec70-d7db-4943-9e69-b0bed251bc54\", \"sys.app_id\": \"a5cba457-16ce-4493-901c-3a78408cbef4\", \"sys.workflow_id\": \"5708888f-e53d-4000-bebd-af01b2fee66b\", \"sys.workflow_run_id\": \"2a9ffa7b-0a7c-4619-9885-161f90f0af7e\"}
- 开始输出:
{ \"query\": \"小猫游泳\", \"sys.files\": [], \"sys.user_id\": \"9347ec70-d7db-4943-9e69-b0bed251bc54\", \"sys.app_id\": \"a5cba457-16ce-4493-901c-3a78408cbef4\", \"sys.workflow_id\": \"5708888f-e53d-4000-bebd-af01b2fee66b\", \"sys.workflow_run_id\": \"2a9ffa7b-0a7c-4619-9885-161f90f0af7e\"}
- LLM输入:
{}
- LLM数据处理:
{ \"model_mode\": \"chat\", \"prompts\": [ { \"role\": \"system\", \"text\": \"适当补充用户输入的文本,生成更加丰富的描述,文字长度不要太多。\\n这是用户输入的文本:小猫游泳\", \"files\": [] } ], \"model_provider\": \"langgenius/siliconflow/siliconflow\", \"model_name\": \"deepseek-ai/DeepSeek-V3\"}
- TEXT TO VIDEO 输入:
{ \"prompt\": \"一只毛茸茸的小黄猫在水池里欢快地划动着小爪子,溅起晶莹的水花。它眯着圆溜溜的眼睛,小耳朵不时抖落水珠,蓬松的尾巴像螺旋桨一样在水里摆动。阳光透过水面映照出斑驳的光影,小猫时而潜入水中追逐水泡,时而浮出水面发出奶声奶气的\\\"喵呜\\\"声,俨然是个快乐的小游泳健将。\"}
- TEXT TO VIDEO 输出:
{ \"text\": \"正在使用豆包 API 生成视频...视频生成任务已创建,任务ID: cgt-20250714084017-c5wg6,等待视频生成完成...视频正在生成中,已等待 5 秒...视频正在生成中,已等待 10 秒...视频正在生成中,已等待 15 秒...视频正在生成中,已等待 20 秒...视频生成成功!视频链接: https://ark-content-generation-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-1-0-lite-t2v/02175245361727400000000000000000000ffffac180e538b30a4.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYjg3ZjNlOGM0YzQyNE1MmI2MDFiOTM3Y2IwMTY3OTE%2F20250714%2Fcn-beijing%2Fto%2Frequest&X-Tos-Date=20250714T004038Z&X-Tos-Expires=86400&X-Tos-Signature=178334c684aa6ab440110f510e892417a1ca794e54f8059dd71d703ae772be1&X-Tos-SignedHaders=host\", \"files\": [], \"json\": [ { \"type\": \"video\", \"url\": \"https://ark-content-generation-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-1-0-lite-t2v/02175245361727400000000000000000000ffffac180e538b30a4.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYjg3ZjNlOGM0YzNGE1MmI2MDFiOTM3Y2IwMTY3OTE%2F20250714%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20250714T004038Z&X-Tos-Expires=86400&X-Tos-Signature=178334c684aa6dab4401f510e892417a1ca794e54f8059dd71d703ae772be1&X-Tos-SignedHeaders=host\" } ]}
- LLM2输入:
{}
- LLM2数据处理:
{ \"model_mode\": \"chat\", \"prompts\": [ { \"role\": \"system\", \"text\": \"提示用户视频生成成功,并且要求最终生成的视频正在使用豆包 API 生成视频...视频生成任务已创建,任务ID: cgt-20250714084017-c5wg6,等待视频生成完成...视频正在生成中,已等待 5 秒...视频正在生成中,已等待 10 秒...视频正在生成中,已等待 15 秒...视频正在生成中,已等待 20 秒...视频生成成功!视频链接: https://ark-content-generation-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-1-0-lite-t2v/02175245361727400000000000000000000ffffac180e538b30a4.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYjg3ZjNlOGM0YzQyNGE1MmI2MDFiOTM3Y2IwMTY3OTE%2F20250714%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20250714T004038Z&X-Tos-Expires=86400&X-Tos-Signature=178334c684aa6dab440110f510e892417a1ca794e54f8059dd71d703ae772be1&X-Tos-SignedHeaders=host直接点击播放就可以观看,\", \"files\": [] } ], \"model_provider\": \"langgenius/siliconflow/siliconflow\", \"model_name\": \"deepseek-ai/DeepSeek-V3\"}
- 结束输入:
{ \"result\": \"您的视频已成功生成!🎬\\n\\n视频链接已准备好,您可以点击下方播放按钮直接观看:\\n\\n[播放视频](https://ark-content-generation-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-1-0-lite-t2v/02175245361727400000000000000000000ffffac180e538b30a4.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYjg3ZjNlOGM0YzQyNGE1MmI2MDFiOTM3Y2IwMTY3OTE%2F20250714%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20250714T004038Z&X-Tos-Expires=86400&X-Tos-Signature=178334c684aa6dab440110f510e892417a1ca794e54f8059dd71d703ae772be1&X-Tos-SignedHeaders=host)\\n\\n如果遇到播放问题,建议:\\n1. 确保网络连接稳定\\n2. 尝试复制链接到浏览器地址栏打开\\n3. 该链接将在2025年7月15日前有效\\n\\n希望您喜欢这个由豆包AI生成的视频!如需其他帮助请随时告知。\"}
- 结束输出:
{ \"result\": \"您的视频已成功生成!🎬\\n\\n视频链接已准备好,您可以点击下方播放按钮直接观看:\\n\\n[播放视频](https://ark-content-generation-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-1-0-lite-t2v/02175245361727400000000000000000000ffffac180e538b30a4.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYjg3ZjNlOGM0YzQyNGE1MmI2MDFiOTM3Y2IwMTY3OTE%2F20250714%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20250714T004038Z&X-Tos-Expires=86400&X-Tos-Signature=178334c684aa6dab440110f510e892417a1ca794e54f8059dd71d703ae772be1&X-Tos-SignedHeaders=host)\\n\\n如果遇到播放问题,建议:\\n1. 确保网络连接稳定\\n2. 尝试复制链接到浏览器地址栏打开\\n3. 该链接将在2025年7月15日前有效\\n\\n希望您喜欢这个由豆包AI生成的视频!如需其他帮助请随时告知。\"}
1、添加模型
在创建工作流之前,需要先添加模型。选择工作室
菜单,点击头像
,选择设置
点击左侧菜单“模型供应商”,安装模型,我这里安装了通义前问和硅基流动,并且一定要添加对应模型的API-KEY,可以在Dify市场中查看并添加更多的模型。
建议先添加模型,工作流、知识库等应用中都需要模型处理,下面的案例我直接安装过了
2、创建应用
点击导航栏“工作室”菜单,选择“创建空白应用”
随后我们选择“工作流”,填写应用名称:文生视频工作流、描述:可选
然后就进入到工作流中
3、Workflow的系统变量
了解一下Workflow的系统变量
正如下所示:
4、添加用户输入变量
首先点击图中的加号按钮
设置变量为文本
,变量名称query
,显示名称query
,最大长度256
,最后点击确定
5、添加LLM节点
点击开始
后面的添加节点
按钮,选择节点中的LLM
,目前是让用户输入的提示词,让LLM
适当补充用户输入的文本,生成更加丰富的描述。
节点添加成功之后,我们可以设置模型,硅基流动中的可选模型有很多,我选择deepseek-V3模型
,上下文这里不需要所以不做设置,SYSTEM
是给LLM的提示词,这里我输入:适当补充用户输入的文本,生成更加丰富的描述,文字长度不要太多。并且提供大模型用户的输入内容为
注意:在添加模型的时候,可以设置一下模型的参数
模型参数的具体解释如下:
6、安装文生视频插件
首先我们安装文生视频的插件,这是必须的,因为需要依赖视觉模型来处理,这里我使用的是Doubao Image and Video Generator
。
点击页面插件
按钮
在安装插件
中选择插件源
为Marketplace
,
搜索Doubao Image and Video Generator
,点击安装
按钮
安装完之后,可以在插件中看到
接下来需要进行授权,填写API-KEY
API-Key在火山方舟的左侧菜单中的下方,拿到KEY直接去Dify授权
注意:使用豆包的视觉模型需要先在这里测试一下,这里还需要开通一些服务
点击API接入,进行视觉模型授权,授权成功如下,否则,在Dify文生图会报错
7、添加文生视频节点
点击LLM旁边的添加节点,选择工具中的Doubao Image and Video Generato
插件,可以看到它可以文生图、文生视频、图生视频,这里选择文生视频,也就是Text to Video
设置Text to Video模型的提示词,将LLM的输出作为Text to Video的输入
8、添加LLM节点
此时已经拿到了Text to Video模型生成的视频了,Text to Video模型输出结果将会被LLM处理之后输出,这里可以设置输出结果的形式。
选择模型-设置提示词,置于为什么我要这么设置,是因为Text to Video模型输出的结果中text是一个很长的字符串,包括视频链接,不怎么友好。
9、添加结束节点
添加结束节点,将LLM2的结果作为输出结果
一个完整的工作流就设置成功了
10、发布测试
点击发布,随后可以运行该工作流
测试一下,输入:小猫游泳,随后工作流就开始执行,最终生成视频
我多生成了几个视频,截图如下:
最后
如果对dify工作流不怎么了解的话,可以查看一下文档:https://docs.dify.ai/zh-hans/guides/workflow/readme