SketchAgent / app.py
faxnoprinter's picture
Update app.py
f44adf2 verified
import gradio as gr
import subprocess
import os
import shutil
from PIL import Image
def generate_sketch(concept, temperature):
save_path = "results/test"
command = [
"python", "sketch/gen_sketch.py",
"--concept_to_draw", concept,
"--temperature", str(temperature),
"--path2save", save_path
]
try:
subprocess.run(command, check=True)
img_path = os.path.join(save_path, concept, f"{concept}_canvas.png")
if not os.path.exists(img_path):
return f"Sketch generation succeeded but image not found: {img_path}", None
return "Sketch generated successfully!", img_path
except subprocess.CalledProcessError as e:
return f"Sketch generation failed: {str(e)}", None
def ui():
with gr.Blocks() as demo:
gr.Markdown("## 🎨 Sketch Generator")
with gr.Row():
concept = gr.Textbox(label="What Should I sketch", placeholder="e.g. Taj Mahal")
temperature = gr.Slider(minimum=0.0, maximum=1.0, value=0.3, step=0.05, label="Temperature")
generate_btn = gr.Button("Generate Sketch")
status = gr.Textbox(label="Status")
output_image = gr.Image(label="Generated Sketch", type="filepath")
generate_btn.click(
fn=generate_sketch,
inputs=[concept, temperature],
outputs=[status, output_image]
)
return demo
if __name__ == "__main__":
ui().launch(share=True)