Spaces:
Sleeping
Sleeping
| import requests | |
| import gradio as gr | |
| from PIL import Image | |
| import io | |
| from transformers import utils | |
| utils.move_cache() | |
| import os | |
| hf_token = os.getenv('HF_TOKEN') | |
| API_URL = "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0" | |
| headers = {"Authorization": f"Bearer {hf_token}"} | |
| def query(payload): | |
| response = requests.post(API_URL, headers=headers, json=payload) | |
| if response.status_code != 200: | |
| # If the response is not successful, return None or handle it accordingly | |
| print("Error from the API:", response.text) # For debugging | |
| return None | |
| return response.content | |
| def generate_image(prompt): | |
| image_bytes = query({"inputs": prompt}) | |
| if image_bytes is None: | |
| # Handle the case where the API did not return image data | |
| return "The API call was unsuccessful. Check the logs for details." | |
| try: | |
| image = Image.open(io.BytesIO(image_bytes)) | |
| return image | |
| except IOError: | |
| # Handle cases where PIL cannot open the bytes received | |
| return "The returned data could not be recognized as an image." | |
| iface = gr.Interface( | |
| fn=generate_image, | |
| inputs="text", | |
| outputs="image", | |
| title="Stable-Diffusion-XL for high quality image generation" | |
| ) | |
| iface.launch() | |