为什么要打通 Dify 和 ComfyUI(也有人认为没有必要)?初步想法是要把控制和执行分开,脑袋是脑袋,四肢是四肢,专业的工具做专业的事情。打通有什么优势呢?最关键的是一个 Dify 流程可以调用很多的 ComfyUI 流程,每个 ComfyUI 流程仅仅完成一部分的创作工作。Dify 可以做到精准的 Prompt 控制,而 ComfyUI 可根据传入参数精准绘画。通过文生文、文生图、图生图、图生视频、视频合成、自动配音乐。这样就可以实现一键漫画、一键表情包、一键图文小说、甚至一键 Everything,从文本到视频生成一气呵成。总之,创作只有想不到的,没有做不到的。特别是硅基流动 BizyAir 云节点的实现,ComfyUI 可混合节点使用,费卡的放云端,其它的放本地。现在 BizyAir Ksampler 已经进入内测阶段,支持 LoRA、ControlNet、IPAdapter,使用方式与原生 ComfyUI 节点一致。
流程的永恒之道:通过 Dify 可以调动很多 ComfyUI 工作流,以及第三方的图像、视频、音频模型的 API 接口。真正实现了控制与执行的分离,协同完成内容创作。打通 Dify 和 ComfyUI 技术实现思路:(1)Dify 工作流 HTTP 请求节点;(2)Flask 封装 REST 接口;(3)REST 接口中调用导出的 ComfyUI 工作流 json 文件。其它要注意的是 Dify 给 ComfyUI 的 prompt 参数传递,以及 ComfyUI 生成的图像返回给 Dify。本文通过一个极简的例子,对打通 Dify 和 ComfyUI 绘画进行了尝试。

一.HTTP 请求节点
由于仅仅作为例子演示,所以只使用了开始、HTTP 请求和直接回复 3 个节点。最终生成效果,如下所示:

二.Flask 封装 REST 接口
需要注意的是通过 send_from_directory()返回图片文件:
@app.route('/dify_comfyui', methods=['GET']) def dify_comfyui(): # 获取提示词参数 prompt = request.args.get('prompt') # 设置工作目录和项目相关的路径 seed = 15465856 generate_clip(prompt, seed, 1) # 假设生成的图片文件名为 '1_15465856_YYYYMMDDHHMMSS.png' image_filename = f"1_{seed}_{datetime.now().strftime('%Y%m%d%H%M%S')}.png" # 返回图片文件 return send_from_directory(app.static_folder, image_filename)

三.调用 ComfyUI 工作流
启用开发模式选项,才能显示保存(API 格式):

将工作流保存为 workflow_api.json 文件:

要把 HTTP 请求中的 prompt 参数传进来,替换 workflow_api.json 中的参数:

在中 HTTP 请求 /dify_comfyui?prompt=bord 中,调用 generate_clip(prompt, seed, 1) 方法,在该方法中通过 ws 和 ComfyUI 通信:

写在最后
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。


二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!

三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。


四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。


2154

被折叠的 条评论
为什么被折叠?



