Open-source AI toolkit for fashion technology: virtual try-on, image/video generation & editing, multimodal understanding, background removal, preprocessing, datasets, and TryOnDiffusion research code.
📚 Full documentation: https://tryonlabs.github.io/opentryon/
API tutorials, configuration, examples, and agent guides live there — not in this README.
| Category | Highlights |
|---|---|
| Virtual try-on | FLUX VTO, Nova Canvas, Kling AI, Segmind, Pruna P-Image-Try-On, FASHN, Nano Banana 2 Lite |
| Generate / edit | Nano Banana family, FLUX.2, GPT Image, Luma Photon; local FLUX.2-dev Turbo |
| Understand | Kimi K2.6 / K2.7 Code / K3 (API), Kimi-VL & LLaVA-NeXT (local) |
| Video | Veo, Sora, Luma Dream Machine, Gemini Omni Flash |
| Other | BEN2 background removal, garment/human preprocessing, fashion datasets, LangChain agents |
- CLI —
opentryon <service> --model <model> [params...] - MCP server — expose every registry model as tools for Claude, Cursor, or tryon-studio
- Python —
from tryon.api import ...(andtryon.cli.runner.invoke_model)
The unified Next.js + Tailwind web UI is not in this repo — it lives in tryon-studio and talks to OpenTryOn over MCP.
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 needDetails: Installation · Configuration
# 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 highfrom 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
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, … |
edit |
Image editing | nano-banana-2, flux2-flex, gpt-image, … |
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.
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 8000Tools are generated from tryon/cli/registry.py — the same registry as the CLI. See mcp-server/README.md.
This package ships Gradio demos and Jupyter notebooks only:
python run_demo.py --name extract_garment # also: model_swap, outfit_generatorNotebooks: notebooks/. Web UI: tryon-studio.
opentryon/
├── tryon/ # Package: api/, cli/, models/, agents/, datasets/, preprocessing/
├── tryondiffusion/ # Research diffusion training / inference
├── mcp-server/ # FastMCP server (registry → tools)
├── demo/ # Gradio demos
├── notebooks/ # Jupyter examples
├── docs/ # Docusaurus documentation site
├── tests/ # CLI / adapter smoke checks
└── env.template # API key template
| Topic | Where |
|---|---|
| Install & config | Getting Started |
| CLI | CLI guide |
| Per-provider APIs | API Reference |
| Local / GPU models | Local Models |
| Agents | Agents |
| 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.
See CONTRIBUTING.md. Open an issue before large changes; prefer PRs that update the registry, tests, and docs together.
Creative Commons BY-NC 4.0. Non-commercial use with attribution to this repository; indicate any changes you make.
Made with ❤️ by TryOn Labs · Discord