网站首页 > java教程 正文
ComfyUI 是一个强大且模块化的stable diffusion图形用户界面(GUI),它采用图/节点/流程图界面,让用户可以设计和执行高级stable diffusion管道,而无需编写任何代码。
它提供一个用户友好的图形界面,可以将多个Stable Diffusion模型及其Hypernetwork组合成一个完整的工作流(Workflow),实现自动化的图像生成和优化。
ComfyUI的主要功能包括:
- 基于节点的图形界面构建Workflow
- 支持Stable Diffusion 1.x和2.x版本
- 支持各种模型的组合,如Upscaler、Denooiser等
- 提供Workflow的保存、加载功能
- 一键从PNG生成完整Workflow
- 运行时优化,只重新执行修改过的部分
下图是ComfyUI的默认文生图流程:
相对于Stable Diffusion WebUI,ComfyUI在算法流程编排上,具有高度灵活性以及可扩展性,能够非常好的胜任一些复杂图像算法的编排。比如,对于一个熟练的算法工程师或者图像编辑人员,原来您需要在Stable Diffusion WebUI上反复操作的N个步骤,可以在ComfyUI上固化成一个流程模板。每次针对相同的复杂场景的操作,在ComfyUI上只需要加载之前已保存的流程模板,就可以快速复用,甚至是一键操作。下图是一个笔者处理过的一个稍微复杂的流程缩略图,大家感受一下:
即使是这种稍微复杂一点的图像处理流程,在Stable Diffusion WebUI上需要反复操作十多次,非常费时费力,而且步骤上也很容易出错。
既然,ComfyUI这么好用,那对于传统以Java为基础的后端程序,是否可以与之集成呢?
今天,小编就给你们介绍一款新的开源代码库:pixel-force-open-client,地址:https://github.com/hiforce/pixel-force-open-client
在使用该开源库之前,我们首先需要对ComfyUI做一些设置。打开ComfyUI,点击设置(见下图红框按钮):
在弹出的界面中,把“启用开发者模式”选中,如下:
在启用开发者模式下,管理面板上就会多出一个 “Save(API Format)”按钮。
在ComfyUI中,编辑好流程之后,可以依次点击 Save 以及 Save(API Format)按钮。会分别保存并下载 workflow.json和workflow-api.json。前者是您编辑好的流程的定义文件,而后者则是设置流程中用到的变量的数据文件。
然后,我们在Java工程中,引入pixel-force-open-client客户端,如下:
<dependency>
<groupId>com.hiforce.pixel.open</groupId>
<artifactId>pixel-force-open-client</artifactId>
<version>1.0.3</version>
</dependency>
然后,我们参考该开源库提供的样例 GeneralPromptSample03.java:
public class GeneralPromptSample03 extends BaseLocalSample {
public static void main(String[] args) {
GeneralPromptSample03 sample = new GeneralPromptSample03();
sample.run();
}
@Override
public void execute() throws Exception {
String workflowJSON = getTextFromResource("/general/01-default-workflow.json");
String workflowApiJSON = getTextFromResource("/general/01-default-workflow-api.json");
WorkflowApi workflowApi = JSON.parseObject(workflowApiJSON, WorkflowApi.class);
workflowApi.setNodeFieldValue(6, "text",
"1girl, beauty, long hair, close shot," +
"happy, walking in the park, upper body, masterpiece,absurdres,intricate,high detail");
SimpleComfyInvoker invoker = new SimpleComfyInvoker("http://localhost:8100");
QueueResult queueResult = invoker.startQueuePrompt(workflowApi, workflowJSON);
System.out.println("General Prompt invoke result:" + JSON.toJSONString(queueResult));
waitAndQueryTaskExecuteResult(queueResult.getPromptId(), invoker);
}
}
代码中,我可以操作WorkflowApi对象,对流程的参数进行设置。比如,设置关键词、设置重绘强度、设置采样算法、设置选择的底模等等。通过SimpleComfyInvoker对指定的流程文件,以及流程参数在指定的ComfyUI实例上执行流程。在waitAndQueryTaskExecuteResult方法中,我们提供了定时查询任务进展以及处理结果的样例。运行程序效果如下:
基于Pixcel Force Open Client构建场景应用
pixel-force-open-client不仅仅提供了可以和自建的ComfyUI容器进行集成,他还提供了和PixelForce官网的集成。PixelForce是原力在线公司构建的一个在线AI绘图工具(原力创绘)。原力创绘提供了一些面向特定场景的AI绘图功能,比如:
- 在线虚拟模特的留衣重绘
- 智能背景重绘
- 平铺衣服图秒变穿搭图
- 高质量白底图、指定背景图
- 等等
下图是使用PixelForce进行智能背景替换的操作界面:
可以看到,这个操作界面上,有丰富的参数可以设置,使用起来还是非常方便的。现在,通过pixel-force-open-client也可以直接使用API方式,来生成和界面操作一致的成品图了。而且,也非常容易和自己的系统快速集成。
对于这么一款ComfyUI开源Java客户端,有兴趣的同学赶紧用起来吧!
猜你喜欢
- 2024-09-10 带你入门Java之每日3分钟Java——初识Java
- 2024-09-10 述说Java与.Net (Core)。(.net java区别)
- 2024-09-10 针对Java开发大神而言,这9个网站必不可少
- 2024-09-10 Java:Java快速入门(java快速入门教程)
- 2024-09-10 windows系统的服务器快速部署java项目环境地址
- 2024-09-10 Java基础,Java方法调用、方法重载、参数及Java的递归
- 2024-09-10 初识Java(初识java的分析总结)
- 2024-09-10 使用java做爬虫获取网络资源下载403错误解决办法
- 2024-09-10 优秀Java程序员应该知道的20个实用开源库
- 2024-09-10 GitHub精选 | 一个小而全的Java工具类库
你 发表评论:
欢迎- 最近发表
-
- java8的stream使用小示例(java stream的用法)
- Java 中的 Lambda 表达式深入解析:从语法糖到高阶函数
- 实战解析Android架构设计原则(android的架构)
- 搭建mcp服务器用java17,可是项目开发用的是java8怎么实现?
- Java Stream:集合处理的api(java集合流操作)
- Java 8新特性全面剖析:让编程变得更简单优雅
- Java 8新特性全面解析与最佳实践:掌握未来编程的艺术
- Java 8日期时间API新特性揭秘与深度解析
- Java 8 Stream API 详解(java.stream)
- Java机器学习库(Java ML)(二、聚类)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)