Spaces:
Running
Running
import gradio as gr | |
import requests | |
import json | |
url = "https://nexra.aryahcr.cc/api/image/complements" | |
headers = { | |
"Content-Type": "application/json" | |
} | |
def generate_image(prompt, model): | |
data = { | |
"prompt": prompt, | |
"model": model, | |
} | |
try: | |
response = requests.post(url, headers=headers, data=json.dumps(data)) | |
raw_response = response.text.strip() | |
if response.status_code == 200: | |
cleaned_response = raw_response.lstrip('_') | |
response_data = json.loads(cleaned_response) | |
if 'images' in response_data and isinstance(response_data['images'], list): | |
image_url = response_data['images'][0] | |
return image_url | |
else: | |
return "Error: No image data in the response." | |
else: | |
return f"Error: {response.status_code}" | |
except json.JSONDecodeError: | |
return "Error: Invalid JSON response." | |
except Exception as e: | |
return str(e) | |
iface = gr.Interface(fn=generate_image, inputs=[gr.Textbox(label="Enter prompt"), gr.Radio(["dalle2"], label="Select Model")], outputs="image", title="DALLE2 Generation", description="Disclaimer: This uses the Nexra API for image generation. I cannot guarantee rate limits, if you do not recieve an image please try again. I will change to use a different API soon. DALL-E 3 is not supported yet.") | |
iface.launch() | |