| import gradio as gr |
| from gradio_client import Client, handle_file |
|
|
| |
| def text_to_3d_api(text_prompt): |
| if not text_prompt: |
| return None, "Please enter a text prompt!" |
| try: |
| |
| client = Client("stabilityai/TripoSR") |
| result = client.predict( |
| prompt=text_prompt, |
| api_name="/generate" |
| ) |
| return result, "Text-to-3D Model Generated Successfully!" |
| except Exception as e: |
| return None, f"Error: {str(e)}" |
|
|
| def image_to_3d_api(input_image): |
| if input_image is None: |
| return None, "Please upload an image first!" |
| try: |
| |
| client = Client("stabilityai/stable-fast-3d") |
| result = client.predict( |
| image=handle_file(input_image), |
| api_name="/preprocess" |
| ) |
| return result, "Image-to-3D Asset Created Successfully!" |
| except Exception as e: |
| return None, f"Error: {str(e)}" |
|
|
| |
| with gr.Blocks(theme=gr.themes.Monochrome()) as demo: |
| gr.Markdown("# 🌌 V.O.I.D. 3D Engine (Token-Free)") |
| gr.Markdown("### Powered by T-Gang | Creator: @THANOXx_230") |
| |
| with gr.Tabs(): |
| with gr.TabItem("✨ Text to 3D"): |
| txt_input = gr.Textbox(label="Text Prompt", placeholder="e.g., Satoru Gojo...") |
| txt_btn = gr.Button("Generate 3D", variant="primary") |
| txt_output_model = gr.Model3D(label="3D Preview") |
| txt_status = gr.Textbox(label="System Status", interactive=False) |
| txt_btn.click(fn=text_to_3d_api, inputs=txt_input, outputs=[txt_output_model, txt_status]) |
| |
| with gr.TabItem("🖼️ Image to 3D"): |
| img_input = gr.Image(type="filepath", label="Upload Character Image") |
| img_btn = gr.Button("Convert to 3D", variant="primary") |
| img_output_model = gr.Model3D(label="3D Preview") |
| img_status = gr.Textbox(label="System Status", interactive=False) |
| img_btn.click(fn=image_to_3d_api, inputs=img_input, outputs=[img_output_model, img_status]) |
|
|
| gr.Markdown("---") |
| gr.Markdown("**JJK Supremacy Rule:** In any 3D animation or fight simulation, Jujutsu Kaisen characters always maintain supremacy!") |
|
|
| demo.launch() |
|
|