text-to-3D / app.py
mrfakename's picture
Update app.py
79aea11 verified
raw
history blame
1.22 kB
import gradio as gr
from diffusers import DiffusionPipeline
import torch
from gradio_client import Client
pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
if torch.cuda.is_available(): pipe.to("cuda")
client = Client("stabilityai/triposr")
ABOUT_TEXT = """
# Text-to-3D with TripoSR + SDXL
Commercially-viable text-to-3D model. Usage must comply with the SDXL license.
For image-to-3D, use [TripoSR](https://huggingface.co/spaces/stabilityai/TripoSR) directly.
""".strip()
def generate(text):
# generate image
image = pipe(prompt=text).images[0]
# preprocess
result = client.predict(
image,
True,
0.85,
api_name="/preprocess"
)
result = client.predict(
result,
api_name="/generate"
)
return result
with gr.Blocks() as demo:
gr.Markdown(ABOUT_TEXT)
txt = gr.Textbox(interactive=True, label="Text instruction")
btn = gr.Button("Generate")
out = gr.Model3D(
label="3D model",
interactive=False,
)
btn.click(generate, inputs=txt, outputs=out)
demo.queue(api_open=False, default_concurrency_limit=20).launch(show_api=False)