| from diffsynth import ModelManager, FluxImagePipeline, ControlNetConfigUnit, download_models, download_customized_models |
| import torch |
| from PIL import Image |
| import numpy as np |
|
|
|
|
|
|
| def example_1(): |
| model_manager = ModelManager(torch_dtype=torch.bfloat16, model_id_list=["FLUX.1-dev", "jasperai/Flux.1-dev-Controlnet-Upscaler"]) |
| pipe = FluxImagePipeline.from_model_manager(model_manager, controlnet_config_units=[ |
| ControlNetConfigUnit( |
| processor_id="tile", |
| model_path="models/ControlNet/jasperai/Flux.1-dev-Controlnet-Upscaler/diffusion_pytorch_model.safetensors", |
| scale=0.7 |
| ), |
| ]) |
|
|
| image_1 = pipe( |
| prompt="a photo of a cat, highly detailed", |
| height=768, width=768, |
| seed=0 |
| ) |
| image_1.save("image_1.jpg") |
|
|
| image_2 = pipe( |
| prompt="a photo of a cat, highly detailed", |
| controlnet_image=image_1.resize((2048, 2048)), |
| input_image=image_1.resize((2048, 2048)), denoising_strength=0.99, |
| height=2048, width=2048, tiled=True, |
| seed=1 |
| ) |
| image_2.save("image_2.jpg") |
|
|
|
|
|
|
| def example_2(): |
| model_manager = ModelManager(torch_dtype=torch.bfloat16, model_id_list=["FLUX.1-dev", "jasperai/Flux.1-dev-Controlnet-Upscaler"]) |
| pipe = FluxImagePipeline.from_model_manager(model_manager, controlnet_config_units=[ |
| ControlNetConfigUnit( |
| processor_id="tile", |
| model_path="models/ControlNet/jasperai/Flux.1-dev-Controlnet-Upscaler/diffusion_pytorch_model.safetensors", |
| scale=0.7 |
| ), |
| ]) |
|
|
| image_1 = pipe( |
| prompt="a beautiful Chinese girl, delicate skin texture", |
| height=768, width=768, |
| seed=2 |
| ) |
| image_1.save("image_3.jpg") |
|
|
| image_2 = pipe( |
| prompt="a beautiful Chinese girl, delicate skin texture", |
| controlnet_image=image_1.resize((2048, 2048)), |
| input_image=image_1.resize((2048, 2048)), denoising_strength=0.99, |
| height=2048, width=2048, tiled=True, |
| seed=3 |
| ) |
| image_2.save("image_4.jpg") |
|
|
|
|
| def example_3(): |
| model_manager = ModelManager(torch_dtype=torch.bfloat16, model_id_list=["FLUX.1-dev", "InstantX/FLUX.1-dev-Controlnet-Union-alpha"]) |
| pipe = FluxImagePipeline.from_model_manager(model_manager, controlnet_config_units=[ |
| ControlNetConfigUnit( |
| processor_id="canny", |
| model_path="models/ControlNet/InstantX/FLUX.1-dev-Controlnet-Union-alpha/diffusion_pytorch_model.safetensors", |
| scale=0.3 |
| ), |
| ControlNetConfigUnit( |
| processor_id="depth", |
| model_path="models/ControlNet/InstantX/FLUX.1-dev-Controlnet-Union-alpha/diffusion_pytorch_model.safetensors", |
| scale=0.3 |
| ), |
| ]) |
|
|
| image_1 = pipe( |
| prompt="a cat is running", |
| height=1024, width=1024, |
| seed=4 |
| ) |
| image_1.save("image_5.jpg") |
|
|
| image_2 = pipe( |
| prompt="sunshine, a cat is running", |
| controlnet_image=image_1, |
| height=1024, width=1024, |
| seed=5 |
| ) |
| image_2.save("image_6.jpg") |
|
|
|
|
| def example_4(): |
| model_manager = ModelManager(torch_dtype=torch.bfloat16, model_id_list=["FLUX.1-dev", "InstantX/FLUX.1-dev-Controlnet-Union-alpha"]) |
| pipe = FluxImagePipeline.from_model_manager(model_manager, controlnet_config_units=[ |
| ControlNetConfigUnit( |
| processor_id="canny", |
| model_path="models/ControlNet/InstantX/FLUX.1-dev-Controlnet-Union-alpha/diffusion_pytorch_model.safetensors", |
| scale=0.3 |
| ), |
| ControlNetConfigUnit( |
| processor_id="depth", |
| model_path="models/ControlNet/InstantX/FLUX.1-dev-Controlnet-Union-alpha/diffusion_pytorch_model.safetensors", |
| scale=0.3 |
| ), |
| ]) |
|
|
| image_1 = pipe( |
| prompt="a beautiful Asian girl, full body, red dress, summer", |
| height=1024, width=1024, |
| seed=6 |
| ) |
| image_1.save("image_7.jpg") |
|
|
| image_2 = pipe( |
| prompt="a beautiful Asian girl, full body, red dress, winter", |
| controlnet_image=image_1, |
| height=1024, width=1024, |
| seed=7 |
| ) |
| image_2.save("image_8.jpg") |
|
|
|
|
|
|
| def example_5(): |
| model_manager = ModelManager(torch_dtype=torch.bfloat16, model_id_list=["FLUX.1-dev", "alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta"]) |
| pipe = FluxImagePipeline.from_model_manager(model_manager, controlnet_config_units=[ |
| ControlNetConfigUnit( |
| processor_id="inpaint", |
| model_path="models/ControlNet/alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta/diffusion_pytorch_model.safetensors", |
| scale=0.9 |
| ), |
| ]) |
|
|
| image_1 = pipe( |
| prompt="a cat sitting on a chair", |
| height=1024, width=1024, |
| seed=8 |
| ) |
| image_1.save("image_9.jpg") |
|
|
| mask = np.zeros((1024, 1024, 3), dtype=np.uint8) |
| mask[100:350, 350: -300] = 255 |
| mask = Image.fromarray(mask) |
| mask.save("mask_9.jpg") |
|
|
| image_2 = pipe( |
| prompt="a cat sitting on a chair, wearing sunglasses", |
| controlnet_image=image_1, controlnet_inpaint_mask=mask, |
| height=1024, width=1024, |
| seed=9 |
| ) |
| image_2.save("image_10.jpg") |
|
|
|
|
|
|
| def example_6(): |
| model_manager = ModelManager(torch_dtype=torch.bfloat16, model_id_list=[ |
| "FLUX.1-dev", |
| "jasperai/Flux.1-dev-Controlnet-Surface-Normals", |
| "alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta" |
| ]) |
| pipe = FluxImagePipeline.from_model_manager(model_manager, controlnet_config_units=[ |
| ControlNetConfigUnit( |
| processor_id="inpaint", |
| model_path="models/ControlNet/alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta/diffusion_pytorch_model.safetensors", |
| scale=0.9 |
| ), |
| ControlNetConfigUnit( |
| processor_id="normal", |
| model_path="models/ControlNet/jasperai/Flux.1-dev-Controlnet-Surface-Normals/diffusion_pytorch_model.safetensors", |
| scale=0.6 |
| ), |
| ]) |
|
|
| image_1 = pipe( |
| prompt="a beautiful Asian woman looking at the sky, wearing a blue t-shirt.", |
| height=1024, width=1024, |
| seed=10 |
| ) |
| image_1.save("image_11.jpg") |
|
|
| mask = np.zeros((1024, 1024, 3), dtype=np.uint8) |
| mask[-400:, 10:-40] = 255 |
| mask = Image.fromarray(mask) |
| mask.save("mask_11.jpg") |
|
|
| image_2 = pipe( |
| prompt="a beautiful Asian woman looking at the sky, wearing a yellow t-shirt.", |
| controlnet_image=image_1, controlnet_inpaint_mask=mask, |
| height=1024, width=1024, |
| seed=11 |
| ) |
| image_2.save("image_12.jpg") |
|
|
|
|
| def example_7(): |
| model_manager = ModelManager(torch_dtype=torch.bfloat16, model_id_list=[ |
| "FLUX.1-dev", |
| "InstantX/FLUX.1-dev-Controlnet-Union-alpha", |
| "alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta", |
| "jasperai/Flux.1-dev-Controlnet-Upscaler", |
| ]) |
| pipe = FluxImagePipeline.from_model_manager(model_manager, controlnet_config_units=[ |
| ControlNetConfigUnit( |
| processor_id="inpaint", |
| model_path="models/ControlNet/alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta/diffusion_pytorch_model.safetensors", |
| scale=0.9 |
| ), |
| ControlNetConfigUnit( |
| processor_id="canny", |
| model_path="models/ControlNet/InstantX/FLUX.1-dev-Controlnet-Union-alpha/diffusion_pytorch_model.safetensors", |
| scale=0.5 |
| ), |
| ]) |
|
|
| image_1 = pipe( |
| prompt="a beautiful Asian woman and a cat on a bed. The woman wears a dress.", |
| height=1024, width=1024, |
| seed=100 |
| ) |
| image_1.save("image_13.jpg") |
|
|
| mask_global = np.zeros((1024, 1024, 3), dtype=np.uint8) |
| mask_global = Image.fromarray(mask_global) |
| mask_global.save("mask_13_global.jpg") |
|
|
| mask_1 = np.zeros((1024, 1024, 3), dtype=np.uint8) |
| mask_1[300:-100, 30: 450] = 255 |
| mask_1 = Image.fromarray(mask_1) |
| mask_1.save("mask_13_1.jpg") |
|
|
| mask_2 = np.zeros((1024, 1024, 3), dtype=np.uint8) |
| mask_2[500:-100, -400:] = 255 |
| mask_2[-200:-100, -500:-400] = 255 |
| mask_2 = Image.fromarray(mask_2) |
| mask_2.save("mask_13_2.jpg") |
|
|
| image_2 = pipe( |
| prompt="a beautiful Asian woman and a cat on a bed. The woman wears a dress.", |
| controlnet_image=image_1, controlnet_inpaint_mask=mask_global, |
| local_prompts=["an orange cat, highly detailed", "a girl wearing a red camisole"], masks=[mask_1, mask_2], mask_scales=[10.0, 10.0], |
| height=1024, width=1024, |
| seed=101 |
| ) |
| image_2.save("image_14.jpg") |
|
|
| model_manager.load_lora("models/lora/FLUX-dev-lora-AntiBlur.safetensors", lora_alpha=2) |
| image_3 = pipe( |
| prompt="a beautiful Asian woman wearing a red camisole and an orange cat on a bed. clear background.", |
| negative_prompt="blur, blurry", |
| input_image=image_2, denoising_strength=0.7, |
| height=1024, width=1024, |
| cfg_scale=2.0, num_inference_steps=50, |
| seed=102 |
| ) |
| image_3.save("image_15.jpg") |
|
|
| pipe = FluxImagePipeline.from_model_manager(model_manager, controlnet_config_units=[ |
| ControlNetConfigUnit( |
| processor_id="tile", |
| model_path="models/ControlNet/jasperai/Flux.1-dev-Controlnet-Upscaler/diffusion_pytorch_model.safetensors", |
| scale=0.7 |
| ), |
| ]) |
| image_4 = pipe( |
| prompt="a beautiful Asian woman wearing a red camisole and an orange cat on a bed. highly detailed, delicate skin texture, clear background.", |
| controlnet_image=image_3.resize((2048, 2048)), |
| input_image=image_3.resize((2048, 2048)), denoising_strength=0.99, |
| height=2048, width=2048, tiled=True, |
| seed=103 |
| ) |
| image_4.save("image_16.jpg") |
|
|
| image_5 = pipe( |
| prompt="a beautiful Asian woman wearing a red camisole and an orange cat on a bed. highly detailed, delicate skin texture, clear background.", |
| controlnet_image=image_4.resize((4096, 4096)), |
| input_image=image_4.resize((4096, 4096)), denoising_strength=0.99, |
| height=4096, width=4096, tiled=True, |
| seed=104 |
| ) |
| image_5.save("image_17.jpg") |
|
|
|
|
|
|
| download_models(["Annotators:Depth", "Annotators:Normal"]) |
| download_customized_models( |
| model_id="LiblibAI/FLUX.1-dev-LoRA-AntiBlur", |
| origin_file_path="FLUX-dev-lora-AntiBlur.safetensors", |
| local_dir="models/lora" |
| ) |
| example_1() |
| example_2() |
| example_3() |
| example_4() |
| example_5() |
| example_6() |
| example_7() |
|
|