3d-model-test / app.py
The-Best-Codes
Fix methods
f9871b8
raw
history blame
1.14 kB
import gradio as gr
from diffusers import ShapEPipeline
from diffusers.utils import export_to_gif
# Load the ShapE model
ckpt_id = "openai/shap-e"
pipe = ShapEPipeline.from_pretrained(ckpt_id)
def generate_shap_e_gif(prompt, progress=gr.Progress()):
guidance_scale = 15.0
num_inference_steps = 64
progress(0, desc="Starting...")
images = []
for i in range(num_inference_steps):
image = pipe(prompt, guidance_scale=guidance_scale, num_inference_steps=1).images[0]
images.append(image)
# Update the progress tracker
progress((i+1)/num_inference_steps)
gif_path = export_to_gif(images, f"{prompt}_3d.gif")
# Ensure the progress is set to complete
progress(1, desc="Completed")
return gif_path
# Create the Gradio interface with queue enabled
demo = gr.Interface(
fn=generate_shap_e_gif,
inputs=gr.Textbox(lines=2, placeholder="Enter a prompt"),
outputs=gr.File(),
title="ShapE 3D GIF Generator",
description="Enter a prompt to generate a 3D GIF using the ShapE model."
).queue()
# Run the app
if __name__ == "__main__":
demo.launch()