Spaces:
Sleeping
Sleeping
| import shutil | |
| import gradio as gr | |
| from gradio_client import Client | |
| # Define a function to generate and return the .glb file path | |
| def generate_3d_model(prompt): | |
| # Initialize Gradio client for Shap-E API | |
| client = Client("hysts/Shap-E") | |
| result = client.predict( | |
| prompt=prompt, | |
| seed=0, | |
| guidance_scale=15, | |
| num_inference_steps=64, | |
| api_name="/text-to-3d" | |
| ) | |
| # Define the path to save the .glb file | |
| glb_path = "generated_model.glb" | |
| # Copy the result file locally if it's a temp file | |
| if result.startswith("/tmp"): | |
| shutil.copy(result, glb_path) | |
| else: | |
| # Otherwise, download the file if it's a URL | |
| import requests | |
| response = requests.get(result) | |
| with open(glb_path, "wb") as f: | |
| f.write(response.content) | |
| return glb_path | |
| # Create the Gradio interface | |
| interface = gr.Interface( | |
| fn=generate_3d_model, | |
| inputs="text", | |
| outputs=gr.Model3D(label="Generated 3D Model"), | |
| title="3D Model Generator", | |
| description="Enter a prompt to generate a 3D model." | |
| ) | |
| # Launch the Gradio app | |
| interface.launch() | |