Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import numpy as np | |
| from PIL import Image | |
| from io import BytesIO | |
| import requests | |
| import json | |
| # List of available models | |
| models = [ | |
| "HHM29/finetuning_dream_fin", | |
| "KappaNeuro/needlepoint", | |
| "Norod78/ClaymationX_LoRA", | |
| "KappaNeuro/movie-poster", | |
| "digiplay/MixTape_RocknRoll_v3punk_bake_fp16", | |
| "digiplay/BeautifulFantasyRealMix_diffusers", | |
| "Yntec/pineappleAnimeMix", | |
| "Yntec/DucHaiten-Retro-Diffusers", | |
| "joachimsallstrom/aether-pixel-lora-for-sdxl", | |
| "runwayml/stable-diffusion-v1-5", | |
| "stabilityai/stable-diffusion-xl-base-1.0", | |
| "CompVis/stable-diffusion-v1-4", | |
| ] | |
| def generate_image(model_name, image, prompt, length, temperature, n_samples, use_image2image=False): | |
| data = { | |
| "image_prompt": image, | |
| "prompt": prompt, | |
| "length": length, | |
| "temperature": temperature, | |
| "n_samples": n_samples, | |
| "model": model_name, | |
| } | |
| if use_image2image: | |
| data["use_image2image"] = True | |
| data["image2image_prompt"] = image # Provide the target image for image2image | |
| response = requests.post("https://api.stable-diffusion.ml/generate", json=data) | |
| response_json = response.json() | |
| if response.status_code == 200: | |
| results = response_json["generated_images"] | |
| generated_image = np.frombuffer(BytesIO(results[0]["image"]).read(), dtype=np.uint8) | |
| generated_image = generated_image.reshape(results[0]["metadata"]["height"], results[0]["metadata"]["width"], 3) | |
| return Image.fromarray(generated_image) | |
| else: | |
| return None | |
| def app(model=gr.inputs.Selector(options=models), | |
| image=gr.inputs.Image(shape=(None, None)), | |
| prompt=gr.inputs.Textbox(default="an image generated with"), | |
| length=gr.inputs.Slider(1, 20, step=1, default=8), | |
| temperature=gr.inputs.Slider(0.5, 1.5, step=0.1, default=1), | |
| n_samples=gr.inputs.Slider(1, 5, step=1, default=1), | |
| use_image2image=gr.inputs.Boolean(default=False)): | |
| generated_image = generate_image(model, | |
| image=image.data if image else None, | |
| prompt=prompt, | |
| length=int(length), | |
| temperature=float(temperature), | |
| n_samples=int(n_samples), | |
| use_image2image=use_image2image) | |
| return gr.outputs.Image(as_pil=True)(generated_image) if generated_image else None | |
| if __name__ == "__main__": | |
| title = "Image Generation App" | |
| description = "Select a model and customize your image generation or image2image settings!" | |
| gradio.launch(app, port=8000, title=title, description=description) | |