| import torch |
| from diffusers.utils import load_image |
| from diffusers import FluxControlNetModel |
| from diffusers.pipelines import FluxControlNetPipeline |
|
|
| |
| controlnet = FluxControlNetModel.from_pretrained( |
| "jasperai/Flux.1-dev-Controlnet-Upscaler", |
| torch_dtype=torch.bfloat16 |
| ) |
| pipe = FluxControlNetPipeline.from_pretrained( |
| "black-forest-labs/FLUX.1-dev", |
| controlnet=controlnet, |
| torch_dtype=torch.bfloat16 |
| ) |
| pipe.to("cuda") |
|
|
| |
|
|
| uploaded_file = st.file_uploader("Choose an image", type=["png", "jpg"]) |
|
|
| control_image = None; |
| if uploaded_file is not None: |
| bytes_data = uploaded_file.getvalue |
| control_image = bytes_data |
| st.write(f"filename: {uploaded_file.name}") |
| st.image(bytes_data) |
|
|
| w, h = control_image.size |
|
|
| |
| control_image = control_image.resize((w * 4, h * 4)) |
|
|
| image = pipe( |
| prompt="", |
| control_image=control_image, |
| controlnet_conditioning_scale=0.6, |
| num_inference_steps=28, |
| guidance_scale=3.5, |
| height=control_image.size[1], |
| width=control_image.size[0] |
| ).images[0] |
| st.image(image) |
|
|