【AI前沿】就在刚刚!FLUX官方放出大招...

前言

就在昨天,黑色森林官方发布了几个重磅工具,补全了FLUX生态的短板。 这下子官方直接下场了,一整就出个大活~

FLUX工具

这次开放的几个工具有四个:

  • FLUX.1 Fill: 局部重绘和扩图填充:

  • FLUX.1 Depth: 深度控制:

  • FLUX.1 Canny:边缘控制

  • FLUX.1 Redux:通过提示词进行画面元素和风格重绘,也可以实现类似IPA的效果。

对,常用的controlnet已经有几个了,其中还有Redux工具,可以直接通过提示词方式进行风格重绘、元素变化等。我们分别看看官方介绍。

这份完整版的AI绘画全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

填充工具

其实就是inpaint功能,可以直接进行扩图和局部重绘。

重绘

扩图

官方放出的数据,推理的有效率真高~👍

「Canny/Depth」

作为controlnet最常用的两个控制方法,此工具真是个flux生态的大杀器。虽然前面已经有效果不错的模型,但是官方出品的明显效果更佳!

「Redux」

通过提示词直接进行风格重绘和元素变化。

同样的,数据在一众生图模型之上!

如何使用?

官方开放了模型权重,地址扫下图:
也开放了API的调用。

ComfyUI社区也第一时间做了适配。

实在是开源之福!我为大家试试效果。

ComfyUI使用FLUX.1 Tools

❝ 需要先将ComfyUI更新到最新版。❞

Fill工具

下载模型

https://huggingface.co/black-forest-labs/FLUX.1-Fill-dev/tree/main,现在填充模型,放在ComfyUI/models/unet,模型比较大,可以为是基于flux dev专门训练的重绘模型。

工作流

效果

原图:

局部重绘

图像不够清晰,是因为机器性能扛不住了,所以缩小尺寸重绘的🥱。4090也扛不住啊~

圣诞树

换装

换椅子

抱着猫

扩图

Redux工具

下载 Redux 模型到comfyui/models/style_models。地址扫下图:

工作流

使用原图的风格,生成一个新的图像。

另一个风格迁移。

效果

Depth/Canny 工具

分别下载模型,工作流是一样的。

depth/canny的效果我就不跑了,显卡扛不住,有点慢~😂。大家都可以在这里👇找到工作流。

关于AI绘画技术储备

学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门AI绘画是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:stable diffusion安装包、stable diffusion0基础入门全套PDF,视频学习教程。带你从零基础系统性的学好AI绘画!

### 零基础AI绘画学习资源介绍

👉stable diffusion新手0基础入门PDF👈

(全套教程文末领取哈)
在这里插入图片描述

👉AI绘画必备工具👈

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉AI绘画基础+速成+进阶使用教程👈

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

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉12000+AI关键词大合集👈

在这里插入图片描述

这份完整版的AI绘画全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
### 使用 `Flux.just`、`Flux.create` 和 `Flux.subscribe` #### 创建简单的 Flux 数据流 通过 `Flux.just` 方法可以快速创建一个包含固定数量元素的数据流。此方法适用于已知所有要发布的项的情况。 ```java import reactor.core.publisher.Flux; public class JustExample { public static void main(String[] args) { Flux<String> flux = Flux.just("Hello", "Reactive", "World") .doOnNext(System.out::println) .doOnComplete(() -> System.out.println("Flux completed")); flux.subscribe(); } } ``` 上述代码展示了如何利用 `just` 方法发布一系列字符串并订阅该序列,最终完成时会打印一条消息表明已完成[^1]。 #### 动态生成数据流 对于更复杂的应用场景,可能需要动态地生成事件或基于某些条件触发新的值发出,则可采用 `create` 方式来自定义生产者逻辑: ```java import reactor.core.publisher.FluxSink; import reactor.core.publisher.Flux; public class CreateExample { private static final int MAX_COUNT = 5; public static void main(String[] args) throws InterruptedException { Flux<Integer> dynamicNumbers = Flux.<Integer>create(sink -> { try { for (int i = 0; i < MAX_COUNT && !sink.isCancelled(); ++i) { sink.next(i); Thread.sleep(1000); // Simulate delay between emissions. } sink.complete(); } catch(Exception ex){ sink.error(ex); } }); dynamicNumbers.doOnNext(System.out::println).subscribe(); // Keep application alive to observe the emission process. Thread.currentThread().join(MAX_COUNT * 1000L + 1000L); } } ``` 这段代码说明了怎样使用 `create` 来建立自定义的行为模式,在这里模拟了一个每隔一秒发射一次整数直到达到最计数值的过程。 #### 订阅与消费数据 一旦有了 Flux 发布器之后就可以调用其 `subscribe()` 方法来进行监听和处理接收到的信息。这一步骤非常重要因为它启动了整个反应链路的实际执行过程。 ```java flux.subscribe( value -> System.out.println("Received: " + value), // onNext handler error -> System.err.println("Error occurred: " + error), // onError handler () -> System.out.println("Completed") // onComplete handler ); ``` 在这个例子中,当有新条目到达时就会被传递给第一个参数指定的方法;如果遇到异常则交给第二个参数对应的函数去处理错误情况;而第三个闭包会在没有任何更多元素可供接收的时候被执行用来通知消费者已经结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值