GarmentVerse
Get API key
Guides · Cookbook

Cookbook

Copy-paste recipes for the patterns we see most often.

Every recipe assumes you've already uploaded inputs and have person_id and garment_id on hand — see the quickstart.

#Saree on a customer (Nivi drape)

Bridal stores, saree D2C brands, marketplace PDP.

bash
curl -X POST https://garmentverse-api-807711804803.asia-south1.run.app/v1/images/tryon \
  -H "Authorization: Bearer $GARMENTVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "garment_to_person",
    "person_image": "<person_id>",
    "garment_image": "<saree_id>",
    "garment": { "category": "saree", "subtype": "nivi" },
    "pose": "relaxed standing, hands gently at sides",
    "background": "studio_white",
    "tier": "premium",
    "views": ["front"],
    "consent_token": true
  }'
Drape variants
Try subtype: "bengali" for two-pleat shoulder drape, "gujarati" for seedha pallu over the right shoulder, or "maharashtrian" for 9-yard kashta style.

#Multi-view catalog (4 angles, identity-locked)

E-commerce PDP gallery, marketplace listings.

bash
curl -X POST https://garmentverse-api-807711804803.asia-south1.run.app/v1/images/tryon \
  -H "Authorization: Bearer $GARMENTVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "garment_to_person",
    "person_image": "<person_id>",
    "garment_image": "<garment_id>",
    "garment": { "category": "lehenga" },
    "views": ["front", "three_quarter_left", "side", "back"],
    "tier": "standard",
    "consent_token": true
  }'

Returns a parent type=catalog job. The front view renders first; its output is reused as identity-lock for the other angles. Full deep-dive in the multi-view guide.

#Lehenga twirl video

Reels / shorts content, catalog motion shots.

bash
curl -X POST https://garmentverse-api-807711804803.asia-south1.run.app/v1/videos/tryon \
  -H "Authorization: Bearer $GARMENTVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "garment_to_person",
    "person_image": "<person_id>",
    "garment_image": "<lehenga_id>",
    "garment": { "category": "lehenga" },
    "duration_seconds": 5,
    "fps": 24,
    "motion": "twirl",
    "camera": "orbit",
    "tier": "premium",
    "consent_token": true
  }'

#Mode 2: "put that look on me" from social

The reference person's face never transfers — only the garment.

bash
curl -X POST https://garmentverse-api-807711804803.asia-south1.run.app/v1/images/tryon \
  -H "Authorization: Bearer $GARMENTVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "person_to_person",
    "person_image": "<your_customer_id>",
    "reference_person_image": "<inspo_screenshot_id>",
    "garment": { "category": "dress", "subtype": "a-line" },
    "tier": "standard",
    "consent_token": true
  }'

#Sherwani on a groom (men's premium)

Wedding apparel, bandhgala, suit category.

bash
curl -X POST https://garmentverse-api-807711804803.asia-south1.run.app/v1/images/tryon \
  -H "Authorization: Bearer $GARMENTVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "garment_to_person",
    "person_image": "<groom_id>",
    "garment_image": "<sherwani_id>",
    "garment": { "category": "sherwani" },
    "pose": "confident standing, slight angle",
    "background": "haveli_warm",
    "views": ["front", "three_quarter_left"],
    "tier": "premium",
    "consent_token": true
  }'

#Idempotent retries (safe at any scale)

Production pipelines, queue retries, exactly-once order generation.

bash
curl -X POST https://garmentverse-api-807711804803.asia-south1.run.app/v1/images/tryon \
  -H "Authorization: Bearer $GARMENTVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "garment_to_person",
    "person_image": "<person_id>",
    "garment_image": "<garment_id>",
    "consent_token": true,
    "idempotency_key": "order-12345-tryon-v1"
  }'

Re-sending the same idempotency_key within a workspace returns the original job — never duplicate-charges.

#Webhook-driven pipeline

Skip the polling loop in production.

Webhooks are in beta — see the webhooks guide for the full setup.

#Force a specific provider

Reproducibility, A/B testing, vendor preference.

bash
curl -X POST https://garmentverse-api-807711804803.asia-south1.run.app/v1/images/tryon \
  -H "Authorization: Bearer $GARMENTVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "garment_to_person",
    "person_image": "<person_id>",
    "garment_image": "<garment_id>",
    "provider": "openai",
    "tier": "standard",
    "consent_token": true
  }'

Available providers: auto (default), openai, gemini, qwen, catvton, outfitanyone. Premium tier auto-prefers specialists for draped Indian garments.