Video try-on
Temporally-consistent video — twirl, walk, 360° turntable. Same API shape as image, but with motion + duration.
#Sending the request
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
}'The response is a job, same as image try-on. Poll GET /v1/jobs/{id} until succeeded, then fetch the video file from /v1/videos/{id}/outputs.
#Motion presets
| motion | Use it for |
|---|---|
| idle_sway | Subtle, natural breathing — best for full-body shots |
| turntable_360 | Full rotation — catalog-style 360° spin |
| walk_cycle | Step-step-step — runway-style |
| twirl | Spin to flare the garment — sarees, lehengas, dresses |
| runway | Forward walk towards camera |
| seated_to_standing | Pose change — lifestyle shoots |
#Camera presets
| camera | Look |
|---|---|
| locked | Tripod — subject moves |
| dolly_in | Slow approach — drama |
| orbit | Camera arcs around subject — best with twirl/turntable |
| handheld | Slight shake — social/UGC look |
#Duration & FPS
duration_seconds: 1–15. Most providers cap at 10.fps: 12–60. Default 24 (cinematic).
For Reels / TikTok / Shorts, 5–8 seconds at 24fps is ideal — fast enough to ship, long enough to show the drape.
#Provider routing
Premium video routes across Kling, Runway Gen-3, and Veo (whichever is healthy and cheapest at request time). Standard tier is forthcoming as provider availability stabilizes.
#Billing
Video is billed by second of duration at the tier rate — a 5-second premium video is 5 × $1.80 = $9.00. Failed jobs are not billed.