Create faster in the app

A smoother mobile experience

Fashion Diffusion - AI Virtual Try-On and Fashion Design Tool

API

Public API documentation

Use the Fashion Diffusion Public API to submit virtual try-on tasks and query their results.

Authentication

Create an API key and send the complete secret as a bearer credential. The secret is displayed only once.

Authorization: Bearer fd_live_xxx

Submit a virtual try-on task

Submit a garment image and a model image. A successful request returns HTTP 202 with the task ID.

curl -X POST \
  "https://www.fashiondiffusion.ai/api/public/v1/virtual-try-on/tasks" \
  -H "Authorization: Bearer fd_live_xxx" \
  -H "Content-Type: application/json" \
  --data-raw '{
    "garmentImageUrl": "https://cdn.example.com/garment.jpg",
    "modelImageUrl": "https://cdn.example.com/model.jpg",
    "imageCount": 1,
    "resolution": "2K",
    "ratio": "3:4",
    "mode": "FAST",
    "prompt": "Keep the garment shape and fabric texture"
  }'
ParameterSupported valuesDefault
imageCount1, 2, 41
resolution2K, 4K2K
ratio1:1, 3:4, 4:3, 9:16, 16:93:4
modeFAST, REFINEFAST

Both images must be public HTTPS URLs, return an image content type, and be no larger than 20 MB.

Each accepted request creates and charges a new task. This version has no idempotency protection, so do not automatically retry a timed-out submission unless duplicate charges are acceptable.

Query a task

Use the task ID returned by the submit endpoint. An API key can only read tasks owned by its user and current team.

curl \
  -H "Authorization: Bearer fd_live_xxx" \
  "https://www.fashiondiffusion.ai/api/public/v1/tasks/{taskId}"

Task statuses are QUEUED, RUNNING, SUCCEEDED, and FAILED. Successful output image URLs are returned in outputs.

List tasks

List virtual try-on tasks submitted through the Public API by the current user. Tasks submitted with any of the user's API keys are included.

curl \
  -H "Authorization: Bearer fd_live_xxx" \
  "https://www.fashiondiffusion.ai/api/public/v1/tasks?limit=20&createdAfter=2026-08-01T00%3A00%3A00Z"

limit accepts 1 to 100 and defaults to 20. Use nextCursor as cursor in the next request. createdAfter is an optional ISO 8601 timestamp.

Errors

Errors use a consistent envelope. The request ID is also returned in the X-Request-Id response header.

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "garmentImageUrl: Invalid url",
    "requestId": "request-uuid"
  }
}