import spaces from diffusers import AuraFlowPipeline import torch import gradio as gr def initialize_auraflow_pipeline(): """Initialize and return the AuraFlowPipeline.""" pipeline = AuraFlowPipeline.from_pretrained( "fal/AuraFlow-v0.3", torch_dtype=torch.float16, variant="fp16", ).to("cuda") return pipeline @spaces.GPU(duration=200) def generate_image(pipeline, prompt, width, height, num_inference_steps, seed, guidance_scale): """Generate an image using the AuraFlowPipeline.""" generator = torch.Generator().manual_seed(seed) image = pipeline( prompt=prompt, width=width, height=height, num_inference_steps=num_inference_steps, generator=generator, guidance_scale=guidance_scale, ).images[0] return image # Initialize the pipeline once auraflow_pipeline = initialize_auraflow_pipeline() # Gradio interface def gradio_generate_image(prompt, width, height, num_inference_steps, seed, guidance_scale): return generate_image(auraflow_pipeline, prompt, width, height, num_inference_steps, seed, guidance_scale) # Create Gradio Blocks with gr.Blocks() as demo: gr.HTML( """