| import gradio as gr | |
| from PIL import Image | |
| from inference import get_pipeline | |
| def tryon(person_img, cloth_img): | |
| pipeline = get_pipeline() | |
| result, meta = pipeline.run_inference(person_img, cloth_img, num_steps=25) | |
| return result, f"Seed: {meta['seed']} | Time: {meta['timings']['total_ms']} ms" | |
| demo = gr.Interface( | |
| fn=tryon, | |
| inputs=[gr.Image(type="pil", label="Person"), gr.Image(type="pil", label="Garment")], | |
| outputs=[gr.Image(type="pil", label="Result"), gr.Textbox(label="Metadata")], | |
| title="CatVTON Virtual Try-On", | |
| description="Upload a person image and a garment image to visualize the CatVTON try-on result.", | |
| allow_flagging="never", | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch(server_name="0.0.0.0", server_port=7860) | |