Profile
Back to NewsBack
GitHub Trending 5 min
Reader Mode
tryonlabs/opentryon: Open-source APIs, SDKs, and models for building virtual try-on and fashion AI applications. Generate models, edit garments, create photoshoots, and build personalized fashion experiences.

tryonlabs/opentryon: Open-source APIs, SDKs, and models for building virtual try-on and fashion AI applications. Generate models, edit garments, create photoshoots, and build personalized fashion experiences.

11 hours ago

OpenTryOn

Open-source AI toolkit for fashion technology: virtual try-on, image/video generation & editing, multimodal understanding, background removal, preprocessing, datasets, and TryOnDiffusion research code.

Documentation</a> PyPI</a> Discord</a> License</a>

Current release: v0.0.7 — FASHN catalogue endpoints (product-to-model, model swap, reframe, image-to-video), fashion retrieval embeddings, Fashion Florence, Extract-Outfit, a commercially clean klein-4B try-on, and a try-on safety classifier (new classify service); 148 models, 10 services.

📚 Full documentation: https://tryonlabs.github.io/opentryon/ API tutorials, configuration, examples, and agent guides live there — not in this README.

What you get

| Category | Highlights | |---|---| | Virtual try-on | FLUX VTO, Google Vertex VTO, OutfitAnyone-Plus, Photoroom (try-on + virtual model), Nova Canvas, Kling AI, Segmind, Pruna P-Image-Try-On, FASHN, Nano Banana 2 Lite, Qwen-Image (API + local), Leffa / CatVTON (local weights), Muse Image (composition) | | Generate / edit | Nano Banana family, FLUX.2, GPT Image (1.5 + 2.5 Flare/Sunburst), Luma Photon, Seedream 5.0 Pro, Ideogram 4.0, Grok Imagine Image, Pruna P-Image / P-Image-Ideogram / Edit / Upscale, Qwen-Image (API + local), Muse Image; local FLUX.2-dev Turbo | | Understand | Claude Haiku 5.5, Kimi K2.6 / K2.7 Code / K3 (API), Kimi-VL & LLaVA-NeXT (local), Qwen3.8-Max (API) + Qwen3.8-27B (local), NVIDIA Nemotron Omni / Cosmos 3 Reasoner, Hy4 preview (TokenHub + local vLLM) | | Video | Veo 3.1, Sora (deprecated), Luma Ray 2 + Ray 3.2, Seedance 2.5, Kling 3.0 / Omni / Turbo, Grok Imagine Video 1.5, Gemini Omni 1.1 Flash, Pruna P-Video / Replace / Avatar / Animate, LTX-2.5 (API + local), Hailuo 2.3, MiniMax H3 / H3 Max (API + local H3 + Fal H3 Max + Relight), Wan (API + 3.0 + local 2.2), Runway Gen-4.5, NVIDIA Cosmos 3 (API + local) | | Other | BEN2 background removal, garment/human preprocessing, fashion datasets, planner agent (registry invoke_model) |

Four ways to use it

  1. CLI — opentryon --model [params...]
  2. MCP server — expose every registry model as tools for Claude, Cursor, or TryOn Studio. Guide: MCP Server · mcp-server/README.md
  3. TryOn Studio — Next.js UI (Agent, Connect, Image, VTON, Understand, Video, BG Remove) over MCP HTTP. Setup: TryOn Studio
  4. Python — from tryon.api import ... (and tryon.cli.runner.invoke_model)

Install

git clone https://github.com/tryonlabs/opentryon.git
cd opentryon
conda env create -f environment.yml
conda activate opentryon
pip install -e .

Optional local/GPU models: pip install -e ".[local]"

Or with pip: pip install -r requirements.txt && pip install -e .

cp env.template .env   # add the API keys you need

Details: Installation · Configuration

Quick start

# Dry-run (no API call) — verifies CLI + registry wiring
opentryon vton --model flux-vto \
  --person-image data/model-1.jpg --garment-image data/garment.png --dry-run

Real call (needs BFL_API_KEY in .env)

opentryon vton --model flux-vto \ --person-image data/model-1.jpg --garment-image data/garment.png \ --garment-description "olive green bomber jacket"

Multimodal understanding (needs MOONSHOT_API_KEY)

opentryon understand --model kimi-k3 --image data/model-1.jpg \ --prompt "Describe this outfit for a product listing." --reasoning-effort high
from tryon.api import KimiUnderstandAdapter

adapter = KimiUnderstandAdapter(model="kimi-k3") result = adapter.understand_image( "data/model-1.jpg", prompt="Describe this outfit.", reasoning_effort="high", ) print(result["text"])

More examples: Quickstart · CLI · API Reference

CLI services

opentryon <service> --model <model> [params...]
opentryon understand --help                    # list models
opentryon understand --model kimi-k3 --help    # list that model's flags

| Service | Purpose | Example models | |---|---|---| | vton | Virtual try-on | flux-vto, p-image-tryon, fashn-tryon-max, … | | generate | Text-to-image | nano-banana-pro, flux2-pro, gpt-image-2.5, … | | edit | Image editing | nano-banana-2, flux2-flex, gpt-image-2.5-sunburst, … | | understand | Image/video understanding | kimi-k2.6, kimi-k3, kimi-vl, … | | video-generate | Text/image-to-video | veo, sora, gemini-omni, … | | bg-remove | Background removal | ben2 | | tts | Text-to-speech | eleven-v4, eleven-v4-turbo | | decide | Calibrated yes/no, choice, score decisions | jev, d1-3b, d1-omni-600m | | classify | Try-on safety gating (fixed-label classifier) | tryon-safety-classifier | | embed | Multimodal embeddings (.npz) | embeddinggemma-2, pplx-embed-v2-late-0.6b, … |

Models marked local need pip install opentryon[local]. Full table and flags: Unified CLI.

MCP server

cd mcp-server
pip install -r requirements.txt
python server.py                                    # stdio (Claude Desktop / Cursor)
python server.py --transport http --host 127.0.0.1 --port 8000   # TryOn Studio

Tools are generated from tryon/cli/registry.py — the same registry as the CLI. Guide: MCP Server · full tool table: mcp-server/README.md. Web UI: TryOn Studio.

Demos & notebooks

This package ships Gradio demos and Jupyter notebooks only:

python run_demo.py --name extract_garment   # also: model_swap, outfit_generator

Notebooks: notebooks/. Web UI: TryOn Studio.

Layout

opentryon/
├── tryon/           # Package: api/, cli/, models/, agents/, datasets/, preprocessing/
├── tryondiffusion/  # Research diffusion training / inference
├── mcp-server/      # FastMCP server (registry → tools)
├── openapi/         # OpenAPI / Swagger snapshot (upstream media APIs)
├── postman/         # Postman collection for media providers
├── demo/            # Gradio demos
├── notebooks/       # Jupyter examples
├── docs/            # Docusaurus documentation site
├── tests/           # CLI / adapter smoke checks
└── env.template     # API key template

Documentation map

| Topic | Where | |---|---| | Install & config | Getting Started | | CLI | CLI guide | | MCP | MCP server · mcp-server/README.md | | TryOn Studio | Setup and screens · tryon-studio | | OpenAPI / Postman | Swagger guide · openapi/ · postman/ | | Per-provider APIs | API Reference | | Local / GPU models | Local Models | | Agents | Agents | | Roadmap | Roadmap · ROADMAP.md | | Add a new model | New model checklist | | TryOnDiffusion | Overview · paper |

When contributing docs or APIs: put long tutorials in docs/, not this README. Keep README as the project front door only.

Contributing

See CONTRIBUTING.md. Open an issue before large changes; prefer PRs that update the registry, tests, and docs together.

License

Creative Commons BY-NC 4.0. Non-commercial use with attribution to this repository; indicate any changes you make.

Star History

Star History Chart</a>


Made with ❤️ by TryOn Labs · Discord

Chat with me