Consistent Cartoon Maker开发以及优化记录
1.开发记录
1.1界面
选择对应的卡通形象
输入对应角色的提示词
1.2工作流绑定元素
直接将角色图片以及输入的提示词直接传送到comfyui工作流进行生图
2.优化记录
2.1优化后界面
直接选择模板的角色预览图和场景的预览图
2.2 效果
当用户选择角色以及场景的预览图之后,会将角色的图片以及角色名字(角色预览图label)和场景预览图对应label传入comfyui的参数中,在comfyui进行提示词拼接
2.2.1优化步骤
在全局context中将所有角色预览图和场景预览图上传好
在state的output中将相应的预览图和label放入枚举变量中
{{dict(zip(( Context.DonaldDuck, Context.Mickey Mouse, Context.Spider Man, Context.Doraemon, Context.Dead Pool, Context.Goofy, Context.Cinderella, Context.Elsa, Context.Snow White, Context.Thor), ('Donald Duck', 'Mickey Mouse','Spider-Man','Doraemon','Dead Pool','Goofy','Cinderella','Elsa','Snow White','Thor')))}}
{{dict(zip(( Context.Street, Context.Beach, Context.Sofa, Context.Park), ('Street','Beach','Sofa','Park')))}}
在预览图的input元素属性编辑窗口进行label动态获取以及value全局变量的绑定,场景input元素也是同理
{{Consistent Image.enum[ Context.DonaldDuck]}}
将前端的元素传入comfyui,此处有角色预览图,角色预览图的label,场景的label
场景label 获取 {{Consistent Image.enum_scen[ Input.Scene]}}
角色label 获取 {{Consistent Image.enum[ Input.Character]}}
这个地方的场景只是获取了对应的简写,而提示词是通过节点text switch case将简单的场景label换成提示词短句,再和角色label进行拼接,合成最后的提示词
3.相关参考文件
tiancheng老师的模板
App builder文件
未动态获取label版本
动态获取label优化版本
ComfyUI文件basic预览图
ComfyUI文件自定义上传图片加手写提示词