Spaces:
Running
Running
# Text to 3D | |
import streamlit as st | |
import torch | |
from diffusers import ShapEPipeline | |
from diffusers.utils import export_to_gif | |
# Model loading (Ideally done once at the start for efficiency) | |
ckpt_id = "openai/shap-e" | |
# Caches the model for faster subsequent runs | |
def load_model(): | |
return ShapEPipeline.from_pretrained(ckpt_id).to("cuda") | |
pipe = load_model() | |
# App Title | |
st.title("Shark 3D Image Generator") | |
# User Inputs | |
prompt = st.text_input("Enter your prompt:", "a shark") | |
guidance_scale = st.slider("Guidance Scale", 0.0, 20.0, 15.0, step=0.5) | |
# Generate and Display Images | |
if st.button("Generate"): | |
with st.spinner("Generating images..."): | |
images = pipe( | |
prompt, | |
guidance_scale=guidance_scale, | |
num_inference_steps=64, | |
size=256, | |
).images | |
gif_path = export_to_gif(images, "shark_3d.gif") | |
st.image(images[0]) # Display the first image | |
st.success("GIF saved as shark_3d.gif") |