Ana içeriğe geç
fashn avatarı

FASHN Virtual Try-On v1.6 API

fashn/tryon

Ürün fotoğrafındaki herhangi bir kıyafeti bir kişiye giydirin: bir manken fotoğrafı ve bir kıyafet fotoğrafından yüksek çözünürlüklü, gerçekçi, manken üzerinde moda görselleri üretin.

düzenleme
0.075

Model girdisi

Input

Speed/quality tradeoff: 'performance' (fastest), 'balanced' (default), or 'quality' (most detailed).

Random seed for reproducibility.

Additional Settings

Customize your input with more control.

Garment category. Use 'auto' to detect automatically.

URL of the model/person image the garment will be applied to.

URL of the garment image to put on the model. Can be a flat-lay product shot or a garment worn by a person.

Output image format.

Content moderation strictness.

How the garment source image is shot: 'flat-lay', 'model' (already worn), or 'auto'.

You need to be logged in to run this model and view results.
Log in

Model çıktısı

Output

Generated image output
Generated in 8.801 seconds
Logs (1 lines)

Örnek istekler

Örnekler

Example output 1Example output 2

FASHN Virtual Try-On v1.6 API

FASHN Virtual Try-On v1.6 is a image-to-image AI model by fashn. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.075 per image.

POST https://queue.modelrunner.run/fashn/tryon

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/fashn/tryon \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "balanced",
    "category": "tops",
    "model_image": "https://media.modelrunner.ai/topNB55sVLVizJAh-model.png",
    "garment_image": "https://media.modelrunner.ai/7LZiIWv5vp59CTJn-garment.webp",
    "output_format": "png",
    "moderation_level": "permissive",
    "garment_photo_type": "auto",
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/fashn/tryon/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/fashn/tryon/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("fashn/tryon", {
  input: {
    "mode": "balanced",
    "category": "tops",
    "model_image": "https://media.modelrunner.ai/topNB55sVLVizJAh-model.png",
    "garment_image": "https://media.modelrunner.ai/7LZiIWv5vp59CTJn-garment.webp",
    "output_format": "png",
    "moderation_level": "permissive",
    "garment_photo_type": "auto"
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/fashn/tryon",
    headers=headers,
    json={
      "mode": "balanced",
      "category": "tops",
      "model_image": "https://media.modelrunner.ai/topNB55sVLVizJAh-model.png",
      "garment_image": "https://media.modelrunner.ai/7LZiIWv5vp59CTJn-garment.webp",
      "output_format": "png",
      "moderation_level": "permissive",
      "garment_photo_type": "auto"
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

Input parameters of FASHN Virtual Try-On v1.6
NameTypeRequiredDescription
modeenumnoSpeed/quality tradeoff: 'performance' (fastest), 'balanced' (default), or 'quality' (most detailed). One of: performance, balanced, quality. Default: "balanced".
seedintegernoRandom seed for reproducibility.
categoryenumnoGarment category. Use 'auto' to detect automatically. One of: auto, tops, bottoms, one-pieces. Default: "auto".
model_imagestring (uri)yesURL of the model/person image the garment will be applied to.
garment_imagestring (uri)yesURL of the garment image to put on the model. Can be a flat-lay product shot or a garment worn by a person.
output_formatenumnoOutput image format. One of: png, jpeg. Default: "png".
moderation_levelenumnoContent moderation strictness. One of: none, permissive, conservative. Default: "permissive".
garment_photo_typeenumnoHow the garment source image is shot: 'flat-lay', 'model' (already worn), or 'auto'. One of: auto, model, flat-lay. Default: "auto".

Machine-readable: OpenAPI schema · llms.txt

Use FASHN Virtual Try-On v1.6 from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and FASHN Virtual Try-On v1.6 becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint fashn/tryon.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run fashn/tryon on ModelRunner to generate image”. MCP setup guide.

Model Detayları

Model Detayları

FASHN Virtual Try-On v1.6, gerçek bir kıyafeti bir kişinin üzerine giydirir. Bir manken (ya da herhangi bir kişi) fotoğrafı ve bir kıyafet fotoğrafı verin — flat-lay bir ürün çekimi de olabilir, zaten birinin üzerinde duran bir kıyafet de — model, o kişiyi kıyafeti giymiş hâlde gösteren 864x1296 çözünürlüklü bir fotoğraf döndürür. Güçlü yanı sadakattir: kumaş dokusunu, desenleri, baskıları ve kıyafetin üzerindeki yazıları aslına uygun biçimde işler; kıyafet de üstüne yapıştırılmış gibi durmak yerine vücuda doğal biçimde dökülür, kırışır ve oturur. Flat-lay ya da manken üzerinde çekilmiş kaynak görsellerden üst giyim, alt giyim ve tek parça kıyafetlerle çalışır.

## En uygun olduğu işler - E-ticaret ve katalog görselleri — fotoğraf çekimi yapmadan bir ürünü manken üzerinde gösterin - Mevcut bir manken fotoğrafındaki kıyafeti yeni bir kıyafetle değiştirmek - Flat-lay çekilmiş bir giyim ürününün gerçek bir kişinin üzerinde nasıl durduğunu görselleştirmek - Ürün fotoğraflarından çok sayıda SKU için tutarlı, manken üzerinde görünümler üretmek - Bir müşteri ya da manken fotoğrafından satın almadan önce deneme ve kombin önizlemeleri

## Şu durumlarda başka bir model seçin - Kıyafet referansı olmadan metin prompt’undan bir moda sahnesi üretmek istiyorsanız — bir text-to-image modeli kullanın (bu endpoint metin prompt’u almaz) - Belirli bir kıyafeti bir kişiye giydirmek yerine bir görseli serbestçe düzenlemek, yeniden aydınlatmak ya da yeniden tarzlamak istiyorsanız — genel amaçlı bir görsel düzenleme modeli kullanın - Kıyafetin hareket halinde gösterilmesi ya da bir podyum videosu gerekiyorsa — bir image-to-video modeli kullanın

## İpuçları - Vücut ve pozun kolayca okunabilmesi için `model_image` alanında net, iyi aydınlatılmış, önü büyük ölçüde açık, boydan ya da belden yukarı bir fotoğraf kullanın - `garment_image` için temiz bir ürün çekimi kullanın; packshot/düz serilmiş görsellerde `garment_photo_type` değerini `flat-lay`, kaynak kıyafet zaten birinin üzerindeyse `model` yapın; kararı modelin vermesi için `auto` olarak bırakın - `auto` yanlış tahmin ettiğinde yerleşimi sınırlamak için `category` değerini (`tops`, `bottoms`, `one-pieces`) ayarlayın - Hız ile sadakat arasında denge kurmak için `mode` kullanın: `performance` en hızlısı, `quality` en detaylısı, `balanced` ise varsayılandır

## Gelişmiş Yapılandırma - `mode` — üretim stratejisi: `performance` (en hızlı), `balanced` (varsayılan) ya da `quality` (en yüksek sadakat). - `garment_photo_type` — modele kaynak kıyafetin nasıl çekildiğini söyler: `flat-lay` (düz serilmiş / packshot), `model` (zaten bir kişinin üzerinde) ya da `auto` (otomatik algılama, varsayılan).

## Güvenlik ve İçerik Denetimi - `moderation_level` girdi/çıktı içerik filtrelemesini kontrol eder: `none`, `permissive` (varsayılan) ya da `conservative`. Daha sıkı filtreleme için `conservative` seviyesine yükseltin ya da denetimi kapatmak için `none` seviyesine indirin.

ModelRunner JavaScript client ile çalıştırmak için: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("fashn/tryon", { input: { model_image: "https://media.modelrunner.ai/topNB55sVLVizJAh-model.png", garment_image: "https://media.modelrunner.ai/7LZiIWv5vp59CTJn-garment.webp", category: "tops", mode: "balanced", }, }); ```