Spaces:
Runtime error
Runtime error
import json | |
import os | |
import requests | |
import gradio as gr | |
def generate_image(text_prompt, init_image): | |
engine_id = "stable-diffusion-v1-5" | |
api_host = os.getenv('API_HOST', 'https://api.stability.ai') | |
url = f"{api_host}/v1alpha/generation/{engine_id}/image-to-image" | |
api_key = os.getenv('stability_ai') | |
if api_key is None: | |
raise Exception("Missing Stability API key.") | |
options = json.dumps( | |
{ | |
"text_prompts": [ | |
{ | |
"text": text_prompt, | |
"weight": 2 | |
} | |
], | |
} | |
) | |
headers = { | |
'accept': 'image/png', | |
'Authorization': api_key, | |
} | |
files = { | |
'init_image': init_image.read(), | |
'options': (None, options), | |
} | |
response = requests.post(url, headers=headers, files=files) | |
if response.status_code != 200: | |
raise Exception("Non-200 response: " + str(response.text)) | |
with open("output.png", "wb") as f: | |
f.write(response.content) | |
return "output.png" | |
# Gradio | |
inputs = [ | |
gr.inputs.Textbox(label="Text"), | |
gr.inputs.Image(label="Image") | |
] | |
outputs = gr.outputs.Image(type='numpy', label="Generated Image") | |
gr.Interface(fn=generate_image, inputs=inputs, outputs=outputs).launch(debug=True) |