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.
Current release: v0.0.5 — dedicated VTON (Vertex, OutfitAnyone-Plus, Photoroom, Leffa, CatVTON), ChatGPT Images 2.5, MiniMax H3 / H3 Max + Fal H3 Max, NVIDIA NIM, Hy4, Qwen-Image, Wan 3.0, planner as registry super-agent.
📚 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 | 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, Sora, Luma Ray 2 + Ray 3.2, Seedance 2.5, Kling 3.0 / Omni / Turbo, Grok Imagine Video 1.5, Gemini Omni 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), Wan (API + 3.0 + local 2.2), Runway Gen-4.5, NVIDIA Cosmos 3 |
| Other | BEN2 background removal, garment/human preprocessing, fashion datasets, planner agent (registry invoke_model) |
Four ways to use it
- CLI —
opentryon <service> --model <model> [params...] - MCP server — expose every registry model as tools for Claude, Cursor, or TryOn Studio. Guide: MCP Server ·
mcp-server/README.md - TryOn Studio — Next.js UI (Agent, Connect, Image, VTON, Understand, Video, BG Remove) over MCP HTTP. Setup: TryOn Studio
- Python —
from tryon.api import ...(andtryon.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 |
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
Made with ❤️ by TryOn Labs · Discord
Release files for opentryon 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| opentryon-0.0.5.tar.gz | 289.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opentryon-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 652.6 kB
Release files / opentryon-0.0.5.tar.gz
| Download URL | opentryon-0.0.5.tar.gz |
|---|---|
| Size | 289.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
671282da33908ba1451d31e3945f8d803cc29f9202e167b5005fde82d9b13113
|
|
BLAKE2b-256 checksum How to use checksums |
615533ba465ae5d9f2a853538cb586111d316c5996ca80e12dee33d97ded14be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.13
|
Release files / opentryon-0.0.5-py3-none-any.whl
| Download URL | opentryon-0.0.5-py3-none-any.whl |
|---|---|
| Size | 362.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1c092e0bd8c71be2967ebdcac9564b0c856ec91de604b6e1ce39a53c454b1294
|
|
BLAKE2b-256 checksum How to use checksums |
52c330302e077f5609dc44e1d0176f1a8c7cc8669dfac1d0c188604722793842
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.13
|