{"openapi":"3.1.0","info":{"title":"Resonans API","description":"Plataforma SaaS de voz sintética: TTS, STT, clonación con consentimiento verificado y reparto de ingresos a quienes prestan su voz.","version":"0.1.0"},"paths":{"/v1/auth/signup":{"post":{"tags":["auth"],"summary":"Signup","description":"Alta de usuario con su primer espacio de trabajo en plan Free.","operationId":"signup_v1_auth_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPair"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPair"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/refresh":{"post":{"tags":["auth"],"summary":"Refresh","operationId":"refresh_v1_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPair"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_v1_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/api-keys":{"get":{"tags":["api-keys"],"summary":"List Keys","operationId":"list_keys_v1_api_keys_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyOut"},"title":"Response List Keys V1 Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api-keys"],"summary":"Create Key","description":"Crea una clave. El secreto se devuelve una sola vez y no se persiste.","operationId":"create_key_v1_api_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/api-keys/{key_id}":{"delete":{"tags":["api-keys"],"summary":"Revoke Key","operationId":"revoke_key_v1_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/purchases":{"get":{"tags":["billing"],"summary":"List Purchases","operationId":"list_purchases_v1_billing_purchases_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOut"},"title":"Response List Purchases V1 Billing Purchases Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/subscribe":{"post":{"tags":["billing"],"summary":"Subscribe","description":"Contrata o cambia de plan. Autoservicio, sin intervención humana.","operationId":"subscribe_v1_billing_subscribe_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/credits":{"post":{"tags":["billing"],"summary":"Buy Credits","description":"Compra un pack de créditos prepagos. Absorbe consumo sobre cuota.","operationId":"buy_credits_v1_billing_credits_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPackRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/services":{"post":{"tags":["billing"],"summary":"Buy Service","description":"Contrata un servicio one-time (clonación profesional, onboarding…).","operationId":"buy_service_v1_billing_services_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/spend-limit":{"put":{"tags":["billing"],"summary":"Set Spend Limit","description":"Corte de seguridad del cliente contra un consumo desbocado.","operationId":"set_spend_limit_v1_billing_spend_limit_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendLimitRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/plans":{"get":{"tags":["billing"],"summary":"Available Plans","description":"Planes contratables, marcando el actual.","operationId":"available_plans_v1_billing_plans_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices":{"get":{"tags":["voices"],"summary":"List Voices","operationId":"list_voices_v1_voices_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VoiceOut"},"title":"Response List Voices V1 Voices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["voices"],"summary":"Create Voice","operationId":"create_voice_v1_voices_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/catalog":{"get":{"tags":["voices"],"summary":"Catalog","description":"Catálogo de voces sintéticas propias.\n\nPúblico y sin autenticación: es el escaparate que el cliente de escritorio\nnecesita para dejar elegir voz antes incluso de tener clave configurada.\nNo expone ninguna voz de un titular real —esas van por /marketplace, que\nsolo lista lo que su dueño publicó.","operationId":"catalog_v1_voices_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/voices/marketplace":{"get":{"tags":["voices"],"summary":"Marketplace","description":"Catálogo público de voces publicadas por sus titulares.","operationId":"marketplace_v1_voices_marketplace_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VoiceOut"},"title":"Response Marketplace V1 Voices Marketplace Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/samples":{"post":{"tags":["voices"],"summary":"Upload Sample","description":"Sube una muestra de referencia. Solo WAV en esta versión.","operationId":"upload_sample_v1_voices__voice_id__samples_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_sample_v1_voices__voice_id__samples_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/consent/start":{"post":{"tags":["voices"],"summary":"Start Consent","description":"Genera una frase de desafío única e irrepetible para este consentimiento.","operationId":"start_consent_v1_voices__voice_id__consent_start_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentStartRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentStartOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/consent/verify":{"post":{"tags":["voices"],"summary":"Verify Consent","description":"Verifica el desafío y activa la voz.\n\nEn esta rebanada la verificación de locutor es estructural (duración y\nformato). El comparador de embeddings entra con el motor real; el punto\nde enganche y el registro de evidencia ya están fijados aquí.","operationId":"verify_consent_v1_voices__voice_id__consent_verify_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_verify_consent_v1_voices__voice_id__consent_verify_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/publish":{"post":{"tags":["voices"],"summary":"Publish Voice","description":"Publica la voz en el marketplace para empezar a cobrar reparto.","operationId":"publish_voice_v1_voices__voice_id__publish_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicePublishRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/consent/revoke":{"post":{"tags":["voices"],"summary":"Revoke Consent","description":"Revoca el consentimiento. La voz deja de sintetizar de inmediato.","operationId":"revoke_consent_v1_voices__voice_id__consent_revoke_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/warmup":{"post":{"tags":["speech"],"summary":"Warmup","description":"Precalienta los motores de voz (TTS+STT) sin autenticación.\n\nPensado para dispararse en cuanto llega el INVITE de una llamada que\nnecesitará voz (mientras el teléfono timbra): así el modelo se carga en\nparalelo al tono y la primera locución/transcripción ya está caliente.\nEs idempotente y barato: si ya está caliente NO hace trabajo; si un\nprecalentamiento está en curso NO lanza otro. Responde al instante\n(la carga real ocurre en segundo plano) para no bloquear al que llama.","operationId":"warmup_v1_warmup_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/speech/estimate":{"post":{"tags":["speech"],"summary":"Estimate","description":"Cuánto costaría, antes de ejecutar. Transparencia previa al gasto.","operationId":"estimate_v1_speech_estimate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeechEstimateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeechEstimateOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/speech":{"post":{"tags":["speech"],"summary":"Create Speech","description":"Sintetiza texto a voz.","operationId":"create_speech_v1_speech_post","parameters":[{"name":"idempotency_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeechRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeechOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/speech/{job_id}":{"get":{"tags":["speech"],"summary":"Get Speech","operationId":"get_speech_v1_speech__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeechOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/speech/{job_id}/audio":{"get":{"tags":["speech"],"summary":"Download Audio","description":"Descarga el audio. Verifica propiedad: sin IDOR.","operationId":"download_audio_v1_speech__job_id__audio_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/transcriptions":{"post":{"tags":["speech"],"summary":"Create Transcription","description":"Transcribe audio a texto.\n\n`language=\"auto\"` (por defecto) deja que el motor detecte el idioma del audio\ny lo reporte — así entiende inglés, español u otro sin que el cliente lo\ndeclare. Un código explícito fija el idioma y ahorra la detección.","operationId":"create_transcription_v1_transcriptions_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_transcription_v1_transcriptions_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptionOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/usage":{"get":{"tags":["usage"],"summary":"Usage","description":"Consumo del período vigente, por contador.","operationId":"usage_v1_usage_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageSummaryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/earnings":{"get":{"tags":["usage"],"summary":"Earnings","description":"Ganancias por reparto del usuario que presta su voz.","operationId":"earnings_v1_earnings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EarningsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/catalog":{"get":{"tags":["usage"],"summary":"Catalog","description":"Catálogo comercial público. Alimenta la landing y el checkout.\n\nSin autenticación a propósito: es la oferta, no un dato privado.","operationId":"catalog_v1_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/demo/voices":{"get":{"tags":["demo"],"summary":"Demo Voices","operationId":"demo_voices_v1_demo_voices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/demo/speech":{"post":{"tags":["demo"],"summary":"Demo Speech","description":"Sintetiza una muestra corta. Devuelve WAV directamente.","operationId":"demo_speech_v1_demo_speech_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/overview":{"get":{"tags":["admin"],"summary":"Overview","description":"Estado del negocio de un vistazo.","operationId":"overview_v1_admin_overview_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/customers":{"get":{"tags":["admin"],"summary":"Customers","description":"Clientes ordenados por lo que han gastado.","operationId":"customers_v1_admin_customers_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/payouts/pending":{"get":{"tags":["admin"],"summary":"Pending Payouts","description":"Titulares de voz con saldo pendiente. Lo que el negocio debe.","operationId":"pending_payouts_v1_admin_payouts_pending_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/payouts/run":{"post":{"tags":["admin"],"summary":"Run Payouts","description":"Liquida a todos los titulares que superan el umbral.\n\n`dry_run=true` por defecto: nada se modifica hasta que se pide\nexplícitamente lo contrario. Mover dinero no debe ser el comportamiento\naccidental de una llamada.","operationId":"run_payouts_v1_admin_payouts_run_post","parameters":[{"name":"dry_run","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Dry Run"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/compliance":{"get":{"tags":["admin"],"summary":"Compliance","description":"Señales de cumplimiento que hay que poder responder en una auditoría.","operationId":"compliance_v1_admin_compliance_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/audit":{"get":{"tags":["admin"],"summary":"Audit Log","operationId":"audit_log_v1_admin_audit_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/customers/{workspace_id}/suspend":{"post":{"tags":["admin"],"summary":"Suspend","description":"Suspende un espacio de trabajo. Uso indebido, impago o fraude.","operationId":"suspend_v1_admin_customers__workspace_id__suspend_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"reason","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":500,"title":"Reason"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/customers/{workspace_id}/restore":{"post":{"tags":["admin"],"summary":"Restore","operationId":"restore_v1_admin_customers__workspace_id__restore_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/catalog-economics":{"get":{"tags":["admin"],"summary":"Catalog Economics","description":"Qué se cobra y cuánto se reparte, para revisar la oferta de un vistazo.","operationId":"catalog_economics_v1_admin_catalog_economics_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines":{"get":{"tags":["admin"],"summary":"Engines","description":"Estado real de los motores de síntesis.\n\nExistía `engine_info()` desde que se conectó el primer motor real, pero no\nlo llamaba nadie: la única forma de saber qué modelo estaba generando el\naudio que se cobraba era leer los logs del proceso. Un motor degradado al\nde prueba —porque falta una dependencia tras un despliegue— es\nindistinguible de uno sano desde fuera, y el cliente sigue pagando.\n\nVa bajo el rol de dueño de la plataforma porque enumera qué modelos hay\ninstalados, que es información de reconocimiento.","operationId":"engines_v1_admin_engines_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/speech/stream":{"post":{"tags":["streaming"],"summary":"Speech Stream","description":"Síntesis en streaming por HTTP chunked.\n\nDevuelve `audio/wav` con la cabecera primero y las muestras después,\nde modo que el cliente empieza a reproducir sin esperar el final.","operationId":"speech_stream_v1_speech_stream_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-workspace-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Workspace-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeechRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["meta"],"summary":"Health","description":"Liveness. Sin detalle: no es un endpoint de reconocimiento.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"ApiKeyCreate":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"scopes":{"type":"string","maxLength":500,"title":"Scopes","default":"tts:write,stt:write,voices:read"},"expires_in_days":{"anyOf":[{"type":"integer","maximum":3650.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Days"}},"additionalProperties":false,"type":"object","required":["name"],"title":"ApiKeyCreate"},"ApiKeyCreated":{"properties":{"key":{"$ref":"#/components/schemas/ApiKeyOut"},"secret":{"type":"string","title":"Secret"},"warning":{"type":"string","title":"Warning","default":"Guarde este secreto ahora: no volverá a mostrarse. Si lo pierde, revoque la clave y cree una nueva."}},"type":"object","required":["key","secret"],"title":"ApiKeyCreated","description":"El secreto viaja UNA sola vez. No se puede recuperar después."},"ApiKeyOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"scopes":{"type":"string","title":"Scopes"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","prefix","scopes","last_used_at","expires_at","revoked_at","created_at"],"title":"ApiKeyOut"},"Body_create_transcription_v1_transcriptions_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"language":{"type":"string","title":"Language","default":"auto"}},"type":"object","required":["file"],"title":"Body_create_transcription_v1_transcriptions_post"},"Body_upload_sample_v1_voices__voice_id__samples_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"transcript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript"}},"type":"object","required":["file"],"title":"Body_upload_sample_v1_voices__voice_id__samples_post"},"Body_verify_consent_v1_voices__voice_id__consent_verify_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_verify_consent_v1_voices__voice_id__consent_verify_post"},"ChargeOut":{"properties":{"quantity":{"type":"integer","title":"Quantity"},"included_applied":{"type":"integer","title":"Included Applied"},"billable_quantity":{"type":"integer","title":"Billable Quantity"},"gross_cents":{"type":"integer","title":"Gross Cents"},"revenue_share_cents":{"type":"integer","title":"Revenue Share Cents"},"platform_cents":{"type":"integer","title":"Platform Cents"}},"type":"object","required":["quantity","included_applied","billable_quantity","gross_cents","revenue_share_cents","platform_cents"],"title":"ChargeOut"},"ConsentOut":{"properties":{"id":{"type":"string","title":"Id"},"subject_name":{"type":"string","title":"Subject Name"},"verification_method":{"type":"string","title":"Verification Method"},"verification_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Verification Score"},"commercial_use":{"type":"boolean","title":"Commercial Use"},"marketplace_allowed":{"type":"boolean","title":"Marketplace Allowed"},"granted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Granted At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"record_hash":{"type":"string","title":"Record Hash"}},"type":"object","required":["id","subject_name","verification_method","verification_score","commercial_use","marketplace_allowed","granted_at","expires_at","revoked_at","record_hash"],"title":"ConsentOut"},"ConsentStartOut":{"properties":{"consent_id":{"type":"string","title":"Consent Id"},"challenge_phrase":{"type":"string","title":"Challenge Phrase"},"instructions":{"type":"string","title":"Instructions"}},"type":"object","required":["consent_id","challenge_phrase","instructions"],"title":"ConsentStartOut"},"ConsentStartRequest":{"properties":{"subject_name":{"type":"string","maxLength":200,"minLength":1,"title":"Subject Name"},"subject_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Subject Email"},"commercial_use":{"type":"boolean","title":"Commercial Use","default":true},"marketplace_allowed":{"type":"boolean","title":"Marketplace Allowed","default":false}},"additionalProperties":false,"type":"object","required":["subject_name"],"title":"ConsentStartRequest"},"CreditPackRequest":{"properties":{"pack_code":{"type":"string","maxLength":32,"minLength":1,"title":"Pack Code"}},"additionalProperties":false,"type":"object","required":["pack_code"],"title":"CreditPackRequest"},"DemoRequest":{"properties":{"text":{"type":"string","maxLength":220,"minLength":1,"title":"Text"},"voice":{"type":"string","pattern":"^(aurora|atlas|vela|orion)$","title":"Voice","default":"aurora"}},"additionalProperties":false,"type":"object","required":["text"],"title":"DemoRequest"},"EarningsOut":{"properties":{"pending_cents":{"type":"integer","title":"Pending Cents"},"paid_cents":{"type":"integer","title":"Paid Cents"},"lifetime_cents":{"type":"integer","title":"Lifetime Cents"},"payout_threshold_cents":{"type":"integer","title":"Payout Threshold Cents"},"by_voice":{"items":{"$ref":"#/components/schemas/VoiceEarnings"},"type":"array","title":"By Voice"}},"type":"object","required":["pending_cents","paid_cents","lifetime_cents","payout_threshold_cents","by_voice"],"title":"EarningsOut"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":200,"minLength":1,"title":"Password"}},"additionalProperties":false,"type":"object","required":["email","password"],"title":"LoginRequest"},"MeterUsage":{"properties":{"used":{"type":"integer","title":"Used"},"included":{"type":"integer","title":"Included"},"remaining":{"type":"integer","title":"Remaining"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"}},"type":"object","required":["used","included","remaining","pct"],"title":"MeterUsage"},"PurchaseOut":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"type":"string","title":"Kind"},"item_code":{"type":"string","title":"Item Code"},"amount_cents":{"type":"integer","title":"Amount Cents"},"credited_cents":{"type":"integer","title":"Credited Cents"},"status":{"type":"string","title":"Status"},"provider":{"type":"string","title":"Provider"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","kind","item_code","amount_cents","credited_cents","status","provider","completed_at","created_at"],"title":"PurchaseOut"},"RefreshRequest":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"}},"additionalProperties":false,"type":"object","required":["refresh_token"],"title":"RefreshRequest"},"ServiceRequest":{"properties":{"service_code":{"type":"string","maxLength":64,"minLength":1,"title":"Service Code"}},"additionalProperties":false,"type":"object","required":["service_code"],"title":"ServiceRequest"},"SessionOut":{"properties":{"user":{"$ref":"#/components/schemas/UserOut"},"workspace":{"$ref":"#/components/schemas/WorkspaceOut"},"role":{"type":"string","title":"Role"}},"type":"object","required":["user","workspace","role"],"title":"SessionOut"},"SignupRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":200,"minLength":10,"title":"Password"},"full_name":{"type":"string","maxLength":200,"minLength":1,"title":"Full Name"},"workspace_name":{"type":"string","maxLength":200,"minLength":1,"title":"Workspace Name","default":"Mi espacio"}},"additionalProperties":false,"type":"object","required":["email","password","full_name"],"title":"SignupRequest"},"SpeechEstimateOut":{"properties":{"characters":{"type":"integer","title":"Characters"},"voice_tier":{"type":"string","title":"Voice Tier"},"estimated_duration_ms":{"type":"integer","title":"Estimated Duration Ms"},"included_remaining":{"type":"integer","title":"Included Remaining"},"would_charge_cents":{"type":"integer","title":"Would Charge Cents"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["characters","voice_tier","estimated_duration_ms","included_remaining","would_charge_cents","currency"],"title":"SpeechEstimateOut"},"SpeechEstimateRequest":{"properties":{"text":{"type":"string","maxLength":50000,"minLength":1,"title":"Text"},"voice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Id"}},"additionalProperties":false,"type":"object","required":["text"],"title":"SpeechEstimateRequest"},"SpeechOut":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"type":"string","title":"Status"},"asset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Id"},"audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Url"},"duration_ms":{"type":"integer","title":"Duration Ms"},"model":{"type":"string","title":"Model"},"seed":{"type":"integer","title":"Seed"},"ttfa_ms":{"type":"integer","title":"Ttfa Ms"},"charge":{"$ref":"#/components/schemas/ChargeOut"}},"type":"object","required":["job_id","status","asset_id","audio_url","duration_ms","model","seed","ttfa_ms","charge"],"title":"SpeechOut"},"SpeechRequest":{"properties":{"text":{"type":"string","maxLength":50000,"minLength":1,"title":"Text"},"voice_id":{"type":"string","maxLength":36,"minLength":1,"title":"Voice Id"},"language":{"type":"string","pattern":"^(auto|[a-z]{2}(-[A-Z]{2})?)$","title":"Language","default":"auto"},"seed":{"anyOf":[{"type":"integer","maximum":4294967295.0,"minimum":0.0},{"type":"null"}],"title":"Seed"},"output_format":{"type":"string","pattern":"^(wav)$","title":"Output Format","default":"wav"}},"additionalProperties":false,"type":"object","required":["text","voice_id"],"title":"SpeechRequest"},"SpendLimitRequest":{"properties":{"spend_limit_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Spend Limit Cents"}},"additionalProperties":false,"type":"object","title":"SpendLimitRequest"},"SubscribeRequest":{"properties":{"plan_code":{"type":"string","pattern":"^(free|creator|pro|business)$","title":"Plan Code"},"billing_cycle":{"type":"string","pattern":"^(monthly|annual)$","title":"Billing Cycle","default":"monthly"}},"additionalProperties":false,"type":"object","required":["plan_code"],"title":"SubscribeRequest"},"TokenPair":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"token_type":{"type":"string","title":"Token Type","default":"Bearer"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["access_token","refresh_token","expires_in"],"title":"TokenPair"},"TranscriptionOut":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"type":"string","title":"Status"},"text":{"type":"string","title":"Text"},"language":{"type":"string","title":"Language"},"duration_ms":{"type":"integer","title":"Duration Ms"},"model":{"type":"string","title":"Model"},"charge":{"$ref":"#/components/schemas/ChargeOut"}},"type":"object","required":["job_id","status","text","language","duration_ms","model","charge"],"title":"TranscriptionOut"},"UsageSummaryOut":{"properties":{"plan":{"type":"string","title":"Plan"},"plan_name":{"type":"string","title":"Plan Name"},"period_start":{"type":"string","title":"Period Start"},"spent_cents":{"type":"integer","title":"Spent Cents"},"credit_balance_cents":{"type":"integer","title":"Credit Balance Cents"},"spend_limit_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Spend Limit Cents"},"meters":{"additionalProperties":{"$ref":"#/components/schemas/MeterUsage"},"type":"object","title":"Meters"}},"type":"object","required":["plan","plan_name","period_start","spent_cents","credit_balance_cents","spend_limit_cents","meters"],"title":"UsageSummaryOut"},"UserOut":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"locale":{"type":"string","title":"Locale"},"is_platform_owner":{"type":"boolean","title":"Is Platform Owner"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","email","full_name","locale","is_platform_owner","created_at"],"title":"UserOut"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VoiceCreate":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"language":{"type":"string","pattern":"^[a-z]{2}(-[A-Z]{2})?$","title":"Language","default":"es"},"gender":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Gender"},"accent":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Accent"},"tags":{"type":"string","maxLength":300,"title":"Tags","default":""}},"additionalProperties":false,"type":"object","required":["name"],"title":"VoiceCreate"},"VoiceEarnings":{"properties":{"voice_id":{"type":"string","title":"Voice Id"},"voice_name":{"type":"string","title":"Voice Name"},"earned_cents":{"type":"integer","title":"Earned Cents"},"usage_count":{"type":"integer","title":"Usage Count"}},"type":"object","required":["voice_id","voice_name","earned_cents","usage_count"],"title":"VoiceEarnings"},"VoiceOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"language":{"type":"string","title":"Language"},"gender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gender"},"accent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent"},"tags":{"type":"string","title":"Tags"},"tier":{"type":"string","title":"Tier"},"status":{"type":"string","title":"Status"},"quality_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quality Score"},"usage_count":{"type":"integer","title":"Usage Count"},"total_earned_cents":{"type":"integer","title":"Total Earned Cents"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","description","language","gender","accent","tags","tier","status","quality_score","usage_count","total_earned_cents","published_at","created_at"],"title":"VoiceOut"},"VoicePublishRequest":{"properties":{"exclusive":{"type":"boolean","title":"Exclusive","default":false}},"additionalProperties":false,"type":"object","title":"VoicePublishRequest","description":"Publicar en el marketplace y empezar a cobrar reparto."},"WorkspaceOut":{"properties":{"id":{"type":"string","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"plan_code":{"type":"string","title":"Plan Code"},"billing_cycle":{"type":"string","title":"Billing Cycle"},"credit_balance_cents":{"type":"integer","title":"Credit Balance Cents"},"spend_limit_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Spend Limit Cents"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","slug","name","plan_code","billing_cycle","credit_balance_cents","spend_limit_cents","created_at"],"title":"WorkspaceOut"}}}}