用Dify+Qwen-Image实现文生图与图生图
通过Dify工作流集成阿里Qwen-Image模型,实现文本生成图像和图像编辑功能,结合插件配置与LLM提示词优化,提升生成效果,操作简单且支持免费体验。
用Dify+Qwen-Image实现文生图与图生图
在AIGC(人工智能生成内容)浪潮席卷创作领域的今天,图像生成早已不再是“能不能画出来”的问题,而是“能否精准表达意图”的挑战。越来越多的创作者和开发者希望借助AI工具快速产出高质量视觉内容,但现实往往不尽如人意:提示词写得不够专业,模型理解偏差,输出结果失真或风格错乱——这些问题依然普遍存在。
而随着阿里巴巴通义千问团队推出 Qwen-Image 系列模型,并通过魔搭社区开放API接口,我们终于迎来了一款真正具备工业级表现力的国产图像生成引擎。它不仅支持高分辨率文生图,更在图生图、局部重绘、中英文混合提示解析等方面展现出极强的理解能力。结合 Dify 这类低代码AI工作流平台,我们可以轻松构建一个无需编程、可视化编排的“图文双驱”智能体。
本文将带你从零搭建一套完整的图像生成系统,融合LLM提示词优化、条件分支控制、文件上传处理等核心能力,实现:
- 用户输入简单描述 → 自动扩写为专业提示词 → 输出高清图像
- 支持上传图片 + 编辑指令 → 实现局部修改、风格迁移、画面扩展
- 全流程可配置、可复用、可分享,适合个人创作与团队协作
整个过程无需写一行代码,只需在 Dify 中完成节点连接与参数设置即可上线部署。
核心设计逻辑:如何让一个工作流同时支持两种模式?
要在一个统一的工作流中灵活处理“文字生成图像”和“图像编辑”两种任务,关键在于动态识别用户输入类型,并据此路由到不同的处理路径。
我们的整体架构如下:
开始节点
↓
[判断是否上传了图片]
├─ 有图 → 走图生图流程(调用 qwen-image-edit)
└─ 无图 → 走文生图流程(先由LLM优化提示词,再调用 qwen-image)
这个看似简单的判断背后,其实涉及多个关键技术点的协同:
- 如何让用户既能输入文本又能上传文件?
- 如何准确判断输入状态并分流?
- 如何利用大语言模型提升原始描述的专业性?
- 如何确保不同分支的结果能统一返回给前端?
Dify 提供了强大的可视化编排能力,让我们可以用“搭积木”的方式把这些模块拼接起来。接下来我们就一步步拆解实现细节。
第一步:安装 Qwen-Image 插件
进入 Dify 的插件市场,搜索关键词 “Qwen-Image”,你会看到两个官方插件:
qwen-image:用于文生图(Text-to-Image),支持 1024×1024 分辨率输出qwen-image-edit:用于图生图(Image-to-Image),支持图像上传 + 编辑指令,实现区域重绘、风格迁移、图像扩展等功能
点击安装后,需要进行 API 授权才能调用远程服务。
🔍 小贴士:这两个插件本质上是封装了对魔搭 ModelScope 平台 Qwen-Image 模型的 API 请求,因此你不需要自己部署模型,直接使用云端算力即可。
第二步:获取魔搭 API Key 并完成授权
访问 魔搭官网,登录账号后前往「个人中心」→「API Key 管理」页面,创建一个新的 Access Token。
复制该密钥,回到 Dify 插件设置页,粘贴到对应插件的 API Key 字段中保存。
⚠️ 注意事项:
- 请妥善保管你的 API Key,避免泄露
- 当前 Qwen-Image 系列模型在魔搭上提供免费额度,适合开发测试使用
- 若用于生产环境,请关注调用频率限制与计费策略
授权完成后,即可在工作流中直接调用这些插件节点。
开始节点:接收多模态输入
创建工作流的“开始”节点,我们需要支持两种输入方式:
| 字段名 | 类型 | 说明 |
|---|---|---|
query |
文本输入 | 用户的文字描述或编辑指令 |
image |
文件上传 | 支持 JPG/PNG 格式,最大 5MB,用于图生图场景 |
虽然理论上可以通过判断 image 是否为空来自动识别模式,但在实际交互中建议增加一个显式的操作类型选择字段:
{
"type": "select",
"options": [
{ "label": "文字生成图像", "value": "text_to_image" },
{ "label": "图像编辑", "value": "image_to_image" }
]
}
这样做的好处是:
- 避免因网络延迟导致图片未及时上传而误判流程
- 提升用户体验清晰度,减少误操作
- 便于后续扩展更多模式(如批量生成、模板套用)
不过为了简化演示,我们仍以 image 字段是否存在作为主要判断依据。
条件分支:智能路由用户请求
添加一个“条件”节点,设置如下规则:
如果 {{#start.image#}} 存在且不为空
→ 路由到【图生图】分支
否则
→ 路由到【文生图】分支
Dify 的条件节点支持丰富的表达式语法,包括空值判断、字符串匹配、数值比较等。这里我们使用的是最基础的存在性检查,足以满足当前需求。
一旦配置完成,系统就能根据用户是否上传图片,自动跳转至相应的处理链路。
分支一:文生图流程(Text-to-Image)
大多数普通用户的原始描述都较为简略,比如“一只猫在沙发上”,这种提示词很难激发 Qwen-Image 的全部潜力。为了让生成效果更接近专业水准,我们必须引入提示词优化机制。
引入 LLM 节点进行智能扩写
我们在文生图路径中加入一个 LLM 大语言模型节点,专门负责将模糊描述转化为结构化、细节丰富的图像生成指令。
选用魔搭社区提供的高性能开源模型:qwen3-Coder-30B-A3B-Instruct,配合精心设计的 Prompt 模板,实现高质量提示词生成。
系统提示词(System Prompt)
# Role: Qwen-Image文生图提示词专家
## Profile
- Author: 技术前线
- Version: 1.1
- Language: 中文
- Description: 专精于 Qwen-Image 模型的提示词工程,擅长将普通描述转化为高精度图像生成指令
## Skills
1. 精通 Qwen-Image 的语义解析机制与多语言支持特性
2. 能够补全人物姿态、物体材质、光影氛围等细节
3. 擅长运用正向表达替代否定句式
4. 熟悉摄影构图术语与艺术风格分类
5. 支持中英混输提示词优化
## Rules
1. 必须遵循七大原则:
- 抓重点:突出主体与核心动作
- 补特征:人写表情姿态,物写颜色材质
- 写文字:引号标注 + 位置字体说明
- 定风格:统一视觉基调(如赛博朋克、水墨风)
- 理空间:明确左右上下前后关系
- 正向写:禁用“不要”“避免”,改用“纯色背景”“留白充足”
- 去赘余:不添加画面无关元素
2. 使用万能模板骨架组织输出:
[主体] + [环境/背景] + [构图/镜头] + [风格/质感] + [光线/色调] + [空间/关系] + [需生成文字]
3. 输出必须为单段自然语言,不可分点列出
## Workflow
1. 分析用户意图,提取关键实体
2. 补充合理细节(默认室内光照、居中构图等)
3. 转换所有负面表达为正面描述
4. 加入适合的艺术风格建议(若未指定则推荐匹配风格)
5. 输出符合 Qwen-Image 最佳实践的完整提示词
## Example
用户输入:小狗在草地上玩飞盘
优化后提示词:一只金毛犬跳跃捕捉红色飞盘,欢快表情,阳光洒落草地,远景广角拍摄,纪实摄影风格,自然 daylight 光线,狗位于画面中央偏左,绿色草坪延伸至远方,“Play Time”文字位于右上角,无衬线粗体、白色描边
## Initialization
我是 Qwen-Image 提示词专家,请告诉我你想生成什么样的图像?我会为你生成精准、专业的描述语言。
用户提示词(User Prompt)
请根据用户输入的 "{{#sys.query#}}",生成一段适用于 Qwen-Image 模型的专业图像生成提示词。
将此节点命名为【提示词优化】,其输出将作为下一步插件调用的核心参数。
💡 工程经验:提示词的质量直接影响图像生成效果。很多失败案例并非模型不行,而是“喂”的指令太粗糙。通过LLM预处理,相当于给模型加了一个“翻译层”,极大提升了可控性和一致性。
调用 qwen-image 插件生成图像
接下来添加“工具”节点,选择已安装的 qwen-image 插件。
配置参数如下:
| 参数 | 值 |
|---|---|
| Prompt | {{#llm_optimized_prompt.output#}} |
| Size | 1024x1024 |
| Style | Photographic(也可选 Digital Art / Anime / Chinese Painting) |
执行后,插件会向魔搭平台发起异步请求,通常在几秒内返回一张高分辨率图像的公网链接。
你可以在此基础上进一步封装结果,例如添加水印、压缩尺寸、归档存储等,但本次我们保持简洁,直接传递图像地址。
分支二:图生图流程(Image-to-Image)
对于已有图像的编辑需求,我们使用 qwen-image-edit 插件来实现像素级操控。
添加工具节点:调用 qwen-image-edit
选择插件 qwen-image-edit,配置如下:
| 参数 | 值 |
|---|---|
| Image URL | {{#start.image#}} |
| Instruction | {{#sys.query#}} |
| Output Size | 1024x1024 |
| Mode | inpainting(区域重绘) 或 outpainting(图像扩展),也可设为 auto 自动识别 |
⚠️ 注意事项:
- 当前版本要求图片可通过公网访问。如果你本地测试上传的图片是临时路径,可能无法被远程模型读取。
- 解决方案:使用临时 CDN 服务(如 sm.ms)上传图片并获取外链,或将 Dify 部署在支持持久化存储的环境中。
该插件的强大之处在于支持多种编辑模式:
- Inpainting(局部重绘):修改图像某一部分,如“给猫咪戴上帽子”
- Outpainting(图像扩展):延展画面边界,如“向左右扩展成群山云海”
- Style Transfer(风格迁移):保留结构不变,改变艺术风格,如“照片转水墨画”
这一切都基于同一个API接口,只需调整指令和模式即可切换功能。
结束节点:统一输出图像结果
最后添加一个“直接回复”节点,合并两条路径的输出。
使用模板语法判断来源并渲染图像:
🎉 图像已生成!
{{#if image_to_image_result#}}

{{#else if text_to_image_result#}}

{{/if}}
注意变量命名需与上游节点一致。你可以在每个分支末尾添加“赋值”节点,将插件返回的图像链接统一映射为 image_result,以便下游统一处理。
此外,还可以附加一些元信息,如:
- 本次使用的提示词
- 生成耗时
- 模型版本号
- 安全审核状态(如有)
这有助于后期调试与合规审计。
实际测试案例展示
案例一:文生图 + 提示词优化
用户输入:
一个宇航员在月球上看地球
经 LLM 优化后的提示词:
一名身穿白色航天服的宇航员,头盔反光映出蓝色地球,站立于灰色月球表面,脚下有细碎陨石坑,远景为浩瀚星空与悬浮的地球,广角低角度拍摄,科幻电影质感,冷色调主光搭配地球反射柔光,宇航员位于画面左侧三分线,“One Small Step”文字位于右下角,科技感字体、银白色发光效果
生成效果:
图像准确呈现了孤独感与宇宙尺度,地球位置、文字样式均符合预期,细节丰富,色彩层次分明。尤其是头盔反射中的地球细节,体现了 Qwen-Image 对复杂语义的精准捕捉能力。
案例二:图生图 - 区域编辑
原图:一只坐在沙发上的棕色泰迪熊
编辑指令:让它戴一顶红色圣诞帽,背景变成雪景
调用 qwen-image-edit 后结果:
成功在头部区域生成红色绒球帽,背景树木披雪,窗外飘起雪花,整体节日氛围浓厚,边缘融合自然,无明显拼接痕迹。
这说明模型不仅能理解“戴帽子”这一动作的空间合理性,还能协调新元素与原有光照、阴影的关系,达到近乎无缝的效果。
案例三:图像扩展(Outpainting)
原图:一座孤塔立于山顶,左右两侧为空白
指令:向左右扩展画面,增加山脉与云海
结果:
画面横向延展后形成连绵群山,云雾缭绕,视角开阔,风格一致,仿佛原图本就如此。
这种能力特别适用于海报设计、全景插画制作等需要宽幅构图的场景。
可持续演进的方向
这套工作流虽已具备实用价值,但仍有不少优化空间,以下是几个值得尝试的进阶方向:
✅ 构建提示词模板库
可在 LLM 节点前增加“风格选择”下拉框(如国风、极简、蒸汽波),动态注入不同风格引导词,实现一键风格化输出。
例如选择“水墨风”时,自动追加:“中国山水画风格,淡墨晕染,留白充足,题字印章布局”。
✅ 支持多轮迭代编辑
结合 Dify 的对话记忆功能,允许用户对生成图像继续提问:“让天空变红一点” → 自动触发新一轮图生图请求,实现连续优化。
这能让用户像与设计师沟通一样逐步逼近理想效果。
✅ 批量生成支持
接入数据库或表格输入,批量导入多个描述语句,自动循环生成图像集,适用于广告素材、电商主图、PPT配图等高频需求场景。
✅ 安全过滤机制
在提示词优化阶段加入敏感内容检测规则,例如屏蔽暴力、色情、政治相关词汇,防止生成违规图像,保障应用合规性。
写在最后
通过本次实践,我们验证了 Dify + Qwen-Image 组合的巨大潜力:前者提供了低门槛、可视化的流程编排能力,后者则带来了强大且稳定的图像生成性能。两者结合,使得即使是非技术人员也能快速构建专业级 AIGC 应用。
更重要的是,这套方案完全基于开源生态与免费API资源,极大降低了个人开发者和中小企业的技术准入门槛。无论是创意设计师做原型构思,教育工作者制作教学插图,还是自媒体运营批量产出品宣素材,都能从中受益。
未来,随着 Qwen-Image 系列模型持续迭代(如支持视频生成、3D纹理生成、更高分辨率输出),我们可以在此基础上不断拓展新的应用场景——也许下一次,你就可以用它来自动生成短视频封面、虚拟商品陈列、甚至整套绘本故事。
真正的“人人皆可创作”时代,正在到来。
🔗 在线体验地址:https://dify.yourdomain.com/chat/qwen-image-flow
📎 GitHub 配置模板:https://github.com/ai-workflows/dify-qwen-image
欢迎 fork、改进并分享你的创意玩法!
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)