这节课我们学习如何用Dify实现文生图功能,当然文生图有很多种方法,这节介绍相对简单和稳定的用硅基流动的Flux版实现文生图功能。
硅基流动注册和API密钥
先看一下什么是硅基流动:
硅基流动(SiliconCloud)是一个面向大众的智能AI服务平台,让普通人也能轻松使用各种先进的人工智能功能。它就像“AI超市”,提供文字生成(如写文章、对话)、图片创作(如设计海报)、视频制作、语音合成等多种工具。用户无需懂编程,通过简单操作或直接输入需求,就能快速获得高质量内容。

硅基流动网址:https://siliconflow.cn/
如果你第一次来这个网站,需要注册登录一下,注册之后它第一次会送你15元的额度,这15元基本也够学习使用了。
在Dify里安装硅基流动工具
硅基流动的密钥注册好之后,输入网址http://127.0.0.1/apps(请确保你已经在本机安装并开启了Dify),我们就可以到本机的Dify管理界面了。
然后点击工具,再点击Dify市场,在图像分类里就可以找到SiliconFlow(硅基流动)工具了,点击安装,按照完成把刚才注册好的API密钥复制到输入框,保存后就可以使用了。
搭建文生图工作流
下面就是搭建工作流了,这里你可以选择Chatflow(对话式)和Workflow(工作流式)两种方式。我们选择Workflow(工作流式)方式来进行演示了。
工作流的创建
视频中有写详细演示,这里只是简单步骤,建议追看视频。
在创建空白应用的时候, 会有一个工作流选项,选择这个选项,然后给应用起个名字,比如文生图,然后点击创建。
在开始节点时新增一个输入字段,我这里叫userText,然后点击新增节点,选择工具,在选择SiliconFlow(硅基流动),选择Flux,然后点击保存。

对Flux节点进行配置,这里分别对输入变量 , 生产图片模型-Flux.1-dev,生成图片的步数作了调整,可以根据自己的需要进行调整。
最后我们加入结束节点,节点输出变量为Flux/files Arrayp[File],然后就可以测试一下了。
解决中文生图问题
在测试的时候,可以看到对中文并不友好的现象,因为Flux是英文的,所以需要对中文进行处理。这里我们的思路是增加一个工作节点,让大模型把我们输入的中文转换成英文,然后再把英文传递给Flux节点。
Ollama增加Qwen2.5模型
有思路后我们直接开干,原来我们都使用的是DeepSeek-R1模型,是一个推理模型耗费时间比较长, 这里我们增加一个非推理模型QWen2.5。
直接到Ollama官网搜索QWen2.5模型,然后在搜索栏搜索QWen2.5,然后选择QWen2.5,根据你的电脑配置,选择一个你电脑可以跑的模型,我这里选择7b版本,然后复制命令ollama run qwen2.5:7b,在命令行输入命令,回车运行。

这个过程比较长,有4.7G的模型要进行下载,所以请耐心等待。
添加Ollama模型
Ollama下载完成后,还需要到设置下面的模型供应商然后添加一个Ollama模型。
模型名称为qwen2.5:7b,然后基础URL为http://host.docker.internal:11434,剩下的就不需要改了。

增加LLM节点
添加完Ollama模型后,我们在开始节点后面增加一个LLM节点,模型选择qwen2.5:7b,在节点的上下文部分选择UserText,然后在SYSTEM部分写下面的内容。
**核心功能**:你是一个翻译官,你需要把用户输入中文描述转化为符合SDXL规范的英文提示词.注意输出为纯英文,不要有任何汉字。
**转换规则**:
1. **四维结构**:
- [主体]:核心对象(如"赛博朋克女战士")
- [细节]:特征强化(如"霓虹纹身+机械义肢+金属反光")
- [风格]:艺术类型(如"吉卜力动画风+水墨渲染")
- [参数]:质量参数(如"8K分辨率+物理渲染引擎")
2. **构图指导**:
- 镜头类型:广角镜头/微距拍摄/俯视视角
- 灯光效果:电影级布光/霓虹背光/丁达尔效应
- 景深控制:浅景深突出主体/全景深场景构建
3. **优化规范**:
- 强制使用:超精细纹理|复杂光影层次|专业摄影术语
- 禁用词汇:避免"漂亮"等主观描述,改用"鲜艳色彩饱和度>90%"等量化表达
**范例演示**:
输入:水墨风格的竹林少女,雨中持油纸伞,发丝要有湿润感
输出:[Bamboo Forest Maiden], [Wet Hair Strands + Celadon-patterned Oil-paper Umbrella + Trickling Raindrops], [Ink Wash Rendering + Modern Lighting Treatment], [8K UHD + Octane Rendering], [Wide-angle Lens + Shallow Depth of Field]
把上面的用户输入换成UserText,然后到FLUX节点,修改输入变脸为LLM/text,然后点击保存。
这时候就可以查看测试了。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 web0432@126.com