Spaces:
Paused
Paused
File size: 2,309 Bytes
683afc3 c1497a6 0737dc8 74c4e79 a4e52cb ae33459 cd0d25d feede18 121ee3d 4fbc46c c1497a6 683afc3 a4e52cb 91746d6 ae33459 0d4222a ae33459 29299f3 cd0d25d a4e52cb ae33459 a4e52cb feede18 683afc3 cd0d25d 0737dc8 74c4e79 5a5a07a 0737dc8 121ee3d 52d3f89 683afc3 29b924b 505f3d2 7968596 8d2ed6a 683afc3 7968596 feede18 7968596 683afc3 7968596 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import gradio as gr
from huggingface_hub import login
import os
import spaces
from diffusers.schedulers import UniPCMultistepScheduler
from diffusers import StableDiffusionXLAdapterPipeline, T2IAdapter, EulerAncestralDiscreteScheduler, AutoencoderKL, \
StableDiffusionXLPipeline
from diffusers.utils import load_image, make_image_grid
import torch
# Log in to Hugging Face with your token
token = os.getenv("HF_TOKEN")
login(token=token)
model_id = 'stabilityai/sdxl-turbo'
x = StableDiffusionXLPipeline.from_pretrained(model_id)
euler_a = EulerAncestralDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler")
vae=AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix",)
x.load_ip_adapter(pretrained_model_name_or_path_or_dict="TencentARC/T2I-Adapter",
subfolder="models",
weight_name="t2iadapter_style_sd14v1.pth")
pipe = StableDiffusionXLAdapterPipeline.from_pretrained(
model_id, vae=vae, adapter=x.adapter, scheduler=euler_a, variant="fp16",
)
pipe.enable_xformers_memory_efficient_attention()
pipe.to("cuda", torch.float16)
# controlnet = SD3ControlNetModel.from_pretrained("alimama-creative/SD3-Controlnet-Softedge", torch_dtype=torch.float16)
#
# pipe = StableDiffusion3ControlNetPipeline.from_pretrained("stabilityai/stable-diffusion-3-medium-diffusers", controlnet=controlnet)
# pipe.to("cuda", torch.float16)
@spaces.GPU
def generate_image(prompt, reference_image, controlnet_conditioning_scale):
# Generate the image with ControlNet conditioning
generated_image = pipe(
prompt=prompt,
ip_adapter_image=load_image(reference_image),
controlnet_conditioning_scale=controlnet_conditioning_scale,
).images[0]
return generated_image
# Set up Gradio interface
interface = gr.Interface(
fn=generate_image,
inputs=[
gr.Textbox(label="Prompt"),
gr.Image( type= "filepath",label="Reference Image (Style)"),
gr.Slider(label="Control Net Conditioning Scale", minimum=0, maximum=1.0, step=0.1, value=0.6),
],
outputs="image",
title="Image Generation with Stable Diffusion 3 medium and ControlNet",
description="Generates an image based on a text prompt and a reference image using Stable Diffusion 3 medium with ControlNet."
)
interface.launch()
|