{"components":{"schemas":{"AdjustCreditsRequest":{"properties":{"amount":{"description":"正数发放，负数扣减","title":"Amount","type":"number"},"reason":{"maxLength":200,"minLength":1,"title":"Reason","type":"string"}},"required":["amount","reason"],"title":"AdjustCreditsRequest","type":"object"},"AdminAnnouncementResponse":{"properties":{"content":{"maxLength":500,"title":"Content","type":"string"},"enabled":{"title":"Enabled","type":"boolean"},"link_url":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"title":"Link Url"},"updated_at":{"format":"date-time","title":"Updated At","type":"string"},"updated_by_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By Email"},"version":{"format":"int64","minimum":1,"title":"Version","type":"integer"}},"required":["enabled","content","link_url","version","updated_at","updated_by_email"],"title":"AdminAnnouncementResponse","type":"object"},"AdminChallengeResponse":{"properties":{"expires_at":{"format":"date-time","type":"string"},"resend_after":{"minimum":0,"type":"integer"},"state":{"enum":["email_required","totp_required","enrollment_authorization_required","totp_enrollment_required","totp_enrollment_confirmation_required"],"type":"string"}},"required":["state","expires_at"],"type":"object"},"AdminCheckinRewardRow":{"properties":{"credits":{"exclusiveMinimum":0,"maximum":1000000,"title":"Credits","type":"number"},"cycle_day":{"maximum":30,"minimum":1,"title":"Cycle Day","type":"integer"},"updated_at":{"format":"date-time","title":"Updated At","type":"string"},"updated_by_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By Email"},"version":{"minimum":1,"title":"Version","type":"integer"}},"required":["cycle_day","credits","version","updated_at","updated_by_email"],"title":"AdminCheckinRewardRow","type":"object"},"AdminCodeRequest":{"properties":{"code":{"pattern":"^[0-9]{6}$","type":"string"}},"required":["code"],"type":"object"},"AdminCompleteRequest":{"properties":{"recovery_code":{"maxLength":64,"minLength":16,"type":"string"},"totp_code":{"pattern":"^[0-9]{6}$","type":"string"}},"type":"object"},"AdminCompleteResponse":{"properties":{"recovery_codes":{"items":{"type":"string"},"type":"array"},"session_expires_at":{"format":"date-time","type":"string"},"state":{"const":"authenticated","type":"string"}},"required":["state","session_expires_at"],"type":"object"},"AdminEmailVerificationErrorResponse":{"properties":{"code":{"const":"ADMIN_EMAIL_CODE_INVALID_OR_EXPIRED","type":"string"},"detail":{"type":"string"}},"required":["code","detail"],"type":"object"},"AdminEnrollmentAuthorizeRequest":{"properties":{"authorization_code":{"maxLength":64,"minLength":16,"type":"string"}},"required":["authorization_code"],"type":"object"},"AdminFeatureFlagRow":{"properties":{"description":{"title":"Description","type":"string"},"effective_enabled":{"title":"Effective Enabled","type":"boolean"},"enabled":{"title":"Enabled","type":"boolean"},"key":{"title":"Key","type":"string"},"name":{"title":"Name","type":"string"},"public_message":{"title":"Public Message","type":"string"},"updated_at":{"format":"date-time","title":"Updated At","type":"string"},"updated_by_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By Email"},"version":{"format":"int64","minimum":1,"title":"Version","type":"integer"}},"required":["key","name","description","enabled","effective_enabled","public_message","version","updated_at","updated_by_email"],"title":"AdminFeatureFlagRow","type":"object"},"AdminLoginStartRequest":{"properties":{"email":{"format":"email","type":"string"},"password":{"maxLength":128,"minLength":8,"type":"string"}},"required":["email","password"],"type":"object"},"AdminMeResponse":{"properties":{"absolute_expires_at":{"format":"date-time","type":"string"},"authenticated_at":{"format":"date-time","type":"string"},"csrf_ready":{"type":"boolean"},"recovery_codes_remaining":{"minimum":0,"type":"integer"},"user":{"$ref":"#/components/schemas/UserResponse"}},"required":["user","authenticated_at","absolute_expires_at","recovery_codes_remaining","csrf_ready"],"type":"object"},"AdminOrderList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdminOrderRow"},"title":"Items","type":"array"},"total":{"title":"Total","type":"integer"}},"required":["items","total"],"title":"AdminOrderList","type":"object"},"AdminOrderRow":{"properties":{"amount_cents":{"title":"Amount Cents","type":"integer"},"created_at":{"format":"date-time","title":"Created At","type":"string"},"credits":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Credits"},"currency":{"title":"Currency","type":"string"},"fulfilled_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Fulfilled At"},"id":{"title":"Id","type":"string"},"kind":{"title":"Kind","type":"string"},"out_trade_no":{"title":"Out Trade No","type":"string"},"paid_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Paid At"},"plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Id"},"provider":{"title":"Provider","type":"string"},"provider_txn_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Txn Id"},"status":{"title":"Status","type":"string"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"user_id":{"title":"User Id","type":"string"}},"required":["id","user_id","kind","plan_id","credits","amount_cents","currency","provider","status","out_trade_no","provider_txn_id","created_at","paid_at","fulfilled_at"],"title":"AdminOrderRow","type":"object"},"AdminPlanRow":{"properties":{"allow_720p":{"title":"Allow 720P","type":"boolean"},"allow_avatar":{"title":"Allow Avatar","type":"boolean"},"allow_tts":{"title":"Allow Tts","type":"boolean"},"code":{"title":"Code","type":"string"},"currency":{"title":"Currency","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"id":{"title":"Id","type":"string"},"is_public":{"title":"Is Public","type":"boolean"},"max_concurrent_jobs":{"title":"Max Concurrent Jobs","type":"integer"},"monthly_credits":{"title":"Monthly Credits","type":"integer"},"name":{"title":"Name","type":"string"},"price_cents":{"title":"Price Cents","type":"integer"},"rate_limit_per_min":{"title":"Rate Limit Per Min","type":"integer"},"sort_order":{"title":"Sort Order","type":"integer"}},"required":["id","code","name","description","price_cents","currency","monthly_credits","rate_limit_per_min","max_concurrent_jobs","allow_tts","allow_avatar","allow_720p","is_public","sort_order"],"title":"AdminPlanRow","type":"object"},"AdminProvisionResponse":{"properties":{"manual_secret":{"type":"string"},"otpauth_uri":{"type":"string"},"state":{"const":"totp_enrollment_confirmation_required","type":"string"}},"required":["state","otpauth_uri","manual_secret"],"type":"object"},"AdminUserList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdminUserRow"},"title":"Items","type":"array"},"total":{"title":"Total","type":"integer"}},"required":["items","total"],"title":"AdminUserList","type":"object"},"AdminUserRow":{"properties":{"balance":{"default":0,"title":"Balance","type":"number"},"created_at":{"format":"date-time","title":"Created At","type":"string"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"email":{"title":"Email","type":"string"},"id":{"title":"Id","type":"string"},"is_active":{"title":"Is Active","type":"boolean"},"is_admin":{"title":"Is Admin","type":"boolean"},"plan_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Code"},"subscription_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Status"}},"required":["id","email","display_name","is_active","is_admin","created_at"],"title":"AdminUserRow","type":"object"},"ApiKeyCreatedResponse":{"properties":{"created_at":{"format":"date-time","title":"Created At","type":"string"},"id":{"title":"Id","type":"string"},"is_active":{"title":"Is Active","type":"boolean"},"key":{"title":"Key","type":"string"},"last_used_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Last Used At"},"name":{"title":"Name","type":"string"},"public_prefix":{"title":"Public Prefix","type":"string"}},"required":["id","name","public_prefix","is_active","last_used_at","created_at","key"],"title":"ApiKeyCreatedResponse","type":"object"},"ApiKeyResponse":{"properties":{"created_at":{"format":"date-time","title":"Created At","type":"string"},"id":{"title":"Id","type":"string"},"is_active":{"title":"Is Active","type":"boolean"},"last_used_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Last Used At"},"name":{"title":"Name","type":"string"},"public_prefix":{"title":"Public Prefix","type":"string"}},"required":["id","name","public_prefix","is_active","last_used_at","created_at"],"title":"ApiKeyResponse","type":"object"},"AssetListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AssetRecord"},"title":"Items","type":"array"},"limit":{"title":"Limit","type":"integer"},"offset":{"title":"Offset","type":"integer"},"total":{"title":"Total","type":"integer"}},"required":["items","total","limit","offset"],"title":"AssetListResponse","type":"object"},"AssetRecord":{"properties":{"actual_credits":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Actual Credits"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"created_at":{"format":"date-time","title":"Created At","type":"string"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"finished_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Finished At"},"id":{"title":"Id","type":"string"},"retained_until":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Retained Until"},"state":{"$ref":"#/components/schemas/AssetState"},"summary":{"title":"Summary","type":"string"},"type":{"$ref":"#/components/schemas/JobType"}},"required":["id","type","state","summary","created_at","finished_at","actual_credits","error_message","content_type","retained_until"],"title":"AssetRecord","type":"object"},"AssetState":{"enum":["queued","processing","available","expired","failed","cancelled"],"title":"AssetState","type":"string"},"AuditLogList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AuditLogRow"},"title":"Items","type":"array"},"total":{"title":"Total","type":"integer"}},"required":["items","total"],"title":"AuditLogList","type":"object"},"AuditLogRow":{"properties":{"action":{"title":"Action","type":"string"},"actor_email":{"title":"Actor Email","type":"string"},"created_at":{"format":"date-time","title":"Created At","type":"string"},"detail":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Detail"},"id":{"title":"Id","type":"string"},"target_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Id"},"target_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Label"},"target_type":{"title":"Target Type","type":"string"}},"required":["id","actor_email","action","target_type","target_id","target_label","detail","created_at"],"title":"AuditLogRow","type":"object"},"AutoRenewRequest":{"properties":{"enabled":{"title":"Enabled","type":"boolean"}},"required":["enabled"],"title":"AutoRenewRequest","type":"object"},"AvatarFromTextRequest":{"description":"One call: text -\u003e (internal IndexTTS-2) -\u003e LongCat avatar video.","properties":{"audio_cfg":{"default":4,"maximum":10,"minimum":1,"title":"Audio Cfg","type":"number"},"image_ref_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Ref Key"},"num_segments":{"default":1,"maximum":10,"minimum":1,"title":"Num Segments","type":"integer"},"prompt":{"default":"","maxLength":2000,"title":"Prompt","type":"string"},"resolution":{"$ref":"#/components/schemas/Resolution","default":"480p"},"text":{"maxLength":5000,"minLength":1,"title":"Text","type":"string"},"voice_ref_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Ref Key"},"webhook_url":{"anyOf":[{"format":"uri","maxLength":2083,"minLength":1,"type":"string"},{"type":"null"}],"title":"Webhook Url"}},"required":["text"],"title":"AvatarFromTextRequest","type":"object"},"AvatarRequest":{"properties":{"audio_cfg":{"default":4,"maximum":10,"minimum":1,"title":"Audio Cfg","type":"number"},"audio_ref_key":{"description":"Driving audio object key","title":"Audio Ref Key","type":"string"},"image_ref_key":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Reference portrait image object key","title":"Image Ref Key"},"num_segments":{"default":1,"maximum":10,"minimum":1,"title":"Num Segments","type":"integer"},"prompt":{"default":"","maxLength":2000,"title":"Prompt","type":"string"},"ref_img_index":{"default":10,"maximum":30,"minimum":0,"title":"Ref Img Index","type":"integer"},"resolution":{"$ref":"#/components/schemas/Resolution","default":"480p"},"webhook_url":{"anyOf":[{"format":"uri","maxLength":2083,"minLength":1,"type":"string"},{"type":"null"}],"title":"Webhook Url"}},"required":["audio_ref_key"],"title":"AvatarRequest","type":"object"},"BalanceResponse":{"properties":{"balance":{"title":"Balance","type":"number"},"checkin_balance":{"title":"Check-in Balance","type":"number"},"currency":{"default":"credits","title":"Currency","type":"string"},"subscription_balance":{"title":"Subscription Balance","type":"number"},"topup_balance":{"title":"Topup Balance","type":"number"}},"required":["balance","subscription_balance","checkin_balance","topup_balance"],"title":"BalanceResponse","type":"object"},"CapabilitiesResponse":{"properties":{"features":{"additionalProperties":{"$ref":"#/components/schemas/PublicFeatureCapability"},"title":"Features","type":"object"},"read_only":{"title":"Read Only","type":"boolean"},"workers":{"additionalProperties":{"$ref":"#/components/schemas/WorkerAvailability"},"title":"Workers","type":"object"}},"required":["read_only","features","workers"],"title":"CapabilitiesResponse","type":"object"},"ChangePasswordRequest":{"properties":{"new_password":{"maxLength":128,"minLength":8,"title":"New Password","type":"string"},"old_password":{"maxLength":128,"minLength":8,"title":"Old Password","type":"string"}},"required":["old_password","new_password"],"title":"ChangePasswordRequest","type":"object"},"CheckinResponse":{"properties":{"already_checked_in":{"title":"Already Checked In","type":"boolean"},"balance":{"$ref":"#/components/schemas/BalanceResponse"},"checked_in_at":{"format":"date-time","title":"Checked In At","type":"string"},"checkin_date":{"format":"date","title":"Check-in Date","type":"string"},"credits_awarded":{"exclusiveMinimum":0,"title":"Credits Awarded","type":"number"},"cycle_day":{"maximum":30,"minimum":1,"title":"Cycle Day","type":"integer"},"streak_days":{"minimum":1,"title":"Streak Days","type":"integer"}},"required":["already_checked_in","checkin_date","cycle_day","streak_days","credits_awarded","checked_in_at","balance"],"title":"CheckinResponse","type":"object"},"CheckinRewardDay":{"properties":{"credits":{"exclusiveMinimum":0,"title":"Credits","type":"number"},"cycle_day":{"maximum":30,"minimum":1,"title":"Cycle Day","type":"integer"}},"required":["cycle_day","credits"],"title":"CheckinRewardDay","type":"object"},"CheckinStatusResponse":{"properties":{"available_reward_credits":{"minimum":0,"title":"Available Reward Credits","type":"number"},"checked_in_today":{"title":"Checked In Today","type":"boolean"},"current_cycle_day":{"maximum":30,"minimum":0,"title":"Current Cycle Day","type":"integer"},"enabled":{"title":"Enabled","type":"boolean"},"last_checkin_date":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}],"title":"Last Check-in Date"},"message":{"title":"Message","type":"string"},"next_checkin_at":{"format":"date-time","title":"Next Check-in At","type":"string"},"next_cycle_day":{"maximum":30,"minimum":1,"title":"Next Cycle Day","type":"integer"},"next_reward_credits":{"minimum":0,"title":"Next Reward Credits","type":"number"},"rewards":{"items":{"$ref":"#/components/schemas/CheckinRewardDay"},"maxItems":30,"minItems":30,"title":"Rewards","type":"array"},"streak_days":{"minimum":0,"title":"Streak Days","type":"integer"}},"required":["enabled","message","checked_in_today","current_cycle_day","next_cycle_day","streak_days","available_reward_credits","next_reward_credits","last_checkin_date","next_checkin_at","rewards"],"title":"CheckinStatusResponse","type":"object"},"ClaimRequest":{"properties":{"job_type":{"title":"Job Type","type":"string"},"worker_id":{"maxLength":80,"title":"Worker Id","type":"string"},"worker_version":{"maxLength":160,"title":"Worker Version","type":"string"}},"required":["worker_id","job_type","worker_version"],"title":"ClaimRequest","type":"object"},"ClaimedJob":{"properties":{"attempt":{"minimum":1,"title":"Attempt","type":"integer"},"input_urls":{"additionalProperties":{"type":"string"},"title":"Input Urls","type":"object"},"job_id":{"title":"Job Id","type":"string"},"lease_expires_at":{"format":"date-time","title":"Lease Expires At","type":"string"},"lease_token":{"title":"Lease Token","type":"string","writeOnly":true},"output_key":{"title":"Output Key","type":"string"},"payload":{"additionalProperties":true,"title":"Payload","type":"object"},"type":{"title":"Type","type":"string"}},"required":["job_id","type","payload","lease_token","lease_expires_at","attempt","output_key"],"title":"ClaimedJob","type":"object"},"CompleteRequest":{"properties":{"actual_seconds":{"title":"Actual Seconds","type":"number"},"lease_token":{"title":"Lease Token","type":"string","writeOnly":true},"output_key":{"title":"Output Key","type":"string"},"result_meta":{"additionalProperties":true,"title":"Result Meta","type":"object"},"worker_id":{"title":"Worker Id","type":"string"}},"required":["worker_id","lease_token","output_key","actual_seconds"],"title":"CompleteRequest","type":"object"},"CreateApiKeyRequest":{"properties":{"name":{"default":"default","maxLength":120,"title":"Name","type":"string"}},"title":"CreateApiKeyRequest","type":"object"},"CreateOrderRequest":{"properties":{"idempotency_key":{"maxLength":128,"minLength":8,"pattern":"^[A-Za-z0-9._:-]+$","title":"Idempotency Key","type":"string"},"plan_code":{"title":"Plan Code","type":"string"},"provider":{"$ref":"#/components/schemas/PaymentProvider"}},"required":["plan_code"],"title":"CreateOrderRequest","type":"object"},"CreateOrderResponse":{"properties":{"order":{"$ref":"#/components/schemas/OrderResponse"},"payment":{"$ref":"#/components/schemas/PaymentInstructionResponse"}},"required":["order","payment"],"title":"CreateOrderResponse","type":"object"},"CreatePlanRequest":{"properties":{"allow_720p":{"default":true,"title":"Allow 720P","type":"boolean"},"allow_avatar":{"default":true,"title":"Allow Avatar","type":"boolean"},"allow_tts":{"default":true,"title":"Allow Tts","type":"boolean"},"code":{"maxLength":50,"minLength":1,"title":"Code","type":"string"},"currency":{"default":"CNY","maxLength":3,"title":"Currency","type":"string"},"description":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"title":"Description"},"is_public":{"default":true,"title":"Is Public","type":"boolean"},"max_concurrent_jobs":{"default":2,"minimum":0,"title":"Max Concurrent Jobs","type":"integer"},"monthly_credits":{"default":0,"minimum":0,"title":"Monthly Credits","type":"integer"},"name":{"maxLength":120,"minLength":1,"title":"Name","type":"string"},"price_cents":{"default":0,"minimum":0,"title":"Price Cents","type":"integer"},"rate_limit_per_min":{"default":60,"minimum":0,"title":"Rate Limit Per Min","type":"integer"},"sort_order":{"default":0,"title":"Sort Order","type":"integer"}},"required":["code","name"],"title":"CreatePlanRequest","type":"object"},"CreateTopupRequest":{"properties":{"idempotency_key":{"maxLength":128,"minLength":8,"pattern":"^[A-Za-z0-9._:-]+$","title":"Idempotency Key","type":"string"},"pack_code":{"title":"Pack Code","type":"string"},"provider":{"$ref":"#/components/schemas/PaymentProvider"}},"required":["pack_code"],"title":"CreateTopupRequest","type":"object"},"CreditPackResponse":{"properties":{"code":{"title":"Code","type":"string"},"credits":{"title":"Credits","type":"integer"},"currency":{"title":"Currency","type":"string"},"name":{"title":"Name","type":"string"},"price_cents":{"title":"Price Cents","type":"integer"}},"required":["code","name","credits","price_cents","currency"],"title":"CreditPackResponse","type":"object"},"CreditSource":{"description":"Which bucket a credit belongs to.\n\n- SUBSCRIPTION: granted by a plan; expires at renewal.\n- CHECKIN: granted by daily check-in; never expires and is consumed after subscription credits.\n- TOPUP: purchased credits; never expires and is consumed last.","enum":["subscription","checkin","topup"],"title":"CreditSource","type":"string"},"EmailCodePurpose":{"enum":["register","reset_password"],"title":"EmailCodePurpose","type":"string"},"FailRequest":{"properties":{"error_code":{"default":"worker_error","title":"Error Code","type":"string"},"error_message":{"default":"","title":"Error Message","type":"string"},"lease_token":{"title":"Lease Token","type":"string","writeOnly":true},"worker_id":{"title":"Worker Id","type":"string"}},"required":["worker_id","lease_token"],"title":"FailRequest","type":"object"},"FeatureDisabledResponse":{"properties":{"code":{"const":"feature_disabled","title":"Code","type":"string"},"detail":{"title":"Detail","type":"string"},"feature":{"title":"Feature","type":"string"}},"required":["detail","code","feature"],"title":"FeatureDisabledResponse","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"HeartbeatRequest":{"properties":{"lease_token":{"title":"Lease Token","type":"string","writeOnly":true},"worker_id":{"title":"Worker Id","type":"string"}},"required":["worker_id","lease_token"],"title":"HeartbeatRequest","type":"object"},"JobAcceptedResponse":{"properties":{"estimate_detail":{"additionalProperties":true,"title":"Estimate Detail","type":"object"},"id":{"title":"Id","type":"string"},"reserved_credits":{"title":"Reserved Credits","type":"number"},"status":{"$ref":"#/components/schemas/JobStatus"},"type":{"$ref":"#/components/schemas/JobType"}},"required":["id","type","status","reserved_credits","estimate_detail"],"title":"JobAcceptedResponse","type":"object"},"JobResponse":{"properties":{"actual_credits":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Actual Credits"},"created_at":{"format":"date-time","title":"Created At","type":"string"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"finished_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Finished At"},"id":{"title":"Id","type":"string"},"reserved_credits":{"title":"Reserved Credits","type":"number"},"started_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Started At"},"status":{"$ref":"#/components/schemas/JobStatus"},"type":{"$ref":"#/components/schemas/JobType"}},"required":["id","type","status","reserved_credits","actual_credits","error_code","error_message","created_at","started_at","finished_at"],"title":"JobResponse","type":"object"},"JobResultExpiredResponse":{"properties":{"code":{"const":"JOB_RESULT_EXPIRED","title":"Code","type":"string"},"detail":{"title":"Detail","type":"string"}},"required":["code","detail"],"title":"JobResultExpiredResponse","type":"object"},"JobResultResponse":{"properties":{"expires_in":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires In"},"id":{"title":"Id","type":"string"},"result_meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Result Meta"},"result_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Result Url"},"retained_until":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"description":"Planned deletion time for a registered generated result.","title":"Retained Until"},"status":{"$ref":"#/components/schemas/JobStatus"}},"required":["id","status"],"title":"JobResultResponse","type":"object"},"JobStatus":{"enum":["queued","processing","succeeded","failed","cancelled"],"title":"JobStatus","type":"string"},"JobType":{"enum":["tts","avatar"],"title":"JobType","type":"string"},"LedgerEntryResponse":{"properties":{"amount":{"title":"Amount","type":"number"},"created_at":{"format":"date-time","title":"Created At","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"entry_type":{"title":"Entry Type","type":"string"},"id":{"title":"Id","type":"string"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id"},"source":{"title":"Source","type":"string"}},"required":["id","entry_type","amount","source","job_id","description","created_at"],"title":"LedgerEntryResponse","type":"object"},"LedgerEntryType":{"enum":["grant","reserve","settle","refund","expire"],"title":"LedgerEntryType","type":"string"},"LedgerPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/LedgerEntryResponse"},"title":"Items","type":"array"},"limit":{"title":"Limit","type":"integer"},"offset":{"title":"Offset","type":"integer"},"total":{"title":"Total","type":"integer"}},"required":["items","total","limit","offset"],"title":"LedgerPage","type":"object"},"LoginRequest":{"properties":{"email":{"format":"email","title":"Email","type":"string"},"password":{"title":"Password","type":"string"}},"required":["email","password"],"title":"LoginRequest","type":"object"},"ManualConfirmRequest":{"properties":{"out_trade_no":{"title":"Out Trade No","type":"string"}},"required":["out_trade_no"],"title":"ManualConfirmRequest","type":"object"},"OrderResponse":{"properties":{"amount_cents":{"title":"Amount Cents","type":"integer"},"created_at":{"format":"date-time","title":"Created At","type":"string"},"credits":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Credits"},"currency":{"title":"Currency","type":"string"},"fulfilled_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Fulfilled At"},"id":{"title":"Id","type":"string"},"kind":{"title":"Kind","type":"string"},"out_trade_no":{"title":"Out Trade No","type":"string"},"paid_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Paid At"},"plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Id"},"provider":{"$ref":"#/components/schemas/PaymentProvider"},"provider_txn_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Txn Id"},"status":{"$ref":"#/components/schemas/OrderStatus"}},"required":["id","kind","plan_id","credits","amount_cents","currency","provider","status","out_trade_no","provider_txn_id","created_at","paid_at","fulfilled_at"],"title":"OrderResponse","type":"object"},"OrderStatus":{"enum":["pending","paid","fulfilled","failed","closed"],"title":"OrderStatus","type":"string"},"OutputUploadRequest":{"properties":{"content_md5":{"title":"Content Md5","type":"string"},"lease_token":{"title":"Lease Token","type":"string","writeOnly":true},"output_key":{"title":"Output Key","type":"string"},"size_bytes":{"maximum":5368709120,"minimum":1,"title":"Size Bytes","type":"integer"},"worker_id":{"title":"Worker Id","type":"string"}},"required":["worker_id","lease_token","output_key","size_bytes","content_md5"],"title":"OutputUploadRequest","type":"object"},"OutputUploadResponse":{"properties":{"expires_at":{"format":"date-time","title":"Expires At","type":"string"},"headers":{"additionalProperties":{"type":"string"},"title":"Headers","type":"object"},"upload_url":{"title":"Upload Url","type":"string"}},"required":["upload_url","headers","expires_at"],"title":"OutputUploadResponse","type":"object"},"PaymentInstructionResponse":{"properties":{"expires_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Expires At"},"extra":{"additionalProperties":{"type":"string"},"default":{},"title":"Extra","type":"object"},"kind":{"title":"Kind","type":"string"},"payload":{"title":"Payload","type":"string"}},"required":["kind","payload"],"title":"PaymentInstructionResponse","type":"object"},"PaymentMethodResponse":{"properties":{"kind":{"enum":["qrcode","redirect","manual"],"type":"string"},"name":{"type":"string"},"provider":{"$ref":"#/components/schemas/PaymentProvider"}},"required":["provider","name","kind"],"title":"PaymentMethodResponse","type":"object"},"PaymentProvider":{"enum":["manual","alipay","wechat"],"title":"PaymentProvider","type":"string"},"PlanResponse":{"properties":{"allow_720p":{"title":"Allow 720P","type":"boolean"},"allow_avatar":{"title":"Allow Avatar","type":"boolean"},"allow_tts":{"title":"Allow Tts","type":"boolean"},"code":{"title":"Code","type":"string"},"currency":{"title":"Currency","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"id":{"title":"Id","type":"string"},"max_concurrent_jobs":{"title":"Max Concurrent Jobs","type":"integer"},"monthly_credits":{"title":"Monthly Credits","type":"integer"},"name":{"title":"Name","type":"string"},"price_cents":{"title":"Price Cents","type":"integer"},"rate_limit_per_min":{"title":"Rate Limit Per Min","type":"integer"},"sort_order":{"title":"Sort Order","type":"integer"}},"required":["id","code","name","description","price_cents","currency","monthly_credits","rate_limit_per_min","max_concurrent_jobs","allow_tts","allow_avatar","allow_720p","sort_order"],"title":"PlanResponse","type":"object"},"ProgressRequest":{"properties":{"lease_token":{"title":"Lease Token","type":"string","writeOnly":true},"progress":{"maximum":1,"minimum":0,"title":"Progress","type":"number"},"worker_id":{"title":"Worker Id","type":"string"}},"required":["worker_id","lease_token","progress"],"title":"ProgressRequest","type":"object"},"PublicAnnouncementResponse":{"properties":{"content":{"maxLength":500,"title":"Content","type":"string"},"enabled":{"title":"Enabled","type":"boolean"},"link_url":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"title":"Link Url"}},"required":["enabled","content","link_url"],"title":"PublicAnnouncementResponse","type":"object"},"PublicFeatureCapability":{"properties":{"enabled":{"title":"Enabled","type":"boolean"},"message":{"title":"Message","type":"string"}},"required":["enabled","message"],"title":"PublicFeatureCapability","type":"object"},"ReconciliationReport":{"properties":{"active_subscriptions":{"title":"Active Subscriptions","type":"integer"},"auto_renew_enabled":{"title":"Auto Renew Enabled","type":"integer"},"checkin_credits":{"title":"Check-in Credits","type":"number"},"credits_outstanding":{"title":"Credits Outstanding","type":"number"},"generated_at":{"format":"date-time","title":"Generated At","type":"string"},"orders_by_status":{"additionalProperties":{"type":"integer"},"title":"Orders By Status","type":"object"},"past_due_subscriptions":{"title":"Past Due Subscriptions","type":"integer"},"revenue_by_kind":{"items":{"$ref":"#/components/schemas/RevenueByKind"},"title":"Revenue By Kind","type":"array"},"subscription_credits":{"title":"Subscription Credits","type":"number"},"topup_credits":{"title":"Topup Credits","type":"number"},"total_revenue_cents":{"title":"Total Revenue Cents","type":"integer"}},"required":["orders_by_status","revenue_by_kind","total_revenue_cents","credits_outstanding","subscription_credits","checkin_credits","topup_credits","active_subscriptions","past_due_subscriptions","auto_renew_enabled","generated_at"],"title":"ReconciliationReport","type":"object"},"RefreshRequest":{"properties":{"refresh_token":{"title":"Refresh Token","type":"string"}},"title":"RefreshRequest","type":"object"},"RegisterRequest":{"properties":{"code":{"maxLength":6,"minLength":6,"title":"Code","type":"string"},"display_name":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Display Name"},"email":{"format":"email","title":"Email","type":"string"},"password":{"maxLength":128,"minLength":8,"title":"Password","type":"string"}},"required":["email","password","code"],"title":"RegisterRequest","type":"object"},"RenameVoiceAssetRequest":{"properties":{"display_name":{"maxLength":80,"minLength":1,"title":"Display Name","type":"string"}},"required":["display_name"],"title":"RenameVoiceAssetRequest","type":"object"},"ResetPasswordRequest":{"properties":{"code":{"title":"Code","type":"string"},"email":{"format":"email","title":"Email","type":"string"},"new_password":{"maxLength":128,"minLength":8,"title":"New Password","type":"string"}},"required":["email","code","new_password"],"title":"ResetPasswordRequest","type":"object"},"Resolution":{"enum":["480p","720p"],"title":"Resolution","type":"string"},"RevenueByKind":{"properties":{"fulfilled_orders":{"title":"Fulfilled Orders","type":"integer"},"kind":{"title":"Kind","type":"string"},"revenue_cents":{"title":"Revenue Cents","type":"integer"}},"required":["kind","fulfilled_orders","revenue_cents"],"title":"RevenueByKind","type":"object"},"SendCodeRequest":{"properties":{"email":{"format":"email","title":"Email","type":"string"},"purpose":{"$ref":"#/components/schemas/EmailCodePurpose"}},"required":["email","purpose"],"title":"SendCodeRequest","type":"object"},"SendCodeResponse":{"properties":{"dev_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dev Code"},"expires_in":{"title":"Expires In","type":"integer"},"message":{"title":"Message","type":"string"},"resend_after":{"title":"Resend After","type":"integer"}},"required":["message","expires_in","resend_after"],"title":"SendCodeResponse","type":"object"},"ServiceUnavailableResponse":{"properties":{"code":{"title":"Code","type":"string"},"detail":{"title":"Detail","type":"string"}},"required":["code","detail"],"title":"ServiceUnavailableResponse","type":"object"},"StorageFolder":{"properties":{"name":{"title":"Name","type":"string"},"prefix":{"title":"Prefix","type":"string"}},"required":["prefix","name"],"title":"StorageFolder","type":"object"},"StorageListResponse":{"properties":{"files":{"items":{"$ref":"#/components/schemas/StorageObject"},"title":"Files","type":"array"},"folders":{"items":{"$ref":"#/components/schemas/StorageFolder"},"title":"Folders","type":"array"},"next_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Token"},"prefix":{"title":"Prefix","type":"string"}},"required":["prefix","folders","files"],"title":"StorageListResponse","type":"object"},"StorageObject":{"properties":{"key":{"title":"Key","type":"string"},"last_modified":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Last Modified"},"name":{"title":"Name","type":"string"},"size":{"title":"Size","type":"integer"}},"required":["key","name","size"],"title":"StorageObject","type":"object"},"StoragePresignGetRequest":{"properties":{"key":{"maxLength":1024,"minLength":1,"title":"Key","type":"string"}},"required":["key"],"title":"StoragePresignGetRequest","type":"object"},"StoragePresignPutRequest":{"properties":{"content_type":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"title":"Content Type"},"key":{"maxLength":1024,"minLength":1,"title":"Key","type":"string"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"}},"required":["key"],"title":"StoragePresignPutRequest","type":"object"},"StoragePresignResponse":{"properties":{"expires_in":{"title":"Expires In","type":"integer"},"key":{"title":"Key","type":"string"},"url":{"title":"Url","type":"string"}},"required":["url","key","expires_in"],"title":"StoragePresignResponse","type":"object"},"SubscribeRequest":{"properties":{"plan_code":{"title":"Plan Code","type":"string"}},"required":["plan_code"],"title":"SubscribeRequest","type":"object"},"SubscriptionResponse":{"properties":{"auto_renew":{"title":"Auto Renew","type":"boolean"},"can_auto_renew":{"title":"Can Auto Renew","type":"boolean"},"cancel_at_period_end":{"title":"Cancel At Period End","type":"boolean"},"current_period_end":{"format":"date-time","title":"Current Period End","type":"string"},"current_period_start":{"format":"date-time","title":"Current Period Start","type":"string"},"id":{"title":"Id","type":"string"},"payment_provider":{"anyOf":[{"$ref":"#/components/schemas/PaymentProvider"},{"type":"null"}]},"plan":{"$ref":"#/components/schemas/PlanResponse"},"status":{"$ref":"#/components/schemas/SubscriptionStatus"}},"required":["id","plan","status","current_period_start","current_period_end","cancel_at_period_end","auto_renew","can_auto_renew","payment_provider"],"title":"SubscriptionResponse","type":"object"},"SubscriptionStatus":{"enum":["active","past_due","cancelled","expired"],"title":"SubscriptionStatus","type":"string"},"SystemLogDetail":{"allOf":[{"$ref":"#/components/schemas/SystemLogRow"},{"properties":{"attributes":{"additionalProperties":true,"title":"Attributes","type":"object"},"auth_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Kind"},"client_ip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Ip"},"stack_trace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stack Trace"},"user_agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Agent"}},"required":["client_ip","user_agent","auth_kind","attributes","stack_trace"],"type":"object"}],"title":"SystemLogDetail"},"SystemLogList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SystemLogRow"},"title":"Items","type":"array"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"title":"Total","type":"integer"}},"required":["items","total","next_cursor"],"title":"SystemLogList","type":"object"},"SystemLogRow":{"properties":{"component":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component"},"duration_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Ms"},"environment":{"title":"Environment","type":"string"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"event":{"title":"Event","type":"string"},"id":{"title":"Id","type":"string"},"ingested_at":{"format":"date-time","title":"Ingested At","type":"string"},"instance_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instance Id"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id"},"level":{"enum":["DEBUG","INFO","WARN","ERROR"],"title":"Level","type":"string"},"message":{"title":"Message","type":"string"},"method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Method"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string"},"order_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Id"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"response_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Bytes"},"route":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Route"},"service":{"title":"Service","type":"string"},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Status Code"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"worker_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Worker Id"}},"required":["id","occurred_at","ingested_at","level","service","component","instance_id","environment","event","message","error_code","request_id","user_id","job_id","order_id","worker_id","method","route","status_code","duration_ms","response_bytes"],"title":"SystemLogRow","type":"object"},"SystemLogServiceCount":{"properties":{"count":{"title":"Count","type":"integer"},"service":{"title":"Service","type":"string"}},"required":["service","count"],"title":"SystemLogServiceCount","type":"object"},"SystemLogStats":{"properties":{"by_service":{"items":{"$ref":"#/components/schemas/SystemLogServiceCount"},"title":"By Service","type":"array"},"error_count":{"title":"Error Count","type":"integer"},"from":{"format":"date-time","title":"From","type":"string"},"http_4xx_count":{"title":"HTTP 4xx Count","type":"integer"},"http_5xx_count":{"title":"HTTP 5xx Count","type":"integer"},"p95_duration_ms":{"anyOf":[{"format":"double","type":"number"},{"type":"null"}],"title":"P95 Duration Ms"},"slow_request_count":{"title":"Slow Request Count","type":"integer"},"to":{"format":"date-time","title":"To","type":"string"},"total":{"title":"Total","type":"integer"},"warn_count":{"title":"Warn Count","type":"integer"}},"required":["from","to","total","error_count","warn_count","http_4xx_count","http_5xx_count","slow_request_count","p95_duration_ms","by_service"],"title":"SystemLogStats","type":"object"},"TTSRequest":{"properties":{"emo_alpha":{"default":1,"maximum":1,"minimum":0,"title":"Emo Alpha","type":"number"},"emo_ref_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Emo Ref Key"},"emo_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Emo Text"},"emo_vector":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"description":"8 floats: [happy, angry, sad, afraid, disgusted, melancholic, surprised, calm]","title":"Emo Vector"},"text":{"maxLength":5000,"minLength":1,"title":"Text","type":"string"},"use_emo_text":{"default":false,"title":"Use Emo Text","type":"boolean"},"use_fp16":{"default":true,"title":"Use Fp16","type":"boolean"},"voice_asset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Asset Id"},"voice_preset_id":{"anyOf":[{"pattern":"^vp_[a-f0-9]{24}$","type":"string"},{"type":"null"}],"description":"Server-managed preset ID. Mutually exclusive with voice_asset_id and voice_ref_key.","title":"Voice Preset Id"},"voice_ref_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Ref Key"},"webhook_url":{"anyOf":[{"format":"uri","maxLength":2083,"minLength":1,"type":"string"},{"type":"null"}],"title":"Webhook Url"}},"required":["text"],"title":"TTSRequest","type":"object"},"TokenResponse":{"properties":{"access_token":{"title":"Access Token","type":"string"},"refresh_token":{"title":"Refresh Token","type":"string"},"token_type":{"default":"bearer","title":"Token Type","type":"string"}},"required":["access_token","refresh_token"],"title":"TokenResponse","type":"object"},"UpdateAnnouncementRequest":{"properties":{"content":{"maxLength":500,"title":"Content","type":"string"},"enabled":{"title":"Enabled","type":"boolean"},"expected_version":{"format":"int64","minimum":1,"title":"Expected Version","type":"integer"},"link_url":{"maxLength":2048,"title":"Link Url","type":"string"},"reason":{"maxLength":500,"minLength":2,"title":"Reason","type":"string"}},"required":["enabled","content","link_url","reason","expected_version"],"title":"UpdateAnnouncementRequest","type":"object"},"UpdateCheckinRewardItem":{"properties":{"credits":{"exclusiveMinimum":0,"maximum":1000000,"title":"Credits","type":"number"},"cycle_day":{"maximum":30,"minimum":1,"title":"Cycle Day","type":"integer"},"expected_version":{"minimum":1,"title":"Expected Version","type":"integer"}},"required":["cycle_day","credits","expected_version"],"title":"UpdateCheckinRewardItem","type":"object"},"UpdateCheckinRewardsRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UpdateCheckinRewardItem"},"maxItems":30,"minItems":1,"title":"Items","type":"array"},"reason":{"maxLength":500,"minLength":2,"title":"Reason","type":"string"}},"required":["items","reason"],"title":"UpdateCheckinRewardsRequest","type":"object"},"UpdateFeatureFlagRequest":{"properties":{"enabled":{"title":"Enabled","type":"boolean"},"expected_version":{"format":"int64","minimum":1,"title":"Expected Version","type":"integer"},"public_message":{"maxLength":255,"title":"Public Message","type":"string"},"reason":{"maxLength":500,"minLength":2,"title":"Reason","type":"string"}},"required":["enabled","public_message","reason","expected_version"],"title":"UpdateFeatureFlagRequest","type":"object"},"UpdatePlanRequest":{"properties":{"allow_720p":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow 720P"},"allow_avatar":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Avatar"},"allow_tts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Tts"},"description":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"title":"Description"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"},"max_concurrent_jobs":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"title":"Max Concurrent Jobs"},"monthly_credits":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"title":"Monthly Credits"},"name":{"anyOf":[{"maxLength":120,"minLength":1,"type":"string"},{"type":"null"}],"title":"Name"},"price_cents":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"title":"Price Cents"},"rate_limit_per_min":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"title":"Rate Limit Per Min"},"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"}},"title":"UpdatePlanRequest","type":"object"},"UpdateUserRequest":{"properties":{"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"is_admin":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Admin"},"password":{"anyOf":[{"maxLength":128,"minLength":8,"type":"string"},{"type":"null"}],"title":"Password"}},"title":"UpdateUserRequest","type":"object"},"UploadCompleteResponse":{"properties":{"asset_id":{"title":"Asset Id","type":"string"},"retained_until":{"format":"date-time","title":"Retained Until","type":"string"},"uploaded_at":{"format":"date-time","title":"Uploaded At","type":"string"}},"required":["asset_id","uploaded_at","retained_until"],"title":"UploadCompleteResponse","type":"object"},"UploadUrlRequest":{"properties":{"content_type":{"default":"application/octet-stream","title":"Content Type","type":"string"},"display_name":{"maxLength":80,"title":"Display Name","type":"string"},"filename":{"title":"Filename","type":"string"},"purpose":{"default":"input","pattern":"^(input|voice_reference|emotion_reference)$","title":"Purpose","type":"string"},"rights_confirmed":{"default":false,"description":"Required for session-authenticated voice and emotion reference uploads.","title":"Rights Confirmed","type":"boolean"},"size_bytes":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"description":"Required for browser uploads and signed into the presigned request.","title":"Size Bytes"}},"required":["filename"],"title":"UploadUrlRequest","type":"object"},"UploadUrlResponse":{"properties":{"asset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Id"},"delete_after":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Delete After"},"expires_in":{"title":"Expires In","type":"integer"},"object_key":{"title":"Object Key","type":"string"},"upload_url":{"title":"Upload Url","type":"string"}},"required":["upload_url","object_key","expires_in"],"title":"UploadUrlResponse","type":"object"},"UserResponse":{"properties":{"avatar_url":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}],"title":"Avatar Url"},"created_at":{"format":"date-time","title":"Created At","type":"string"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"email":{"format":"email","title":"Email","type":"string"},"email_verified":{"title":"Email Verified","type":"boolean"},"id":{"title":"Id","type":"string"},"is_active":{"title":"Is Active","type":"boolean"},"is_admin":{"title":"Is Admin","type":"boolean"},"wechat_bound":{"title":"Wechat Bound","type":"boolean"}},"required":["id","email","display_name","is_active","is_admin","created_at","email_verified","avatar_url","wechat_bound"],"title":"UserResponse","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"VoiceAssetListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/VoiceAssetRecord"},"title":"Items","type":"array"},"limit":{"title":"Limit","type":"integer"},"offset":{"title":"Offset","type":"integer"},"total":{"title":"Total","type":"integer"}},"required":["items","total","limit","offset"],"title":"VoiceAssetListResponse","type":"object"},"VoiceAssetPlaybackResponse":{"properties":{"expires_in":{"title":"Expires In","type":"integer"},"url":{"title":"Url","type":"string"}},"required":["url","expires_in"],"title":"VoiceAssetPlaybackResponse","type":"object"},"VoiceAssetRecord":{"properties":{"display_name":{"title":"Display Name","type":"string"},"id":{"title":"Id","type":"string"},"original_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Filename"},"retained_until":{"format":"date-time","title":"Retained Until","type":"string"},"size_bytes":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"title":"Size Bytes"},"uploaded_at":{"format":"date-time","title":"Uploaded At","type":"string"}},"required":["id","display_name","original_filename","size_bytes","uploaded_at","retained_until"],"title":"VoiceAssetRecord","type":"object"},"VoicePresetListResponse":{"properties":{"catalog_version":{"title":"Catalog Version","type":"string"},"generated_at":{"format":"date-time","title":"Generated At","type":"string"},"items":{"items":{"$ref":"#/components/schemas/VoicePresetRecord"},"title":"Items","type":"array"},"limit":{"title":"Limit","type":"integer"},"offset":{"title":"Offset","type":"integer"},"total":{"title":"Total","type":"integer"}},"required":["catalog_version","generated_at","items","total","limit","offset"],"title":"VoicePresetListResponse","type":"object"},"VoicePresetRecord":{"properties":{"display_name":{"title":"Display Name","type":"string"},"duration_ms":{"minimum":1,"title":"Duration Ms","type":"integer"},"id":{"pattern":"^vp_[a-f0-9]{24}$","title":"Id","type":"string"},"language":{"title":"Language","type":"string"},"locale":{"title":"Locale","type":"string"},"size_bytes":{"minimum":1,"title":"Size Bytes","type":"integer"},"usage_count":{"description":"Number of successfully completed TTS jobs that used this preset.","minimum":0,"title":"Usage Count","type":"integer"}},"required":["id","display_name","language","locale","duration_ms","size_bytes","usage_count"],"title":"VoicePresetRecord","type":"object"},"WechatBindStartRequest":{"properties":{"code":{"maxLength":6,"minLength":6,"type":"string"}},"required":["code"],"title":"WechatBindStartRequest","type":"object"},"WechatLoginStartResponse":{"properties":{"app_id":{"type":"string"},"expires_at":{"format":"date-time","type":"string"},"redirect_uri":{"type":"string"},"scope":{"enum":["snsapi_login"],"type":"string"},"state":{"type":"string"},"transaction_id":{"format":"uuid","type":"string"}},"required":["transaction_id","app_id","scope","redirect_uri","state","expires_at"],"title":"WechatLoginStartResponse","type":"object"},"WechatStatusResponse":{"properties":{"avatar_url":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"bound":{"type":"boolean"},"bound_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"last_login_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"nickname":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["bound","nickname","avatar_url","bound_at","last_login_at"],"title":"WechatStatusResponse","type":"object"},"WechatUnbindRequest":{"properties":{"code":{"maxLength":6,"minLength":6,"type":"string"}},"required":["code"],"title":"WechatUnbindRequest","type":"object"},"WechatVerificationCodeRequest":{"properties":{"action":{"enum":["bind","unbind"],"type":"string"}},"required":["action"],"title":"WechatVerificationCodeRequest","type":"object"},"WorkerAck":{"properties":{"job_status":{"anyOf":[{"$ref":"#/components/schemas/JobStatus"},{"type":"null"}]},"ok":{"default":true,"title":"Ok","type":"boolean"}},"title":"WorkerAck","type":"object"},"WorkerAvailability":{"properties":{"available":{"title":"Available","type":"boolean"}},"required":["available"],"title":"WorkerAvailability","type":"object"},"WorkerLogBatch":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/WorkerLogEntry"},"maxItems":100,"minItems":1,"title":"Entries","type":"array"},"job_type":{"enum":["tts","avatar"],"title":"Job Type","type":"string"},"worker_id":{"maxLength":120,"minLength":1,"title":"Worker Id","type":"string"}},"required":["worker_id","job_type","entries"],"title":"WorkerLogBatch","type":"object"},"WorkerLogEntry":{"properties":{"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"event":{"maxLength":120,"minLength":1,"title":"Event","type":"string"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id"},"level":{"enum":["DEBUG","INFO","WARN","ERROR"],"title":"Level","type":"string"},"message":{"maxLength":2000,"minLength":1,"title":"Message","type":"string"},"occurred_at":{"format":"date-time","title":"Occurred At","type":"string"},"stack_trace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stack Trace"}},"required":["level","event","message"],"title":"WorkerLogEntry","type":"object"}},"securitySchemes":{"APIKeyHeader":{"in":"header","name":"X-API-Key","type":"apiKey"},"AdminCookie":{"in":"cookie","name":"yb_admin_access_token","type":"apiKey"},"HTTPBearer":{"scheme":"bearer","type":"http"},"SessionCookie":{"description":"First-party same-origin HttpOnly browser session.","in":"cookie","name":"yb_access_token","type":"apiKey"}}},"info":{"description":"自托管音视频生成平台 API。TTS 由 IndexTTS-2 提供，音频驱动人像视频由 LongCat-Video-Avatar 1.5 提供。","title":"YB Studio API","version":"0.1.0"},"openapi":"3.1.0","paths":{"/admin/audit":{"get":{"operationId":"list_audit_admin_audit_get","parameters":[{"description":"按 action 精确过滤","in":"query","name":"action","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"按 action 精确过滤","title":"Action"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"title":"Offset","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogList"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"List Audit","tags":["admin"]}},"/admin/auth/login/complete":{"post":{"operationId":"admin_login_complete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCompleteRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCompleteResponse"}}},"description":"Management session created; tokens remain in cookies"}}}},"/admin/auth/login/email/resend":{"post":{"operationId":"admin_login_email_resend","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminChallengeResponse"}}},"description":"Verification email resent"}}}},"/admin/auth/login/email/verify":{"post":{"operationId":"admin_login_email_verify","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCodeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminChallengeResponse"}}},"description":"Email factor accepted"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminEmailVerificationErrorResponse"}}},"description":"Email code is invalid or expired"}}}},"/admin/auth/login/enrollment/authorize":{"post":{"operationId":"admin_login_enrollment_authorize","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminEnrollmentAuthorizeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminChallengeResponse"}}},"description":"Enrollment grant accepted"}}}},"/admin/auth/login/enrollment/provision":{"post":{"operationId":"admin_login_enrollment_provision","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminProvisionResponse"}}},"description":"TOTP secret provisioned once"}}}},"/admin/auth/login/start":{"post":{"operationId":"admin_login_start","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminLoginStartRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminChallengeResponse"}}},"description":"Uniform login challenge response"}}}},"/admin/auth/login/status":{"get":{"operationId":"admin_login_status","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminChallengeResponse"}}},"description":"Current challenge state"}}}},"/admin/auth/logout":{"post":{"operationId":"admin_logout","responses":{"204":{"description":"Management session revoked"}}}},"/admin/auth/me":{"get":{"operationId":"admin_me","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMeResponse"}}},"description":"Current management session"}},"security":[{"AdminCookie":[]}]}},"/admin/auth/refresh":{"post":{"operationId":"admin_refresh","responses":{"204":{"description":"Refresh token rotated"}}}},"/admin/checkin-rewards":{"get":{"operationId":"list_daily_checkin_rewards_admin_checkin_rewards_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminCheckinRewardRow"},"title":"Daily Check-in Rewards","type":"array"}}},"description":"Successful Response"}},"security":[{"AdminCookie":[]}],"summary":"List Daily Check-in Rewards","tags":["admin"]},"put":{"operationId":"update_daily_checkin_rewards_admin_checkin_rewards_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCheckinRewardsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminCheckinRewardRow"},"title":"Daily Check-in Rewards","type":"array"}}},"description":"Successful Response"},"409":{"content":{"application/json":{"schema":{"properties":{"detail":{"title":"Detail","type":"string"}},"required":["detail"],"title":"ErrorDetail","type":"object"}}},"description":"Version Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableResponse"}}},"description":"Reward Configuration Unavailable"}},"security":[{"AdminCookie":[]}],"summary":"Update Daily Check-in Rewards","tags":["admin"]}},"/admin/feature-flags":{"get":{"operationId":"list_feature_flags_admin_feature_flags_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminFeatureFlagRow"},"title":"Response List Feature Flags Admin Feature Flags Get","type":"array"}}},"description":"Successful Response"}},"security":[{"AdminCookie":[]}],"summary":"List Feature Flags","tags":["admin"]}},"/admin/feature-flags/{key}":{"put":{"operationId":"update_feature_flag_admin_feature_flags_key_put","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureFlagRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminFeatureFlagRow"}}},"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"properties":{"detail":{"title":"Detail","type":"string"}},"required":["detail"],"title":"ErrorDetail","type":"object"}}},"description":"Feature Flag Not Found"},"409":{"content":{"application/json":{"schema":{"properties":{"detail":{"title":"Detail","type":"string"}},"required":["detail"],"title":"ErrorDetail","type":"object"}}},"description":"Version Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"properties":{"detail":{"title":"Detail","type":"string"}},"required":["detail"],"title":"ErrorDetail","type":"object"}}},"description":"Feature Configuration Unavailable"}},"security":[{"AdminCookie":[]}],"summary":"Update Feature Flag","tags":["admin"]}},"/admin/orders":{"get":{"operationId":"list_orders_admin_orders_get","parameters":[{"in":"query","name":"status","schema":{"anyOf":[{"$ref":"#/components/schemas/OrderStatus"},{"type":"null"}],"title":"Status"}},{"description":"搜索订单号/用户邮箱","in":"query","name":"q","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"搜索订单号/用户邮箱","title":"Q"}},{"description":"起始时间(含)","in":"query","name":"start","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"description":"起始时间(含)","title":"Start"}},{"description":"结束时间(含)","in":"query","name":"end","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"description":"结束时间(含)","title":"End"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"title":"Offset","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOrderList"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"List Orders","tags":["admin"]}},"/admin/orders/export":{"get":{"description":"Export the (filtered) order list as CSV. No pagination — all matches.\n\nSelects enum columns cast to text so historical mixed-case enum values in a\nshared dev DB don't break ORM enum coercion (same guard as reconciliation).","operationId":"export_orders_admin_orders_export_get","parameters":[{"in":"query","name":"status","schema":{"anyOf":[{"$ref":"#/components/schemas/OrderStatus"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"q","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"start","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Start"}},{"in":"query","name":"end","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"End"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Export Orders","tags":["admin"]}},"/admin/plans":{"get":{"description":"All plans including private ones (public endpoint hides is_public=False).","operationId":"list_all_plans_admin_plans_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminPlanRow"},"title":"Response List All Plans Admin Plans Get","type":"array"}}},"description":"Successful Response"}},"security":[{"AdminCookie":[]}],"summary":"List All Plans","tags":["admin"]},"post":{"operationId":"create_plan_admin_plans_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePlanRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPlanRow"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Create Plan","tags":["admin"]}},"/admin/plans/{plan_id}":{"patch":{"operationId":"update_plan_admin_plans__plan_id__patch","parameters":[{"in":"path","name":"plan_id","required":true,"schema":{"title":"Plan Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePlanRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPlanRow"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Update Plan","tags":["admin"]}},"/admin/reconciliation":{"get":{"operationId":"reconciliation_admin_reconciliation_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconciliationReport"}}},"description":"Successful Response"}},"security":[{"AdminCookie":[]}],"summary":"Reconciliation","tags":["admin"]}},"/admin/site-announcement":{"get":{"operationId":"get_site_announcement_admin_site_announcement_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminAnnouncementResponse"}}},"description":"Successful Response"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableResponse"}}},"description":"Announcement Configuration Unavailable"}},"security":[{"AdminCookie":[]}],"summary":"Get Site Announcement","tags":["admin"]},"put":{"operationId":"update_site_announcement_admin_site_announcement_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAnnouncementRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminAnnouncementResponse"}}},"description":"Successful Response"},"409":{"description":"Version Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableResponse"}}},"description":"Announcement Configuration Unavailable"}},"security":[{"AdminCookie":[]}],"summary":"Update Site Announcement","tags":["admin"]}},"/admin/storage/list":{"get":{"description":"List one directory level (folders + files) under ``prefix``.","operationId":"list_storage_admin_storage_list_get","parameters":[{"description":"目录前缀，空为根目录","in":"query","name":"prefix","schema":{"default":"","description":"目录前缀，空为根目录","title":"Prefix","type":"string"}},{"description":"分页续传 token","in":"query","name":"token","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"分页续传 token","title":"Token"}},{"in":"query","name":"limit","schema":{"default":100,"maximum":1000,"minimum":1,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageListResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"List Storage","tags":["admin-storage"]}},"/admin/storage/object":{"delete":{"description":"Delete a single object and record an audit entry.","operationId":"delete_storage_object_admin_storage_object_delete","parameters":[{"in":"query","name":"key","required":true,"schema":{"maxLength":1024,"minLength":1,"title":"Key","type":"string"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Delete Storage Object","tags":["admin-storage"]}},"/admin/storage/presign-get":{"post":{"description":"Issue a short-lived GET URL for download or inline preview.","operationId":"presign_download_admin_storage_presign_get_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoragePresignGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoragePresignResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Presign Download","tags":["admin-storage"]}},"/admin/storage/presign-put":{"post":{"description":"Issue a short-lived PUT URL so the browser uploads directly to storage.","operationId":"presign_upload_admin_storage_presign_put_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoragePresignPutRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoragePresignResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Presign Upload","tags":["admin-storage"]}},"/admin/system-logs":{"get":{"operationId":"list_system_logs_admin_system_logs_get","parameters":[{"in":"query","name":"from","schema":{"format":"date-time","title":"From","type":"string"}},{"in":"query","name":"to","schema":{"format":"date-time","title":"To","type":"string"}},{"in":"query","name":"level","schema":{"enum":["DEBUG","INFO","WARN","ERROR"],"title":"Level","type":"string"}},{"in":"query","name":"service","schema":{"title":"Service","type":"string"}},{"in":"query","name":"component","schema":{"title":"Component","type":"string"}},{"in":"query","name":"event","schema":{"title":"Event","type":"string"}},{"in":"query","name":"status_class","schema":{"enum":["4xx","5xx"],"title":"Status Class","type":"string"}},{"in":"query","name":"slow_only","schema":{"default":false,"title":"Slow Only","type":"boolean"}},{"in":"query","name":"q","schema":{"maxLength":100,"title":"Query","type":"string"}},{"in":"query","name":"request_id","schema":{"title":"Request Id","type":"string"}},{"in":"query","name":"job_id","schema":{"title":"Job Id","type":"string"}},{"in":"query","name":"order_id","schema":{"title":"Order Id","type":"string"}},{"in":"query","name":"worker_id","schema":{"title":"Worker Id","type":"string"}},{"in":"query","name":"limit","schema":{"default":50,"maximum":100,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"cursor","schema":{"title":"Cursor","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemLogList"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"List System Logs","tags":["admin"]}},"/admin/system-logs/stats":{"get":{"operationId":"get_system_log_stats_admin_system_logs_stats_get","parameters":[{"in":"query","name":"from","schema":{"format":"date-time","title":"From","type":"string"}},{"in":"query","name":"to","schema":{"format":"date-time","title":"To","type":"string"}},{"in":"query","name":"service","schema":{"title":"Service","type":"string"}},{"in":"query","name":"component","schema":{"title":"Component","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemLogStats"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Get System Log Statistics","tags":["admin"]}},"/admin/system-logs/{log_id}":{"get":{"operationId":"get_system_log_detail_admin_system_logs__log_id__get","parameters":[{"in":"path","name":"log_id","required":true,"schema":{"title":"Log Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemLogDetail"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Get System Log Detail","tags":["admin"]}},"/admin/users":{"get":{"operationId":"list_users_admin_users_get","parameters":[{"description":"搜索邮箱/昵称","in":"query","name":"q","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"搜索邮箱/昵称","title":"Q"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"title":"Offset","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserList"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"List Users","tags":["admin"]}},"/admin/users/{user_id}":{"patch":{"operationId":"update_user_admin_users__user_id__patch","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserRow"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Update User","tags":["admin"]}},"/admin/users/{user_id}/credits":{"post":{"description":"Manually grant (+) or deduct (-) credits, recorded in the ledger.\n\nGrants land in the TOPUP bucket (persist across cycles); deductions post a\nnegative EXPIRE entry so they don't roll over either.","operationId":"adjust_credits_admin_users__user_id__credits_post","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdjustCreditsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserRow"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"AdminCookie":[]}],"summary":"Adjust Credits","tags":["admin"]}},"/assets":{"get":{"operationId":"list_assets_assets_get","parameters":[{"in":"query","name":"type","schema":{"$ref":"#/components/schemas/JobType"}},{"in":"query","name":"state","schema":{"$ref":"#/components/schemas/AssetState"}},{"in":"query","name":"search","schema":{"maxLength":100,"title":"Search","type":"string"}},{"in":"query","name":"limit","schema":{"default":20,"maximum":100,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"title":"Offset","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"List My Assets","tags":["assets"]}},"/auth/change-password":{"post":{"operationId":"change_password_auth_change_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}},"description":"Successful Response"},"400":{"description":"Invalid Password"},"401":{"description":"Unauthorized"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Change Password","tags":["auth"]}},"/auth/login":{"post":{"operationId":"login_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"429":{"description":"Too Many Requests"},"503":{"description":"Authentication Rate Limiter Temporarily Unavailable"}},"summary":"Login","tags":["auth"]}},"/auth/logout":{"post":{"operationId":"logout_auth_logout_post","responses":{"204":{"description":"Successful Response"}},"summary":"Logout","tags":["auth"]}},"/auth/me":{"get":{"operationId":"me_auth_me_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Me","tags":["auth"]}},"/auth/refresh":{"post":{"operationId":"refresh_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}},"description":"Successful Response"},"204":{"description":"Cookie Session Refreshed; Token Body Intentionally Omitted"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"429":{"description":"Too Many Requests"},"503":{"description":"Authentication Rate Limiter Temporarily Unavailable"}},"summary":"Refresh","tags":["auth"]}},"/auth/register":{"post":{"operationId":"register_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"429":{"description":"Too Many Requests"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature or Authentication Rate Limiter Temporarily Unavailable"}},"summary":"Register","tags":["auth"]}},"/auth/reset-password":{"post":{"operationId":"reset_password_auth_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"400":{"description":"Invalid or Expired Code"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reset Password","tags":["auth"]}},"/auth/send-code":{"post":{"operationId":"send_code_auth_send_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendCodeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendCodeResponse"}}},"description":"Successful Response"},"409":{"description":"Email Already Registered"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"429":{"description":"Too Many Requests"},"502":{"description":"Email Service Unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature or Authentication Rate Limiter Temporarily Unavailable"}},"summary":"Send Code","tags":["auth"]}},"/auth/wechat/bind/start":{"post":{"operationId":"wechat_bind_start_auth_wechat_bind_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WechatBindStartRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WechatLoginStartResponse"}}},"description":"WeChat binding transaction created"},"400":{"description":"Invalid or expired verification code"},"401":{"description":"Unauthorized"},"403":{"description":"Browser session and same-origin request required"},"409":{"description":"Account already bound"}},"security":[{"SessionCookie":[]}],"summary":"Start WeChat Binding","tags":["auth"]}},"/auth/wechat/callback":{"get":{"operationId":"wechat_callback_auth_wechat_callback_get","parameters":[{"in":"query","name":"code","schema":{"type":"string"}},{"in":"query","name":"state","schema":{"type":"string"}}],"responses":{"200":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"Minimal same-origin callback document"},"429":{"description":"Too Many Requests"}},"summary":"Complete WeChat Authorization","tags":["auth"]}},"/auth/wechat/exchange":{"get":{"operationId":"wechat_exchange_auth_wechat_exchange_get","parameters":[{"in":"query","name":"ticket","schema":{"type":"string"}}],"responses":{"302":{"description":"Session established and redirected to the dashboard or login page"},"429":{"description":"Too Many Requests"}},"summary":"Exchange WeChat Login Ticket","tags":["auth"]}},"/auth/wechat/login/start":{"post":{"operationId":"wechat_login_start_auth_wechat_login_start_post","responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WechatLoginStartResponse"}}},"description":"WeChat login transaction created"},"429":{"description":"Too Many Requests"},"503":{"description":"WeChat login unavailable"}},"summary":"Start WeChat Login","tags":["auth"]}},"/auth/wechat/status":{"get":{"operationId":"wechat_status_auth_wechat_status_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WechatStatusResponse"}}},"description":"Current account WeChat binding status"},"401":{"description":"Unauthorized"}},"security":[{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Get WeChat Binding Status","tags":["auth"]}},"/auth/wechat/unbind":{"post":{"operationId":"wechat_unbind_auth_wechat_unbind_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WechatUnbindRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}},"description":"WeChat identity removed and current session rotated"},"400":{"description":"Invalid or expired verification code"},"401":{"description":"Unauthorized"},"403":{"description":"Browser session and same-origin request required"},"409":{"description":"Account is not bound"}},"security":[{"SessionCookie":[]}],"summary":"Unbind WeChat","tags":["auth"]}},"/auth/wechat/verification-code":{"post":{"operationId":"wechat_verification_code_auth_wechat_verification_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WechatVerificationCodeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendCodeResponse"}}},"description":"Verification code sent"},"401":{"description":"Unauthorized"},"403":{"description":"Browser session and same-origin request required"},"409":{"description":"WeChat binding state conflict"},"422":{"description":"Validation Error"},"429":{"description":"Too Many Requests"}},"security":[{"SessionCookie":[]}],"summary":"Send WeChat Binding Verification Code","tags":["auth"]}},"/billing/balance":{"get":{"operationId":"get_balance_billing_balance_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BalanceResponse"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get Balance","tags":["billing"]}},"/billing/checkin":{"get":{"operationId":"get_daily_checkin_status_billing_checkin_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckinStatusResponse"}}},"description":"Successful Response"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableResponse"}}},"description":"Service Unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Get Daily Check-in Status","tags":["billing"]},"post":{"operationId":"claim_daily_checkin_reward_billing_checkin_post","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckinResponse"}}},"description":"Successful Response"},"429":{"description":"Too Many Requests"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Disabled"}},"security":[{"HTTPBearer":[]}],"summary":"Claim Daily Check-in Reward","tags":["billing"]}},"/billing/credit-packs":{"get":{"operationId":"list_credit_packs_billing_credit_packs_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreditPackResponse"},"title":"Response List Credit Packs Billing Credit Packs Get","type":"array"}}},"description":"Successful Response"}},"summary":"List Credit Packs","tags":["billing"]}},"/billing/dev/manual-confirm":{"post":{"description":"DEV-ONLY: simulate a manual-provider payment for one's own order.\n\nSigns a fake notify body and drives the same fulfillment path. Enabled only\nwhen the manual provider is enabled (disable in production).","operationId":"dev_manual_confirm_billing_dev_manual_confirm_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualConfirmRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Dev Manual Confirm","tags":["billing"]}},"/billing/ledger":{"get":{"operationId":"get_ledger_billing_ledger_get","parameters":[{"in":"query","name":"limit","schema":{"default":50,"maximum":200,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"title":"Offset","type":"integer"}},{"in":"query","name":"entry_type","schema":{"anyOf":[{"$ref":"#/components/schemas/LedgerEntryType"},{"type":"null"}],"title":"Entry Type"}},{"in":"query","name":"source","schema":{"anyOf":[{"$ref":"#/components/schemas/CreditSource"},{"type":"null"}],"title":"Source"}},{"description":"起始时间(含)","in":"query","name":"start","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"description":"起始时间(含)","title":"Start"}},{"description":"结束时间(含)","in":"query","name":"end","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"description":"结束时间(含)","title":"End"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerPage"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get Ledger","tags":["billing"]}},"/billing/ledger/export":{"get":{"description":"Export the (filtered) credit ledger as CSV. No pagination — all matches.","operationId":"export_ledger_billing_ledger_export_get","parameters":[{"in":"query","name":"entry_type","schema":{"anyOf":[{"$ref":"#/components/schemas/LedgerEntryType"},{"type":"null"}],"title":"Entry Type"}},{"in":"query","name":"source","schema":{"anyOf":[{"$ref":"#/components/schemas/CreditSource"},{"type":"null"}],"title":"Source"}},{"in":"query","name":"start","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Start"}},{"in":"query","name":"end","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"End"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Export Ledger","tags":["billing"]}},"/billing/notify/alipay":{"post":{"operationId":"notify_alipay_billing_notify_alipay_post","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Notify Alipay","tags":["billing"]}},"/billing/notify/manual":{"post":{"operationId":"notify_manual_billing_notify_manual_post","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Notify Manual","tags":["billing"]}},"/billing/notify/wechat":{"post":{"operationId":"notify_wechat_billing_notify_wechat_post","responses":{"204":{"description":"Callback acknowledged"}},"summary":"Notify Wechat","tags":["billing"]}},"/billing/orders":{"get":{"operationId":"list_orders_billing_orders_get","parameters":[{"in":"query","name":"limit","schema":{"default":20,"title":"Limit","type":"integer"}},{"in":"query","name":"status","schema":{"anyOf":[{"$ref":"#/components/schemas/OrderStatus"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"start","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Start"}},{"in":"query","name":"end","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"End"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrderResponse"},"title":"Response List Orders Billing Orders Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"List Orders","tags":["billing"]},"post":{"operationId":"create_order_billing_orders_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrderRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrderResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Create Order","tags":["billing"]}},"/billing/orders/export":{"get":{"description":"Export the (filtered) order history as CSV.","operationId":"export_orders_billing_orders_export_get","parameters":[{"in":"query","name":"status","schema":{"anyOf":[{"$ref":"#/components/schemas/OrderStatus"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"start","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"Start"}},{"in":"query","name":"end","schema":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}],"title":"End"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Export Orders","tags":["billing"]}},"/billing/orders/{order_id}":{"get":{"operationId":"get_order_billing_orders__order_id__get","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"title":"Order Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get Order","tags":["billing"]}},"/billing/orders/{order_id}/payment":{"get":{"operationId":"get_order_payment_billing_orders_order_id_payment_get","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrderResponse"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get Order Payment Instruction","tags":["billing"]}},"/billing/orders/{order_id}/sync":{"post":{"operationId":"sync_order_payment_billing_orders_order_id_sync_post","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrderResponse"}}},"description":"Successful Response"},"503":{"description":"Payment status temporarily unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Synchronize Order Payment Status","tags":["billing"]}},"/billing/payment-methods":{"get":{"operationId":"list_payment_methods_billing_payment_methods_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PaymentMethodResponse"},"type":"array"}}},"description":"Successful Response"}},"summary":"List Available Payment Methods","tags":["billing"]}},"/billing/plans":{"get":{"operationId":"list_plans_billing_plans_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlanResponse"},"title":"Response List Plans Billing Plans Get","type":"array"}}},"description":"Successful Response"}},"summary":"List Plans","tags":["billing"]}},"/billing/subscribe":{"post":{"description":"Provision a FREE plan immediately.\n\nPaid plans must go through /billing/orders + payment; this endpoint rejects\nthem so paid entitlements are only ever granted after a verified payment.","operationId":"subscribe_billing_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Subscribe","tags":["billing"]}},"/billing/subscription":{"get":{"operationId":"get_subscription_billing_subscription_get","responses":{"200":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionResponse"},{"type":"null"}],"title":"Response Get Subscription Billing Subscription Get"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get Subscription","tags":["billing"]}},"/billing/subscription/auto-renew":{"post":{"description":"Enable or disable auto-renewal for the current subscription.\n\nDisabling leaves the current paid period intact; the subscription simply\nwon't be auto-charged and will lapse to free at period end.","operationId":"set_auto_renew_billing_subscription_auto_renew_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoRenewRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Set Auto Renew","tags":["billing"]}},"/billing/topup":{"post":{"description":"Buy a one-off credit pack. Credits land in the TOPUP bucket (persist\nacross billing cycles) after payment is confirmed.","operationId":"create_topup_billing_topup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopupRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrderResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Create Topup","tags":["billing"]}},"/capabilities":{"get":{"operationId":"get_capabilities_capabilities_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilitiesResponse"}}},"description":"Successful Response"},"503":{"content":{"application/json":{"schema":{"properties":{"detail":{"title":"Detail","type":"string"}},"required":["detail"],"title":"ErrorDetail","type":"object"}}},"description":"Feature Configuration Unavailable"}},"summary":"Get Public Capabilities","tags":["capabilities"]}},"/docs/llms-full.txt":{"get":{"operationId":"llms_full_txt_docs_llms_full_txt_get","responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"Successful Response"}},"summary":"Llms Full Txt","tags":["docs"]}},"/docs/llms.txt":{"get":{"operationId":"llms_txt_docs_llms_txt_get","responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"Successful Response"}},"summary":"Llms Txt","tags":["docs"]}},"/docs/openapi.md":{"get":{"operationId":"openapi_markdown_docs_openapi_md_get","responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"Successful Response"}},"summary":"Openapi Markdown","tags":["docs"]}},"/health":{"get":{"operationId":"health_health_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"title":"Response Health Health Get","type":"object"}}},"description":"Successful Response"}},"summary":"Health","tags":["system"]}},"/keys":{"get":{"operationId":"list_keys_keys_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiKeyResponse"},"title":"Response List Keys Keys Get","type":"array"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"List Keys","tags":["api-keys"]},"post":{"operationId":"create_key_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreatedResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Create Key","tags":["api-keys"]}},"/keys/{key_id}":{"delete":{"operationId":"revoke_key_keys__key_id__delete","parameters":[{"in":"path","name":"key_id","required":true,"schema":{"title":"Key Id","type":"string"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Revoke Key","tags":["api-keys"]}},"/payments/wechat/notify":{"post":{"operationId":"notify_wechat_payments_wechat_notify_post","responses":{"204":{"description":"Callback acknowledged"}},"summary":"WeChat Payment Notification","tags":["billing"]}},"/site-announcement":{"get":{"operationId":"get_site_announcement_site_announcement_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAnnouncementResponse"}}},"description":"Successful Response"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableResponse"}}},"description":"Announcement Configuration Unavailable"}},"summary":"Get Public Site Announcement","tags":["site"]}},"/v1/avatar":{"post":{"operationId":"create_avatar_v1_avatar_post","parameters":[{"in":"header","name":"Idempotency-Key","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAcceptedResponse"}}},"description":"Successful Response"},"409":{"description":"Idempotency-Key was already used for a different request"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Create Avatar","tags":["generation"]}},"/v1/avatar/from-text":{"post":{"description":"One call: text -\u003e internal TTS -\u003e LongCat avatar video.\n\nPriced as an avatar job (the dominant cost); the internal TTS step is\nperformed by the video worker pipeline and reflected at settlement.","operationId":"create_avatar_from_text_v1_avatar_from_text_post","parameters":[{"in":"header","name":"Idempotency-Key","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarFromTextRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAcceptedResponse"}}},"description":"Successful Response"},"409":{"description":"Idempotency-Key was already used for a different request"},"410":{"description":"Selected voice reference has expired"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"HTTPBearer":[]}],"summary":"Create Avatar From Text","tags":["generation"]}},"/v1/jobs":{"get":{"operationId":"list_jobs_v1_jobs_get","parameters":[{"in":"query","name":"limit","schema":{"default":20,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/JobResponse"},"title":"Response List Jobs V1 Jobs Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"List Jobs","tags":["jobs"]}},"/v1/jobs/{job_id}":{"get":{"operationId":"get_job_v1_jobs__job_id__get","parameters":[{"in":"path","name":"job_id","required":true,"schema":{"title":"Job Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Get Job","tags":["jobs"]}},"/v1/jobs/{job_id}/result":{"get":{"operationId":"get_job_result_v1_jobs__job_id__result_get","parameters":[{"in":"path","name":"job_id","required":true,"schema":{"title":"Job Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResultResponse"}}},"description":"Successful Response"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResultExpiredResponse"}}},"description":"Generated result has expired"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Get Job Result","tags":["jobs"]}},"/v1/tts":{"post":{"operationId":"create_tts_v1_tts_post","parameters":[{"in":"header","name":"Idempotency-Key","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TTSRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAcceptedResponse"}}},"description":"Successful Response"},"404":{"description":"Selected voice preset was not found"},"409":{"description":"Idempotency-Key was already used for a different request"},"410":{"description":"Selected user voice asset has expired"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/FeatureDisabledResponse"},{"$ref":"#/components/schemas/ServiceUnavailableResponse"}]}}},"description":"Feature disabled, voice catalog unavailable, or compute worker unavailable"}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Create Tts","tags":["generation"]}},"/v1/uploads":{"post":{"description":"Issue a presigned PUT URL for uploading reference audio/images.","operationId":"create_upload_url_v1_uploads_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadUrlRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadUrlResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Create Upload Url","tags":["generation"]}},"/v1/uploads/{asset_id}/complete":{"post":{"operationId":"complete_upload_v1_uploads_asset_id_complete_post","parameters":[{"in":"path","name":"asset_id","required":true,"schema":{"title":"Asset Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadCompleteResponse"}}},"description":"Successful Response"},"404":{"description":"Upload not found"},"410":{"description":"Upload completion window expired"},"422":{"description":"Upload incomplete or invalid"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDisabledResponse"}}},"description":"Feature Temporarily Unavailable"}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Complete Upload","tags":["generation"]}},"/voice-assets":{"get":{"operationId":"list_voice_assets_voice_assets_get","parameters":[{"in":"query","name":"search","schema":{"maxLength":100,"title":"Search","type":"string"}},{"in":"query","name":"limit","schema":{"default":18,"maximum":100,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"title":"Offset","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceAssetListResponse"}}},"description":"Successful Response"},"422":{"description":"Validation Error"}},"security":[{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"List Voice Assets","tags":["assets"]}},"/voice-assets/{asset_id}":{"delete":{"operationId":"delete_voice_asset_voice_assets_asset_id_delete","parameters":[{"in":"path","name":"asset_id","required":true,"schema":{"title":"Asset Id","type":"string"}}],"responses":{"204":{"description":"Successful Response"},"404":{"description":"Voice asset not found"},"409":{"description":"Voice asset is in use"},"410":{"description":"Voice asset expired"}},"security":[{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Delete Voice Asset","tags":["assets"]},"get":{"operationId":"get_voice_asset_voice_assets_asset_id_get","parameters":[{"in":"path","name":"asset_id","required":true,"schema":{"title":"Asset Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceAssetRecord"}}},"description":"Successful Response"},"404":{"description":"Voice asset not found"},"410":{"description":"Voice asset expired"}},"security":[{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Get Voice Asset","tags":["assets"]},"patch":{"operationId":"rename_voice_asset_voice_assets_asset_id_patch","parameters":[{"in":"path","name":"asset_id","required":true,"schema":{"title":"Asset Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameVoiceAssetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceAssetRecord"}}},"description":"Successful Response"},"404":{"description":"Voice asset not found"},"410":{"description":"Voice asset expired"},"422":{"description":"Validation Error"}},"security":[{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Rename Voice Asset","tags":["assets"]}},"/voice-assets/{asset_id}/playback":{"get":{"operationId":"voice_asset_playback_voice_assets_asset_id_playback_get","parameters":[{"in":"path","name":"asset_id","required":true,"schema":{"title":"Asset Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceAssetPlaybackResponse"}}},"description":"Successful Response"},"404":{"description":"Voice asset not found"},"410":{"description":"Voice asset expired"}},"security":[{"HTTPBearer":[]},{"SessionCookie":[]}],"summary":"Get Voice Asset Playback","tags":["assets"]}},"/voice-presets":{"get":{"operationId":"list_voice_presets_voice_presets_get","parameters":[{"in":"query","name":"search","schema":{"maxLength":100,"title":"Search","type":"string"}},{"in":"query","name":"language","schema":{"maxLength":40,"title":"Language","type":"string"}},{"in":"query","name":"limit","schema":{"default":100,"maximum":500,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"title":"Offset","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicePresetListResponse"}}},"description":"Successful Response"},"422":{"description":"Validation Error"},"503":{"description":"Voice preset catalog unavailable"}},"security":[],"summary":"List Voice Presets","tags":["generation"]}},"/voice-presets/{preset_id}/playback":{"get":{"operationId":"voice_preset_playback_voice_presets_preset_id_playback_get","parameters":[{"in":"path","name":"preset_id","required":true,"schema":{"pattern":"^vp_[a-f0-9]{24}$","title":"Preset Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceAssetPlaybackResponse"}}},"description":"Successful Response"},"404":{"description":"Voice preset not found"},"422":{"description":"Validation Error"},"503":{"description":"Voice preset audio or storage unavailable"}},"security":[],"summary":"Get Voice Preset Playback","tags":["generation"]}},"/worker/claim":{"post":{"operationId":"claim_job_worker_claim_post","parameters":[{"in":"header","name":"X-Worker-Secret","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Secret"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ClaimedJob"},{"type":"null"}],"title":"Response Claim Job Worker Claim Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Claim Job","tags":["worker-bridge"]}},"/worker/logs":{"post":{"operationId":"ingest_worker_logs_worker_logs_post","parameters":[{"in":"header","name":"X-Worker-Secret","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Secret"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerLogBatch"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Ingest Worker Logs","tags":["worker-bridge"]}},"/worker/{job_id}/complete":{"post":{"operationId":"complete_job_worker__job_id__complete_post","parameters":[{"in":"path","name":"job_id","required":true,"schema":{"title":"Job Id","type":"string"}},{"in":"header","name":"X-Worker-Secret","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Secret"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerAck"}}},"description":"Successful Response"},"409":{"description":"Lease is stale, expired, or owned by another worker"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"description":"Output object verification is temporarily unavailable"}},"summary":"Complete Job","tags":["worker-bridge"]}},"/worker/{job_id}/fail":{"post":{"operationId":"fail_job_worker__job_id__fail_post","parameters":[{"in":"path","name":"job_id","required":true,"schema":{"title":"Job Id","type":"string"}},{"in":"header","name":"X-Worker-Secret","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Secret"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerAck"}}},"description":"Successful Response"},"409":{"description":"Lease is stale, expired, or owned by another worker"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Fail Job","tags":["worker-bridge"]}},"/worker/{job_id}/heartbeat":{"post":{"operationId":"heartbeat_job_worker__job_id__heartbeat_post","parameters":[{"in":"path","name":"job_id","required":true,"schema":{"title":"Job Id","type":"string"}},{"in":"header","name":"X-Worker-Secret","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Secret"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeartbeatRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerAck"}}},"description":"Lease renewed"},"409":{"description":"Lease is stale, expired, or owned by another worker"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Renew Worker Lease","tags":["worker-bridge"]}},"/worker/{job_id}/output-upload":{"post":{"operationId":"authorize_output_upload_worker__job_id__output_upload_post","parameters":[{"in":"path","name":"job_id","required":true,"schema":{"title":"Job Id","type":"string"}},{"in":"header","name":"X-Worker-Secret","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Secret"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutputUploadRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutputUploadResponse"}}},"description":"Successful Response"},"409":{"description":"Lease is stale, expired, or owned by another worker"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"},"503":{"description":"Output upload authorization is temporarily unavailable"}},"summary":"Authorize Output Upload","tags":["worker-bridge"]}},"/worker/{job_id}/progress":{"post":{"operationId":"report_progress_worker__job_id__progress_post","parameters":[{"in":"path","name":"job_id","required":true,"schema":{"title":"Job Id","type":"string"}},{"in":"header","name":"X-Worker-Secret","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Secret"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgressRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerAck"}}},"description":"Successful Response"},"409":{"description":"Lease is stale, expired, or owned by another worker"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Report Progress","tags":["worker-bridge"]}}},"servers":[{"description":"YB Studio production API","url":"https://ybstudio.cn/api"}]}
