Spaces:
Runtime error
Runtime error
import requests | |
import json | |
from io import BytesIO | |
from PIL import Image | |
import matplotlib.pyplot as plt | |
API_KEY = 'YOUR_API_KEY' | |
ENDPOINT = 'https://api.openai.com/v1/images/generations' | |
def generate_image(prompt): | |
headers = { | |
'Content-Type': 'application/json', | |
'Authorization': f'Bearer {API_KEY}' | |
} | |
data = { | |
'model': 'image-alpha-001', | |
'prompt': prompt, | |
'num_images': 1, | |
'size': '512x512', | |
'response_format': 'url' | |
} | |
try: | |
response = requests.post(url=ENDPOINT, headers=headers, data=json.dumps(data)) | |
response.raise_for_status() | |
result_url = response.json()['data'][0]['url'] | |
image_bytes = requests.get(result_url).content | |
image = Image.open(BytesIO(image_bytes)) | |
return image | |
except requests.exceptions.HTTPError as e: | |
print(f"HTTP error {e.response.status_code}: {e.response.reason}") | |
print(f"Error details: {e.response.text}") | |
except requests.exceptions.RequestException as e: | |
print(f"Request error: {e}") | |
except Exception as e: | |
print(f"Unexpected error: {e}") | |
return None | |
# Example usage | |
prompt = "a cat sitting on a windowsill looking outside" | |
image = generate_image(prompt) | |
if image: | |
plt.imshow(image) | |
plt.show() | |