import gradio as gr import subprocess import os import shutil def run_rigging(input_model): # 1. Create a clean work folder if os.path.exists("temp_input"): shutil.rmtree("temp_input") os.makedirs("temp_input", exist_ok=True) # 2. Save your uploaded file into the input folder input_path = os.path.join("temp_input", "model.glb") shutil.copy(input_model.name, input_path) # 3. Trigger the Seed3D rigging script # We use subprocess to run the .sh file you dragged into the repo try: subprocess.run(["bash", "demo_rigging.sh"], check=True) # Seed3D usually saves results in a 'results' folder output_path = "results/rigging/model_rigged.glb" return output_path except Exception as e: return f"Error during rigging: {str(e)}" # This creates the "API Door" for your AI Studio app demo = gr.Interface( fn=run_rigging, inputs=gr.File(label="Upload Model"), outputs=gr.File(label="Download Rigged Model"), api_name="rig" ) demo.launch()