Spaces:
Running
Running
import gradio as gr | |
from diffusers import DiffusionPipeline | |
import torch | |
def generate_image( | |
prompt, | |
width=512, | |
height=512, | |
num_inference_steps=50, | |
guidance_scale=7.5 | |
): | |
try: | |
# Alternativen Flux-Modell verwenden | |
pipe = DiffusionPipeline.from_pretrained("enhanceaiteam/Flux-uncensored") | |
# GPU-Optimierung | |
if torch.cuda.is_available(): | |
pipe = pipe.to("cuda") | |
image = pipe( | |
prompt=prompt, | |
width=width, | |
height=height, | |
num_inference_steps=num_inference_steps, | |
guidance_scale=guidance_scale | |
).images[0] | |
return image | |
except Exception as e: | |
print(f"Fehler bei Bildgenerierung: {e}") | |
return None | |
# Gradio-Interface | |
def create_gradio_interface(): | |
with gr.Blocks() as demo: | |
gr.Markdown("# Flux Bildgenerator") | |
with gr.Row(): | |
prompt = gr.Textbox(label="Bildprompt", lines=2) | |
width = gr.Slider(minimum=64, maximum=2048, value=512, label="Breite") | |
height = gr.Slider(minimum=64, maximum=2048, value=512, label="Höhe") | |
with gr.Row(): | |
steps = gr.Slider(minimum=10, maximum=100, value=50, label="Inference Steps") | |
guidance = gr.Slider(minimum=1, maximum=15, value=7.5, label="Guidance Scale") | |
generate_btn = gr.Button("Bild generieren", variant="primary") | |
output_image = gr.Image(label="Generiertes Bild") | |
generate_btn.click( | |
fn=generate_image, | |
inputs=[prompt, width, height, steps, guidance], | |
outputs=output_image | |
) | |
return demo | |
# Hauptausführung | |
def main(): | |
interface = create_gradio_interface() | |
interface.launch(share=True) | |
if __name__ == "__main__": | |
main() |