{"openapi":"3.1.0","info":{"title":"GarmentVerse API","description":"Provider-agnostic virtual try-on API. Two modes — garment-to-person (M1) and person-to-person (M2) — for photorealistic multi-view images and temporally-consistent video.","version":"0.0.1"},"paths":{"/health":{"get":{"tags":["meta"],"summary":"Liveness probe","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/version":{"get":{"tags":["meta"],"summary":"Build version","operationId":"version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionResponse"}}}}}}},"/v1/workspaces":{"post":{"tags":["workspaces"],"summary":"Create a workspace and return a freshly-issued API key","description":"Bootstrap endpoint: creates a workspace and returns an initial **test**\nAPI key. The plaintext key is shown ONLY in this response — store it\nsomewhere safe; we only keep an Argon2 hash.","operationId":"create_workspace_v1_workspaces_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me":{"get":{"tags":["me"],"summary":"Workspace + balance + recent usage rollup","operationId":"get_me_v1_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys":{"post":{"tags":["api-keys"],"summary":"Issue a new API key for the calling workspace","operationId":"create_key_v1_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["api-keys"],"summary":"List API keys","operationId":"list_keys_v1_keys_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyOut"},"title":"Response List Keys V1 Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys/{key_id}":{"delete":{"tags":["api-keys"],"summary":"Revoke an API key","operationId":"revoke_key_v1_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files":{"post":{"tags":["files"],"summary":"Upload a file (person, garment, reference person, etc.)","operationId":"upload_file_v1_files_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_v1_files_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files/{file_id}":{"get":{"tags":["files"],"summary":"File metadata","operationId":"get_file_v1_files__file_id__get","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files/{file_id}/content":{"get":{"tags":["files"],"summary":"Download raw bytes (Phase 0.5: streamed via API for local backend)","operationId":"get_file_content_v1_files__file_id__content_get","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}},"image/*":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs":{"post":{"tags":["jobs"],"summary":"Create a job (provider execution wired in Phase 1)","operationId":"create_job_v1_jobs_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["jobs"],"summary":"List recent jobs","operationId":"list_jobs_v1_jobs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"enum":["queued","running","succeeded","failed","cancelled"],"type":"string"},{"type":"null"}],"title":"Status Filter"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOut"},"title":"Response List Jobs V1 Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}":{"get":{"tags":["jobs"],"summary":"Get job by id","operationId":"get_job_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/cancel":{"post":{"tags":["jobs"],"summary":"Cancel a queued/running job","operationId":"cancel_job_v1_jobs__job_id__cancel_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/tryon":{"post":{"tags":["images"],"summary":"Generate try-on image(s) — single view or multi-view catalog","operationId":"create_tryon_v1_images_tryon_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageTryOnRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/{job_id}/outputs":{"get":{"tags":["images"],"summary":"List image outputs (aggregates children for catalog jobs)","operationId":"list_outputs_v1_images__job_id__outputs_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOutputOut"},"title":"Response List Outputs V1 Images  Job Id  Outputs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/videos/tryon":{"post":{"tags":["videos"],"summary":"Generate a temporally-consistent try-on video","operationId":"create_video_tryon_v1_videos_tryon_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoTryOnRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/videos/{job_id}/outputs":{"get":{"tags":["videos"],"summary":"List video outputs for a try-on job","operationId":"list_outputs_v1_videos__job_id__outputs_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOutputOut"},"title":"Response List Outputs V1 Videos  Job Id  Outputs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/overview":{"get":{"tags":["admin"],"summary":"System-wide rollup","operationId":"overview_v1_admin_overview_get","parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOverview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/workspaces":{"get":{"tags":["admin"],"summary":"List all workspaces","operationId":"list_workspaces_v1_admin_workspaces_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminWorkspaceListItem"},"title":"Response List Workspaces V1 Admin Workspaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/workspaces/{workspace_id}":{"get":{"tags":["admin"],"summary":"Workspace detail with keys, recent jobs, and usage","operationId":"workspace_detail_v1_admin_workspaces__workspace_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminWorkspaceDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/workspaces/{workspace_id}/credits":{"post":{"tags":["admin"],"summary":"Grant or deduct credits (audit-logged)","operationId":"grant_credits_v1_admin_workspaces__workspace_id__credits_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantCreditsBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/jobs":{"get":{"tags":["admin"],"summary":"System-wide job feed (filterable)","operationId":"list_jobs_v1_admin_jobs_get","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminJobListItem"},"title":"Response List Jobs V1 Admin Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/jobs/{job_id}":{"get":{"tags":["admin"],"summary":"Full job detail (any workspace)","operationId":"job_detail_v1_admin_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Job Detail V1 Admin Jobs  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/providers":{"get":{"tags":["admin"],"summary":"Provider list with health + 30-day spend","operationId":"providers_v1_admin_providers_get","parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminProviderInfo"},"title":"Response Providers V1 Admin Providers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AdminJobListItem":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"workspace_name":{"type":"string","title":"Workspace Name"},"type":{"type":"string","title":"Type"},"mode":{"type":"string","title":"Mode"},"status":{"type":"string","title":"Status"},"tier":{"type":"string","title":"Tier"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"cost_credits":{"type":"integer","title":"Cost Credits"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"}},"type":"object","required":["id","workspace_id","workspace_name","type","mode","status","tier","provider","cost_credits","error","created_at","finished_at"],"title":"AdminJobListItem"},"AdminOverview":{"properties":{"workspaces_total":{"type":"integer","title":"Workspaces Total"},"workspaces_with_activity_7d":{"type":"integer","title":"Workspaces With Activity 7D"},"jobs_total_7d":{"type":"integer","title":"Jobs Total 7D"},"jobs_succeeded_7d":{"type":"integer","title":"Jobs Succeeded 7D"},"jobs_failed_7d":{"type":"integer","title":"Jobs Failed 7D"},"success_rate_7d":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Success Rate 7D"},"revenue_credits_30d":{"type":"integer","title":"Revenue Credits 30D"},"provider_cost_usd_30d":{"type":"number","title":"Provider Cost Usd 30D"},"margin_usd_30d":{"type":"number","title":"Margin Usd 30D"},"by_provider_7d":{"items":{"$ref":"#/components/schemas/ProviderRollup"},"type":"array","title":"By Provider 7D"},"by_tier_7d":{"items":{"$ref":"#/components/schemas/TierRollup"},"type":"array","title":"By Tier 7D"},"daily_jobs_14d":{"items":{"$ref":"#/components/schemas/DailyJobs"},"type":"array","title":"Daily Jobs 14D"}},"type":"object","required":["workspaces_total","workspaces_with_activity_7d","jobs_total_7d","jobs_succeeded_7d","jobs_failed_7d","success_rate_7d","revenue_credits_30d","provider_cost_usd_30d","margin_usd_30d","by_provider_7d","by_tier_7d","daily_jobs_14d"],"title":"AdminOverview"},"AdminProviderInfo":{"properties":{"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind"},"tiers":{"items":{"type":"string"},"type":"array","title":"Tiers"},"modes":{"items":{"type":"string"},"type":"array","title":"Modes"},"max_resolution":{"prefixItems":[{"type":"integer"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Max Resolution"},"quality_score":{"type":"integer","title":"Quality Score"},"estimated_cost_usd":{"type":"number","title":"Estimated Cost Usd"},"requires_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requires Secret"},"secret_present":{"type":"boolean","title":"Secret Present"},"spend_usd_30d":{"type":"number","title":"Spend Usd 30D"},"jobs_30d":{"type":"integer","title":"Jobs 30D"}},"type":"object","required":["name","kind","tiers","modes","max_resolution","quality_score","estimated_cost_usd","requires_secret","secret_present","spend_usd_30d","jobs_30d"],"title":"AdminProviderInfo"},"AdminWorkspaceDetail":{"properties":{"workspace":{"$ref":"#/components/schemas/WorkspaceOut"},"keys":{"items":{"$ref":"#/components/schemas/ApiKeyOut"},"type":"array","title":"Keys"},"recent_jobs":{"items":{"$ref":"#/components/schemas/JobOut"},"type":"array","title":"Recent Jobs"},"usage":{"$ref":"#/components/schemas/UsageRollup"}},"type":"object","required":["workspace","keys","recent_jobs","usage"],"title":"AdminWorkspaceDetail"},"AdminWorkspaceListItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"plan":{"type":"string","title":"Plan"},"credits_balance":{"type":"integer","title":"Credits Balance"},"credits_spent_30d":{"type":"integer","title":"Credits Spent 30D"},"jobs_total_30d":{"type":"integer","title":"Jobs Total 30D"},"last_job_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Job At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","plan","credits_balance","credits_spent_30d","jobs_total_30d","last_job_at","created_at"],"title":"AdminWorkspaceListItem"},"ApiKeyCreate":{"properties":{"name":{"type":"string","maxLength":120,"title":"Name","default":"default"},"environment":{"type":"string","enum":["test","live"],"title":"Environment","default":"test"}},"type":"object","title":"ApiKeyCreate"},"ApiKeyCreated":{"properties":{"key":{"$ref":"#/components/schemas/ApiKeyOut"},"plaintext":{"type":"string","title":"Plaintext"}},"type":"object","required":["key","plaintext"],"title":"ApiKeyCreated","description":"Returned ONCE on creation; the plaintext key is never retrievable again."},"ApiKeyOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"environment":{"type":"string","title":"Environment"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","prefix","environment","last_used_at","revoked_at","created_at"],"title":"ApiKeyOut"},"Body_upload_file_v1_files_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"kind":{"type":"string","enum":["person","garment","reference_person","output","other"],"title":"Kind","default":"other"}},"type":"object","required":["file"],"title":"Body_upload_file_v1_files_post"},"DailyJobs":{"properties":{"date":{"type":"string","title":"Date"},"total":{"type":"integer","title":"Total"},"succeeded":{"type":"integer","title":"Succeeded"},"failed":{"type":"integer","title":"Failed"}},"type":"object","required":["date","total","succeeded","failed"],"title":"DailyJobs"},"FileOut":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"type":"string","title":"Kind"},"mime":{"type":"string","title":"Mime"},"size_bytes":{"type":"integer","title":"Size Bytes"},"sha256":{"type":"string","title":"Sha256"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"},"original_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Filename"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","kind","mime","size_bytes","sha256","width","height","original_filename","created_at"],"title":"FileOut"},"GarmentSpec":{"properties":{"category":{"type":"string","enum":["saree","lehenga","anarkali","salwar_kameez","kurta","sherwani","dhoti","dress","tshirt","shirt","trousers","jacket","suit","other"],"title":"Category","default":"other"},"subtype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtype"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"}},"type":"object","title":"GarmentSpec"},"GrantCreditsBody":{"properties":{"amount":{"type":"integer","title":"Amount","description":"Positive to add, negative to deduct"},"reason":{"type":"string","maxLength":200,"minLength":1,"title":"Reason"}},"type":"object","required":["amount","reason"],"title":"GrantCreditsBody"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"env":{"type":"string","title":"Env"}},"type":"object","required":["status","env"],"title":"HealthResponse"},"ImageTryOnRequest":{"properties":{"mode":{"type":"string","enum":["garment_to_person","person_to_person"],"title":"Mode"},"person_image":{"type":"string","title":"Person Image","description":"file_id of the target identity"},"garment_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Garment Image","description":"file_id of the garment (M1)"},"reference_person_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Person Image","description":"file_id of a person wearing outfit C (M2)"},"garment":{"$ref":"#/components/schemas/GarmentSpec"},"pose":{"type":"string","title":"Pose","default":"relaxed standing"},"views":{"items":{"type":"string","enum":["front","three_quarter_left","side","three_quarter_right","back"]},"type":"array","maxItems":5,"minItems":1,"title":"Views","description":"One or more catalog angles. With 1 view this returns a single image; with >1 the request fans out as a multi-view catalog with identity locked across angles."},"background":{"type":"string","title":"Background","default":"studio_white"},"resolution":{"type":"string","title":"Resolution","default":"1024x1536"},"tier":{"type":"string","enum":["draft","standard","premium"],"title":"Tier","default":"standard"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","default":"auto"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"consent_token":{"type":"boolean","title":"Consent Token","description":"Caller attests they have rights to the input person image."},"idempotency_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency Key"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["mode","person_image","consent_token"],"title":"ImageTryOnRequest"},"JobCreate":{"properties":{"type":{"type":"string","enum":["image_tryon","video_tryon","catalog"],"title":"Type","default":"image_tryon"},"mode":{"type":"string","enum":["garment_to_person","person_to_person"],"title":"Mode"},"tier":{"type":"string","enum":["draft","standard","premium"],"title":"Tier","default":"standard"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","default":"auto"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"idempotency_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency Key"}},"type":"object","required":["mode"],"title":"JobCreate"},"JobOut":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","title":"Type"},"mode":{"type":"string","title":"Mode"},"status":{"type":"string","title":"Status"},"tier":{"type":"string","title":"Tier"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"cost_credits":{"type":"integer","title":"Cost Credits"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"}},"type":"object","required":["id","type","mode","status","tier","provider","params","cost_credits","error","created_at","started_at","finished_at"],"title":"JobOut"},"JobOutputOut":{"properties":{"id":{"type":"string","title":"Id"},"file_id":{"type":"string","title":"File Id"},"view":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"View"},"frame_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Index"},"meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","file_id","view","frame_index","meta","created_at"],"title":"JobOutputOut"},"MeResponse":{"properties":{"workspace":{"$ref":"#/components/schemas/WorkspaceOut"},"usage":{"$ref":"#/components/schemas/UsageRollup"}},"type":"object","required":["workspace","usage"],"title":"MeResponse"},"ProviderRollup":{"properties":{"provider":{"type":"string","title":"Provider"},"jobs":{"type":"integer","title":"Jobs"},"succeeded":{"type":"integer","title":"Succeeded"},"failed":{"type":"integer","title":"Failed"},"revenue_credits":{"type":"integer","title":"Revenue Credits"},"provider_cost_usd":{"type":"number","title":"Provider Cost Usd"}},"type":"object","required":["provider","jobs","succeeded","failed","revenue_credits","provider_cost_usd"],"title":"ProviderRollup"},"TierRollup":{"properties":{"tier":{"type":"string","title":"Tier"},"jobs":{"type":"integer","title":"Jobs"},"revenue_credits":{"type":"integer","title":"Revenue Credits"}},"type":"object","required":["tier","jobs","revenue_credits"],"title":"TierRollup"},"UsageRollup":{"properties":{"spend_credits_this_month":{"type":"integer","title":"Spend Credits This Month"},"jobs_last_7d_total":{"type":"integer","title":"Jobs Last 7D Total"},"jobs_last_7d_succeeded":{"type":"integer","title":"Jobs Last 7D Succeeded"},"jobs_last_7d_failed":{"type":"integer","title":"Jobs Last 7D Failed"},"success_rate_last_7d":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Success Rate Last 7D"}},"type":"object","required":["spend_credits_this_month","jobs_last_7d_total","jobs_last_7d_succeeded","jobs_last_7d_failed","success_rate_last_7d"],"title":"UsageRollup"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VersionResponse":{"properties":{"name":{"type":"string","title":"Name"},"version":{"type":"string","title":"Version"},"env":{"type":"string","title":"Env"}},"type":"object","required":["name","version","env"],"title":"VersionResponse"},"VideoTryOnRequest":{"properties":{"mode":{"type":"string","enum":["garment_to_person","person_to_person"],"title":"Mode"},"person_image":{"type":"string","title":"Person Image","description":"file_id of the target identity"},"garment_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Garment Image"},"reference_person_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Person Image"},"garment":{"$ref":"#/components/schemas/GarmentSpec"},"pose":{"type":"string","title":"Pose","default":"relaxed standing"},"background":{"type":"string","title":"Background","default":"studio_white"},"resolution":{"type":"string","title":"Resolution","default":"1280x720"},"duration_seconds":{"type":"number","maximum":15.0,"minimum":1.0,"title":"Duration Seconds","default":5.0},"fps":{"type":"integer","maximum":60.0,"minimum":12.0,"title":"Fps","default":24},"motion":{"type":"string","enum":["idle_sway","turntable_360","walk_cycle","twirl","runway","seated_to_standing"],"title":"Motion","default":"idle_sway"},"camera":{"type":"string","enum":["locked","dolly_in","orbit","handheld"],"title":"Camera","default":"locked"},"tier":{"type":"string","enum":["draft","standard","premium"],"title":"Tier","default":"standard"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","default":"auto"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"consent_token":{"type":"boolean","title":"Consent Token"},"idempotency_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency Key"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["mode","person_image","consent_token"],"title":"VideoTryOnRequest"},"WorkspaceCreate":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"plan":{"type":"string","title":"Plan","default":"free"},"initial_credits":{"type":"integer","title":"Initial Credits","default":100}},"type":"object","required":["name"],"title":"WorkspaceCreate"},"WorkspaceOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"plan":{"type":"string","title":"Plan"},"credits_balance":{"type":"integer","title":"Credits Balance"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","plan","credits_balance","created_at"],"title":"WorkspaceOut"}}}}