在DCC软件中使用ComfyUI
在DCC软件中使用ComfyUI
lingyun前段时间接到个需求,希望能在nuke里使用comfyui,比如文生图,替换人脸等。
后来在网上搜到了ComfyUINuke,就想了想能不能把它用在maya或者houdini里。
扒了扒comfyui和上面说到的项目,分享一些心得。
省流结论: ComfyUI提供了REST API,我们可以在dcc软件中写一个图形界面,通过API提交命令给ComfyUI。这样制作人员可以在Maya,Houdini,Nuke中来调用comfyui工作流。
ComfyUI介绍
项目地址: https://github.com/magnoborgo/ComfyUINuke
ComfyUI是一个基于节点式的stable diffusion绘图工具WebUI。
对于想玩玩AI图像生成(测测家里显卡性能)的小伙伴可以试试。
- 本地计算,无需网络
- 开源免费
基本工作流:文生图
图生图
肖像生成
等等网上能找到很多别人搭建的工作流,可以直接导入到自己的工程中
ComfyUI安装
如果你是n卡且是windows系统,可以直接下载官方打包好的便携版。
https://github.com/comfyanonymous/ComfyUI/releases/tag/latest
双击运行bat文件即可启动服务。(注意看一下README文件,要下载大模型)
或者可以使用pinokio一键安装(推荐),上面还有很多AI相关的应用可以体验。
具体安装方法可以网上搜搜,安装时对于网络有一定要求,不然安装过程会很慢。
如何API调用
其实看官方参考就好
https://github.com/comfyanonymous/ComfyUI/blob/master/script_examples/basic_api_example.py
我自己是看的ComfyUINuke这个项目,然后扒了一下核心的代码。
首先找到要使用的工作流文件(json格式),以最简单的basic_workflow.json
为例。
(太长这里截一部分)
ComfyUI的每个参数设置,都以字典的形式存在这个文件里。
1 | "6": { |
在python中读取这个文件,然后修改里面的某些参数,比如提示词,长度宽度,采样等。
1 | prompt['3']['inputs']['seed'] = seed |
最后交给comfyui服务去计算
1 | p = {'prompt': prompt} |
内容差不多就这些,写到一半不想写了,天气太热,吃个西瓜。