{"openapi":"3.1.0","info":{"title":"KugelAudio TTS API","description":"Unified API: REST + WebSocket + ElevenLabs + Vapi","version":"2.19.2"},"paths":{"/health":{"get":{"summary":"Health","description":"Liveness — always healthy when the process responds.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/ready":{"get":{"summary":"Ready","description":"Ingress readiness — never coupled to downstream capability health.","operationId":"ready_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadyResponse"}}}}}}},"/ready/tts":{"get":{"summary":"Ready Tts","description":"TTS readiness — requires both the engine and external normalizer.","operationId":"ready_tts_ready_tts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadyResponse"}}}}}}},"/ready/asr":{"get":{"summary":"Ready Asr","description":"ASR readiness — independent from all TTS dependencies.","operationId":"ready_asr_ready_asr_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityReadyResponse"}}}}}}},"/v1/models":{"get":{"summary":"Get Models","description":"The public model catalog, filtered to live deployments.","operationId":"get_models_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsResponse"}}}}}}},"/v1/license/health":{"get":{"tags":["license"],"summary":"License Health","operationId":"license_health_v1_license_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response License Health V1 License Health Get"}}}}}}},"/v1/license/deployment-status":{"get":{"tags":["license"],"summary":"Deployment Status","description":"Lightweight deployment-license validation for remote ingress monitors.","operationId":"deployment_status_v1_license_deployment_status_get","parameters":[{"name":"X-Kugel-License-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Kugel-License-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentLicenseStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/activate":{"post":{"tags":["license"],"summary":"Activate","operationId":"activate_v1_license_activate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/kugelturn/activate":{"post":{"tags":["license"],"summary":"Activate Kugelturn","description":"Issue one short-lived grant for an entitled protected model artifact.\n\nAuthenticates with the customer's ordinary API key; activation charges\nthe prepaid audio headroom to the org's credit wallet (402 on rejection).","operationId":"activate_kugelturn_v1_license_kugelturn_activate_post","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KugelTurnActivateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KugelTurnActivateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/kugelturn/usage":{"post":{"tags":["license"],"summary":"Record Kugelturn Usage","description":"Acknowledge a replay-safe usage snapshot and refresh the paid grant.","operationId":"record_kugelturn_usage_v1_license_kugelturn_usage_post","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KugelTurnUsageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KugelTurnUsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/kugelturn/revoke":{"post":{"tags":["license"],"summary":"Revoke Kugelturn","description":"Admin-only: revoke an org's KugelTurn activations (all or one instance).","operationId":"revoke_kugelturn_v1_license_kugelturn_revoke_post","parameters":[{"name":"X-Api-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KugelTurnRevokeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"title":"Response Revoke Kugelturn V1 License Kugelturn Revoke Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/files":{"get":{"tags":["license"],"summary":"Get File","description":"Presigned URL for any license-owned file in the weights bucket.","operationId":"get_file_v1_license_files_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}},{"name":"X-Kugel-License-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Kugel-License-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/artifacts/download":{"post":{"tags":["license"],"summary":"Create Artifact Grant","description":"Authorize a release and return a short-lived direct R2 download URL.","operationId":"create_artifact_grant_v1_license_artifacts_download_post","parameters":[{"name":"X-Kugel-License-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Kugel-License-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactGrantRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactGrantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/weights/key":{"post":{"tags":["license"],"summary":"Get Weights Key","description":"Return the decryption key for a weights image the caller already holds.\n\nAdditive: weights arrive in an image now, so nothing downloads here. The\nlicence key travels in a header rather than the query string, so it does\nnot land in access logs.","operationId":"get_weights_key_v1_license_weights_key_post","parameters":[{"name":"X-Kugel-License-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Kugel-License-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeightsKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeightsKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/validate":{"post":{"tags":["license"],"summary":"Validate","operationId":"validate_v1_license_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/usage":{"post":{"tags":["license"],"summary":"Usage","operationId":"usage_v1_license_usage_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/status":{"get":{"tags":["license"],"summary":"Status","operationId":"status_v1_license_status_get","parameters":[{"name":"license_key","in":"query","required":true,"schema":{"type":"string","title":"License Key"}},{"name":"instance_id","in":"query","required":true,"schema":{"type":"string","title":"Instance Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyLicenseStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/revoke":{"post":{"tags":["license"],"summary":"Revoke","operationId":"revoke_v1_license_revoke_post","parameters":[{"name":"X-Api-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/resolve-api-key":{"post":{"tags":["license"],"summary":"Resolve Api Key","description":"Resolve a customer API key — used by on-prem ingress proxies.","operationId":"resolve_api_key_v1_license_resolve_api_key_post","parameters":[{"name":"X-Kugel-License-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Kugel-License-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveApiKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveApiKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/voices":{"get":{"tags":["license"],"summary":"List Voices","operationId":"list_voices_v1_license_voices_get","parameters":[{"name":"license_key","in":"query","required":true,"schema":{"type":"string","title":"License Key"}},{"name":"instance_id","in":"query","required":true,"schema":{"type":"string","title":"Instance Id"}},{"name":"model_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VoiceResponse"},"title":"Response List Voices V1 License Voices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/voices/{voice_id}":{"get":{"tags":["license"],"summary":"Get Voice","operationId":"get_voice_v1_license_voices__voice_id__get","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"integer","title":"Voice Id"}},{"name":"license_key","in":"query","required":true,"schema":{"type":"string","title":"License Key"}},{"name":"instance_id","in":"query","required":true,"schema":{"type":"string","title":"Instance Id"}},{"name":"model_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/license/voices/{voice_id}/references/{reference_id}/encoding":{"put":{"tags":["license"],"summary":"Upload Voice Encoding","operationId":"upload_voice_encoding_v1_license_voices__voice_id__references__reference_id__encoding_put","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"integer","title":"Voice Id"}},{"name":"reference_id","in":"path","required":true,"schema":{"type":"integer","title":"Reference Id"}},{"name":"license_key","in":"query","required":true,"schema":{"type":"string","title":"License Key"}},{"name":"instance_id","in":"query","required":true,"schema":{"type":"string","title":"Instance Id"}},{"name":"model_id","in":"query","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/credit-state":{"get":{"tags":["billing"],"summary":"Billing Credit State","operationId":"billing_credit_state_v1_billing_credit_state_get","parameters":[{"name":"org_id","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Org Id"}},{"name":"X-Kugel-License-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Kugel-License-Key"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingCreditStateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/record-usage":{"post":{"tags":["billing"],"summary":"Record Billing Usage","operationId":"record_billing_usage_v1_billing_record_usage_post","parameters":[{"name":"X-Kugel-License-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Kugel-License-Key"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordBillingUsageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordBillingUsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tts/generate":{"post":{"summary":"Generate","description":"Synthesize complete text and stream PCM16 audio.","operationId":"generate_v1_tts_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SynthesizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/predict":{"post":{"summary":"Predict","description":"Legacy alias for ``/v1/tts/generate``.","operationId":"predict_predict_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SynthesizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/normalize":{"post":{"summary":"Normalize","description":"Run text through the TN pipeline (admin testing surface).\n\nThe admin web app uses this to test post-override rules: normalize,\ndiff, add a rule, ``/v1/post-overrides/reload``, normalize again.\nThe LM path is used when wired; on LM failure the heuristic path\nanswers instead so the testing surface stays available (matching\nv1). Post-overrides apply on both paths via the runtime's wrapped\nnormalizers.","operationId":"normalize_v1_normalize_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NormalizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NormalizeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/post-overrides/reload":{"post":{"summary":"Reload Post Overrides","description":"Drop the post-override snapshot cache for immediate effect.\n\nCalled by the admin web app after a rule changes so the next\n``/v1/normalize`` observes it instead of waiting out the early TTL.","operationId":"reload_post_overrides_v1_post_overrides_reload_post","responses":{"204":{"description":"Successful Response"}}}},"/v1/voices":{"get":{"summary":"Get Voices","description":"Voices visible to the caller: public catalog page + own voices.","operationId":"get_voices_v1_voices_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Voice","description":"Create a new voice, optionally with reference audio files.\n\nAccepts either:\n\n- ``application/json`` with a :class:`CreateVoiceRequest` body, or\n- ``multipart/form-data`` with a ``metadata`` JSON part and optional\n  ``files`` parts (audio files). This is the format sent by the\n  Python and JS SDKs when ``reference_files`` are provided.","operationId":"create_voice_v1_voices_post","responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceDetailInfo"}}}}}}},"/v1/voices/{voice_id}":{"get":{"summary":"Get Voice By Id","description":"One voice by handle or legacy numeric id.\n\nThe caller's org rides along so private/unverified own voices —\nwhich the listing endpoint shows — resolve individually too.","operationId":"get_voice_by_id_v1_voices__voice_id__get","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Update Voice","description":"Update a voice you own.","operationId":"update_voice_v1_voices__voice_id__patch","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceDetailInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Voice","description":"Archive (soft-delete) a voice you own.","operationId":"delete_voice_v1_voices__voice_id__delete","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/avatar":{"put":{"summary":"Upload Voice Avatar","description":"Upload a PNG, JPEG, or WebP avatar for a voice you can edit.","operationId":"upload_voice_avatar_v1_voices__voice_id__avatar_put","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_voice_avatar_v1_voices__voice_id__avatar_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadedAvatarInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/references":{"get":{"summary":"List Voice References","description":"List all reference audio files for a voice you own.","operationId":"list_voice_references_v1_voices__voice_id__references_get","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VoiceReferenceInfo"},"title":"Response List Voice References V1 Voices  Voice Id  References Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Upload Voice Reference","description":"Upload a reference audio file for a voice you own.\n\nAccepts multipart/form-data with a ``file`` field (audio).\nOptionally include ``reference_text`` for the transcript.","operationId":"upload_voice_reference_v1_voices__voice_id__references_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_voice_reference_v1_voices__voice_id__references_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceReferenceInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/references/{ref_id}":{"delete":{"summary":"Delete Voice Reference","description":"Delete a reference audio file from a voice you own.","operationId":"delete_voice_reference_v1_voices__voice_id__references__ref_id__delete","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}},{"name":"ref_id","in":"path","required":true,"schema":{"type":"integer","title":"Ref Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/publish":{"post":{"summary":"Publish Voice","description":"Request publication (sets pending_verification for admin review).\n\nVerification is admin-controlled and cannot be bypassed via the API.","operationId":"publish_voice_v1_voices__voice_id__publish_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceDetailInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/voices/{voice_id}/generate-sample":{"post":{"summary":"Generate Voice Sample","description":"Generate a sample WAV for a voice you own.\n\nRequires at least one reference audio to be uploaded first. The\nsample is generated through the TTS engine under an admission lease\n(rate limit + concurrency + size cap) but is never charged — no\nusage row is written, matching v1 — and stored via the admin seam.","operationId":"generate_voice_sample_v1_voices__voice_id__generate_sample_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratedSampleInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/dictionaries":{"get":{"summary":"List Dictionaries","description":"List every dictionary belonging to the caller's project.","operationId":"list_dictionaries_v1_dictionaries_get","parameters":[{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Dictionary","description":"Create a new dictionary scoped to the caller's project.","operationId":"create_dictionary_v1_dictionaries_post","parameters":[{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDictionaryRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/dictionaries/{dict_id}":{"get":{"summary":"Get Dictionary","description":"Fetch a single dictionary by ID.","operationId":"get_dictionary_v1_dictionaries__dict_id__get","parameters":[{"name":"dict_id","in":"path","required":true,"schema":{"type":"integer","title":"Dict Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Update Dictionary","description":"Update name / description / language / is_active.","operationId":"update_dictionary_v1_dictionaries__dict_id__patch","parameters":[{"name":"dict_id","in":"path","required":true,"schema":{"type":"integer","title":"Dict Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDictionaryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Dictionary","description":"Delete a dictionary (cascades to its entries).","operationId":"delete_dictionary_v1_dictionaries__dict_id__delete","parameters":[{"name":"dict_id","in":"path","required":true,"schema":{"type":"integer","title":"Dict Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/dictionaries/{dict_id}/entries":{"get":{"summary":"List Entries","description":"List entries in a dictionary with optional search and pagination.","operationId":"list_entries_v1_dictionaries__dict_id__entries_get","parameters":[{"name":"dict_id","in":"path","required":true,"schema":{"type":"integer","title":"Dict Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Search"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryEntryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Add Entry","description":"Add a single entry to a dictionary.","operationId":"add_entry_v1_dictionaries__dict_id__entries_post","parameters":[{"name":"dict_id","in":"path","required":true,"schema":{"type":"integer","title":"Dict Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntryPayload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryEntryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Bulk Replace Entries","description":"Replace all entries in the dictionary with the supplied list.\n\nAtomic semantics: upsert every supplied entry by\n``(dictionary_id, word)``, then delete any existing entries whose\nword is not in the payload. The cache is invalidated once at the\nend.","operationId":"bulk_replace_entries_v1_dictionaries__dict_id__entries_put","parameters":[{"name":"dict_id","in":"path","required":true,"schema":{"type":"integer","title":"Dict Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkReplaceEntriesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkReplaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/dictionaries/{dict_id}/entries/{entry_id}":{"patch":{"summary":"Update Entry","description":"Update an entry's word / replacement / ipa / case_sensitive.","operationId":"update_entry_v1_dictionaries__dict_id__entries__entry_id__patch","parameters":[{"name":"dict_id","in":"path","required":true,"schema":{"type":"integer","title":"Dict Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"integer","title":"Entry Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEntryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryEntryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Entry","description":"Delete a single entry.","operationId":"delete_entry_v1_dictionaries__dict_id__entries__entry_id__delete","parameters":[{"name":"dict_id","in":"path","required":true,"schema":{"type":"integer","title":"Dict Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"integer","title":"Entry Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/dictionaries/{project_id}/invalidate":{"post":{"summary":"Invalidate Dictionary Cache","description":"Invalidate cached dictionary entries for a project.\n\nInternal endpoint — requires master-key authentication. Called by\nthe web app after dictionary mutations so the TTS backend picks up\nchanges immediately instead of waiting for the cache TTL to expire.","operationId":"invalidate_dictionary_cache_v1_dictionaries__project_id__invalidate_post","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cognigy/synthesize/{provider}":{"post":{"summary":"Cognigy Synthesize","description":"Cognigy Voice Gateway custom-vendor TTS.\n\n``provider`` is the operator-chosen vendor name from Cognigy's portal.\nIt identifies *us* to *them* and carries no routing meaning here, so it\nis accepted as-is and only logged.","operationId":"cognigy_synthesize_v1_cognigy_synthesize__provider__post","parameters":[{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CognigyTTSRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/11labs/v1/text-to-speech/{voice_id}":{"post":{"summary":"Text To Speech","description":"Generate speech from text (ElevenLabs compatible).","operationId":"text_to_speech_11labs_v1_text_to_speech__voice_id__post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}},{"name":"output_format","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Format"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsTTSRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/11labs/v1/text-to-speech/{voice_id}/stream":{"post":{"summary":"Text To Speech Stream","description":"Streaming alias — same audio stream as the non-stream endpoint.","operationId":"text_to_speech_stream_11labs_v1_text_to_speech__voice_id__stream_post","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}},{"name":"output_format","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Format"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsTTSRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/11labs/v1/voices":{"get":{"summary":"Get Voices","description":"All voices visible to the caller: public catalog + authorized voices.","operationId":"get_voices_11labs_v1_voices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsVoicesResponse"}}}}}}},"/11labs/v1/voices/{voice_id}":{"get":{"summary":"Get Voice","description":"Get one voice by handle or legacy numeric id.\n\nActor-scoped exactly like ``GET /v1/voices``: that listing returns the\ncaller's authorized private / unverified voices, so the detail endpoint\nthe ElevenLabs SDK calls right after it must resolve them too. Passing the\ncomplete authentication context lets the directory enforce project and\nuser grants instead of treating organization membership as sufficient.\n\nContract change (was anonymous): the endpoint now authenticates, for\nthe same reason its sibling listing does — private access needs an actor.","operationId":"get_voice_11labs_v1_voices__voice_id__get","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElevenLabsVoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/11labs/v1/models":{"get":{"summary":"Get Models","description":"Available models in the ElevenLabs shape, one entry per alias.\n\nReturns a bare JSON array — the official API shape; the official SDK\n(``client.models.list()``) parses ``List[Model]`` and breaks on any\nwrapper object.","operationId":"get_models_11labs_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ElevenLabsModel"},"type":"array","title":"Response Get Models 11Labs V1 Models Get"}}}}}}},"/11labs/health":{"get":{"summary":"Health","operationId":"health_11labs_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health 11Labs Health Get"}}}}}}},"/vapi/synthesize":{"post":{"summary":"Vapi Synthesize","description":"Vapi custom TTS webhook.\n\nWith ``message.call.id``: clause POSTs of one agent turn share a\nTTS session (KV continuation). Without it (test harness, non-Vapi\ncallers): a stateless one-shot synthesis.","operationId":"vapi_synthesize_vapi_synthesize_post","parameters":[{"name":"voice_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Id"}},{"name":"model_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"}},{"name":"x-voice-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Voice-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VapiTTSRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audio/transcriptions":{"post":{"tags":["speech-to-text"],"summary":"Transcribe audio","operationId":"transcribe_v1_audio_transcriptions_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_transcribe_v1_audio_transcriptions_post"}},"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ActivateRequest":{"properties":{"license_key":{"type":"string","title":"License Key"},"model_id":{"type":"string","title":"Model Id"},"instance_id":{"type":"string","title":"Instance Id"}},"type":"object","required":["license_key","model_id","instance_id"],"title":"ActivateRequest"},"ActivateResponse":{"properties":{"file_encryption_key":{"type":"string","title":"File Encryption Key"},"offline_token":{"type":"string","title":"Offline Token"},"public_key_pem":{"type":"string","title":"Public Key Pem"},"hmac_key":{"type":"string","title":"Hmac Key"},"customer_id":{"type":"integer","title":"Customer Id"}},"type":"object","required":["file_encryption_key","offline_token","public_key_pem","hmac_key","customer_id"],"title":"ActivateResponse"},"ArtifactGrantRequest":{"properties":{"artifact_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9._/-]{0,190}$","title":"Artifact Id"},"version":{"type":"string","maxLength":191,"minLength":1,"title":"Version"}},"type":"object","required":["artifact_id","version"],"title":"ArtifactGrantRequest"},"ArtifactGrantResponse":{"properties":{"artifact_id":{"type":"string","title":"Artifact Id"},"version":{"type":"string","title":"Version"},"download_url":{"type":"string","title":"Download Url"},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds"},"ciphertext_size":{"type":"integer","title":"Ciphertext Size"},"ciphertext_sha256":{"type":"string","title":"Ciphertext Sha256"},"archive_format":{"type":"string","title":"Archive Format"},"compression":{"type":"string","title":"Compression"},"encryption_format":{"type":"string","title":"Encryption Format"},"decryption_key_b64":{"type":"string","title":"Decryption Key B64"},"associated_data_b64":{"type":"string","title":"Associated Data B64"},"recommended_part_size_bytes":{"type":"integer","title":"Recommended Part Size Bytes"},"recommended_concurrency":{"type":"integer","title":"Recommended Concurrency"}},"type":"object","required":["artifact_id","version","download_url","expires_in_seconds","ciphertext_size","ciphertext_sha256","archive_format","compression","encryption_format","decryption_key_b64","associated_data_b64","recommended_part_size_bytes","recommended_concurrency"],"title":"ArtifactGrantResponse"},"BillingCreditStateResponse":{"properties":{"has_access":{"type":"boolean","title":"Has Access"},"remaining_cents":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Remaining Cents"}},"type":"object","required":["has_access"],"title":"BillingCreditStateResponse"},"Body_transcribe_v1_audio_transcriptions_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"response_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Format"}},"type":"object","title":"Body_transcribe_v1_audio_transcriptions_post"},"Body_upload_voice_avatar_v1_voices__voice_id__avatar_put":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_voice_avatar_v1_voices__voice_id__avatar_put"},"Body_upload_voice_reference_v1_voices__voice_id__references_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"reference_text":{"type":"string","title":"Reference Text","default":""}},"type":"object","required":["file"],"title":"Body_upload_voice_reference_v1_voices__voice_id__references_post"},"BulkReplaceEntriesRequest":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/EntryPayload"},"type":"array","title":"Entries"}},"additionalProperties":false,"type":"object","required":["entries"],"title":"BulkReplaceEntriesRequest","description":"Atomic upsert + delete-missing replacement of all entries in a dictionary.\n\nIdempotent: callers sending the same payload twice converge to the\nsame final state. Entries in the existing dictionary whose ``word``\nis not in ``entries`` are deleted; entries whose ``word`` matches\nare upserted."},"BulkReplaceResponse":{"properties":{"upserted":{"type":"integer","title":"Upserted"},"deleted":{"type":"integer","title":"Deleted"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["upserted","deleted","total"],"title":"BulkReplaceResponse","description":"Counts of what changed during bulk replace."},"CapabilityReadyResponse":{"properties":{"status":{"type":"string","const":"ready","title":"Status","default":"ready"}},"type":"object","title":"CapabilityReadyResponse","description":"Readiness response for one independently served capability."},"CognigyTTSRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text"},"voice":{"type":"string","minLength":1,"title":"Voice"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"type":{"type":"string","title":"Type","default":"text"},"encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encoding"},"sample_rate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sample Rate"}},"type":"object","required":["text","voice"],"title":"CognigyTTSRequest","description":"Body of Cognigy Voice Gateway's custom-vendor synthesize call."},"CreateDictionaryRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"language":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Language","description":"BCP-47 language tag (e.g. 'en', 'de-DE'). Omit for all languages."}},"additionalProperties":false,"type":"object","required":["name"],"title":"CreateDictionaryRequest","description":"Create a new dictionary scoped to a project."},"DeleteResponse":{"properties":{"deleted":{"type":"boolean","title":"Deleted","default":true}},"type":"object","title":"DeleteResponse","description":"Response for delete operations (200 + body so JS SDKs can JSON-parse)."},"DeploymentLicenseStatusResponse":{"properties":{"valid":{"type":"boolean","title":"Valid","default":true},"max_concurrent_generations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Generations"}},"type":"object","title":"DeploymentLicenseStatusResponse"},"DictionaryEntryListResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/DictionaryEntryResponse"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["entries","total","limit","offset"],"title":"DictionaryEntryListResponse","description":"Paginated list of dictionary entries."},"DictionaryEntryResponse":{"properties":{"id":{"type":"integer","title":"Id"},"dictionary_id":{"type":"integer","title":"Dictionary Id"},"word":{"type":"string","title":"Word"},"replacement":{"type":"string","title":"Replacement"},"ipa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ipa"},"case_sensitive":{"type":"boolean","title":"Case Sensitive"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","dictionary_id","word","replacement","case_sensitive","created_at","updated_at"],"title":"DictionaryEntryResponse","description":"A single dictionary entry."},"DictionaryListResponse":{"properties":{"dictionaries":{"items":{"$ref":"#/components/schemas/DictionaryResponse"},"type":"array","title":"Dictionaries"}},"type":"object","required":["dictionaries"],"title":"DictionaryListResponse","description":"List of dictionaries for a project."},"DictionaryResponse":{"properties":{"id":{"type":"integer","title":"Id"},"project_id":{"type":"integer","title":"Project Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","project_id","name","is_active","created_at","updated_at"],"title":"DictionaryResponse","description":"A single dictionary record."},"ElevenLabsModel":{"properties":{"model_id":{"type":"string","title":"Model Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"can_be_finetuned":{"type":"boolean","title":"Can Be Finetuned","default":false},"can_do_text_to_speech":{"type":"boolean","title":"Can Do Text To Speech","default":true},"can_do_voice_conversion":{"type":"boolean","title":"Can Do Voice Conversion","default":false},"token_cost_factor":{"type":"number","title":"Token Cost Factor","default":1.0}},"type":"object","required":["model_id","name"],"title":"ElevenLabsModel","description":"One model in the ElevenLabs catalog shape."},"ElevenLabsTTSRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text"},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id","default":"eleven_monolingual_v1"},"voice_settings":{"anyOf":[{"$ref":"#/components/schemas/ElevenLabsVoiceSettings"},{"type":"null"}]}},"type":"object","required":["text"],"title":"ElevenLabsTTSRequest","description":"ElevenLabs-compatible TTS request body."},"ElevenLabsVoice":{"properties":{"voice_id":{"type":"string","title":"Voice Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"type":"string","title":"Category","default":"cloned"},"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels"},"preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Url"}},"type":"object","required":["voice_id","name"],"title":"ElevenLabsVoice","description":"One voice in the ElevenLabs catalog shape."},"ElevenLabsVoiceSettings":{"properties":{"stability":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Stability","default":0.5},"similarity_boost":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Similarity Boost","default":0.75},"style":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Style","default":0.0},"use_speaker_boost":{"type":"boolean","title":"Use Speaker Boost","default":true}},"type":"object","title":"ElevenLabsVoiceSettings","description":"ElevenLabs voice settings (mapped onto KugelAudio params)."},"ElevenLabsVoicesResponse":{"properties":{"voices":{"items":{"$ref":"#/components/schemas/ElevenLabsVoice"},"type":"array","title":"Voices"}},"type":"object","required":["voices"],"title":"ElevenLabsVoicesResponse"},"EntryPayload":{"properties":{"word":{"type":"string","maxLength":200,"minLength":1,"title":"Word"},"replacement":{"type":"string","maxLength":1000,"minLength":1,"title":"Replacement"},"ipa":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Ipa"},"case_sensitive":{"type":"boolean","title":"Case Sensitive","default":false}},"additionalProperties":false,"type":"object","required":["word","replacement"],"title":"EntryPayload","description":"Fields shared by single-entry create and bulk-replace items."},"FileResponse":{"properties":{"download_url":{"type":"string","title":"Download Url"},"size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size Bytes"}},"type":"object","required":["download_url"],"title":"FileResponse"},"GeneratedSampleInfo":{"properties":{"sample_s3_path":{"type":"string","title":"Sample S3 Path"},"sample_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Url"}},"type":"object","required":["sample_s3_path"],"title":"GeneratedSampleInfo","description":"Stored sample location returned after free sample synthesis."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","enum":["healthy","unhealthy"],"title":"Status","default":"healthy"}},"type":"object","title":"HealthResponse","description":"Liveness check response."},"KugelTurnActivateRequest":{"properties":{"instance_id":{"type":"string","maxLength":256,"minLength":1,"title":"Instance Id"},"model_id":{"type":"string","maxLength":256,"minLength":1,"title":"Model Id"},"artifact_version":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Artifact Version"}},"additionalProperties":false,"type":"object","required":["instance_id","model_id"],"title":"KugelTurnActivateRequest"},"KugelTurnActivateResponse":{"properties":{"activation_id":{"type":"string","pattern":"^[1-9][0-9]*$","title":"Activation Id"},"instance_id":{"type":"string","title":"Instance Id"},"model_id":{"type":"string","title":"Model Id"},"artifact_version":{"type":"string","title":"Artifact Version"},"artifact_download_url":{"type":"string","title":"Artifact Download Url"},"artifact_size_bytes":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Artifact Size Bytes"},"manifest_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Manifest Sha256"},"model_key":{"type":"string","title":"Model Key"},"usage_key":{"type":"string","title":"Usage Key"},"offline_token":{"type":"string","title":"Offline Token"},"public_key_pem":{"type":"string","title":"Public Key Pem"},"grant_expires_at_ms":{"type":"integer","maximum":9.223372036854776e+18,"exclusiveMinimum":0.0,"title":"Grant Expires At Ms"},"authorized_calls":{"type":"integer","maximum":9.223372036854776e+18,"exclusiveMinimum":0.0,"title":"Authorized Calls"},"authorized_audio_ms":{"type":"integer","maximum":9.223372036854776e+18,"exclusiveMinimum":0.0,"title":"Authorized Audio Ms"},"acknowledged_sequence":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Acknowledged Sequence"},"cumulative_calls":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Cumulative Calls"},"cumulative_audio_ms":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Cumulative Audio Ms"},"cumulative_context_chars":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Cumulative Context Chars"}},"additionalProperties":false,"type":"object","required":["activation_id","instance_id","model_id","artifact_version","artifact_download_url","manifest_sha256","model_key","usage_key","offline_token","public_key_pem","grant_expires_at_ms","authorized_calls","authorized_audio_ms","acknowledged_sequence","cumulative_calls","cumulative_audio_ms","cumulative_context_chars"],"title":"KugelTurnActivateResponse"},"KugelTurnRevokeRequest":{"properties":{"org_id":{"type":"integer","maximum":9.223372036854776e+18,"exclusiveMinimum":0.0,"title":"Org Id"},"instance_id":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Instance Id"}},"additionalProperties":false,"type":"object","required":["org_id"],"title":"KugelTurnRevokeRequest"},"KugelTurnUsageRequest":{"properties":{"schema_version":{"type":"integer","maximum":1.0,"minimum":1.0,"title":"Schema Version"},"activation_id":{"type":"string","maxLength":19,"pattern":"^[1-9][0-9]*$","title":"Activation Id"},"instance_id":{"type":"string","maxLength":256,"minLength":1,"title":"Instance Id"},"model_id":{"type":"string","maxLength":256,"minLength":1,"title":"Model Id"},"artifact_version":{"type":"string","maxLength":256,"minLength":1,"title":"Artifact Version"},"sequence":{"type":"integer","maximum":9.223372036854776e+18,"minimum":1.0,"title":"Sequence"},"cumulative_calls":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Cumulative Calls"},"cumulative_audio_ms":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Cumulative Audio Ms"},"cumulative_context_chars":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Cumulative Context Chars"},"reported_at_ms":{"type":"integer","maximum":9.223372036854776e+18,"exclusiveMinimum":0.0,"title":"Reported At Ms"},"signature":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Signature"}},"additionalProperties":false,"type":"object","required":["schema_version","activation_id","instance_id","model_id","artifact_version","sequence","cumulative_calls","cumulative_audio_ms","cumulative_context_chars","reported_at_ms","signature"],"title":"KugelTurnUsageRequest"},"KugelTurnUsageResponse":{"properties":{"acknowledged_sequence":{"type":"integer","maximum":9.223372036854776e+18,"minimum":1.0,"title":"Acknowledged Sequence"},"duplicate":{"type":"boolean","title":"Duplicate"},"delta_calls":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Delta Calls"},"delta_audio_ms":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Delta Audio Ms"},"delta_context_chars":{"type":"integer","maximum":9.223372036854776e+18,"minimum":0.0,"title":"Delta Context Chars"},"authorized_calls":{"type":"integer","maximum":9.223372036854776e+18,"exclusiveMinimum":0.0,"title":"Authorized Calls"},"authorized_audio_ms":{"type":"integer","maximum":9.223372036854776e+18,"exclusiveMinimum":0.0,"title":"Authorized Audio Ms"},"offline_token":{"type":"string","title":"Offline Token"},"grant_expires_at_ms":{"type":"integer","maximum":9.223372036854776e+18,"exclusiveMinimum":0.0,"title":"Grant Expires At Ms"}},"additionalProperties":false,"type":"object","required":["acknowledged_sequence","duplicate","delta_calls","delta_audio_ms","delta_context_chars","authorized_calls","authorized_audio_ms","offline_token","grant_expires_at_ms"],"title":"KugelTurnUsageResponse"},"LegacyLicenseStatusResponse":{"properties":{"active":{"type":"boolean","title":"Active"},"quota":{"$ref":"#/components/schemas/QuotaStatus"}},"type":"object","required":["active","quota"],"title":"LegacyLicenseStatusResponse"},"ModelInfo":{"properties":{"id":{"type":"string","title":"Id"},"model_id":{"type":"string","title":"Model Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"parameters":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parameters"},"max_input_length":{"type":"integer","title":"Max Input Length","default":5000},"sample_rate":{"type":"integer","title":"Sample Rate","default":24000}},"type":"object","required":["id","model_id","name"],"title":"ModelInfo","description":"Public catalog entry for one TTS model."},"ModelsResponse":{"properties":{"models":{"items":{"$ref":"#/components/schemas/ModelInfo"},"type":"array","title":"Models"}},"type":"object","required":["models"],"title":"ModelsResponse","description":"List of available models."},"NormalizeRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"}},"type":"object","required":["text"],"title":"NormalizeRequest","description":"Admin TN test request (``POST /v1/normalize``)."},"NormalizeResponse":{"properties":{"text":{"type":"string","title":"Text"},"language":{"type":"string","title":"Language"},"time_ms":{"type":"number","title":"Time Ms"}},"type":"object","required":["text","language","time_ms"],"title":"NormalizeResponse","description":"Admin TN test response."},"QuotaStatus":{"properties":{"used_chars":{"type":"integer","title":"Used Chars"},"used_seconds":{"type":"number","title":"Used Seconds"},"quota_chars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quota Chars"},"quota_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quota Seconds"},"exceeded":{"type":"boolean","title":"Exceeded"}},"type":"object","required":["used_chars","used_seconds","exceeded"],"title":"QuotaStatus"},"ReadyResponse":{"properties":{"status":{"type":"string","enum":["ready","not_ready"],"title":"Status"},"model_path":{"type":"string","title":"Model Path"},"multi_model":{"type":"boolean","title":"Multi Model"}},"type":"object","required":["status","model_path","multi_model"],"title":"ReadyResponse","description":"Readiness check response."},"RecordBillingUsageRequest":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"model_id":{"type":"string","title":"Model Id"},"audio_seconds":{"type":"number","title":"Audio Seconds"},"api_key_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Key Id"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"char_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Char Count"},"ttfa_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ttfa Ms"},"idempotency_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency Key"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["org_id","model_id","audio_seconds"],"title":"RecordBillingUsageRequest","description":"One finished TTS generation — same fields as :class:`UsageReport`."},"RecordBillingUsageResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"cost_cents":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost Cents"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"currency":{"type":"string","title":"Currency","default":"eur"}},"type":"object","required":["success"],"title":"RecordBillingUsageResponse"},"ResolveApiKeyRequest":{"properties":{"api_key":{"type":"string","title":"Api Key"}},"type":"object","required":["api_key"],"title":"ResolveApiKeyRequest"},"ResolveApiKeyResponse":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"api_key_id":{"type":"integer","title":"Api Key Id"},"user_id":{"type":"string","title":"User Id"},"project_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}},"type":"object","required":["org_id","api_key_id","user_id"],"title":"ResolveApiKeyResponse"},"ResponseHints":{"properties":{"entity_in_progress":{"type":"boolean","title":"Entity In Progress","default":false}},"additionalProperties":true,"type":"object","title":"ResponseHints","description":"Protocol hints for the voice-agent consumer."},"RevokeRequest":{"properties":{"license_key":{"type":"string","title":"License Key"},"instance_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instance Id"}},"type":"object","required":["license_key"],"title":"RevokeRequest"},"SpellingAlternative":{"properties":{"spelling":{"type":"string","title":"Spelling"},"probability":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Probability"}},"type":"object","required":["spelling","probability"],"title":"SpellingAlternative","description":"One complete spelling retained from decoder evidence."},"SynthesizeRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"Text to synthesize"},"voice_id":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Voice Id","description":"Voice handle or legacy numeric ID for cloning"},"cfg_scale":{"type":"number","title":"Cfg Scale","description":"Classifier-free guidance scale (clamped to 1.2–2.5)","default":2.0},"temperature":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Temperature","description":"Sampling variance. 0 = most stable, 1 = most variance.","default":0.4},"max_new_tokens":{"type":"integer","maximum":2048.0,"minimum":1.0,"title":"Max New Tokens","description":"Maximum tokens to generate","default":2048},"sample_rate":{"type":"integer","title":"Sample Rate","description":"Output sample rate in Hz","default":24000},"language":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Language","description":"Language code (e.g., 'en', 'de')"},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id","description":"Model to use"},"normalize":{"type":"boolean","title":"Normalize","description":"Enable text normalization","default":true},"project_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id","description":"Project ID for custom dictionary lookup"},"dictionary_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array","maxItems":50},{"type":"null"}],"title":"Dictionary Ids","description":"Per-request dictionary selection. Omit for the default behavior (all active dictionaries of the project apply, filtered by language). An empty list disables dictionaries for this request. A list of dictionary IDs applies exactly those dictionaries — including inactive ones — bypassing the language filter."},"speed":{"type":"number","maximum":1.2,"minimum":0.8,"title":"Speed","description":"Playback speed multiplier (0.8 = slower, 1.2 = faster)","default":1.0},"output_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Format","description":"Combined codec+rate token (e.g. 'pcm_8000', 'ulaw_8000', 'alaw_8000'). Opt-in; when set it is authoritative and must not contradict 'sample_rate'. Absent ⇒ legacy 'sample_rate' path (linear PCM16)."}},"additionalProperties":false,"type":"object","required":["text"],"title":"SynthesizeRequest","description":"One-shot synthesis request (REST and single-request WebSocket)."},"TranscriptionResponse":{"properties":{"transcript":{"type":"string","title":"Transcript"},"language":{"type":"string","title":"Language"},"duration_s":{"type":"number","title":"Duration S"},"word_timestamps":{"items":{"$ref":"#/components/schemas/WordTimestamp"},"type":"array","title":"Word Timestamps"},"word_alternatives":{"items":{"$ref":"#/components/schemas/WordAlternatives"},"type":"array","title":"Word Alternatives"},"hints":{"$ref":"#/components/schemas/ResponseHints"},"model":{"type":"string","title":"Model","default":"parakeet-tdt-0.6b-v3"},"processing_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Processing Ms"},"text":{"type":"string","title":"Text","description":"OpenAI-compatible alias of transcript.","readOnly":true}},"additionalProperties":true,"type":"object","required":["transcript","language","duration_s","text"],"title":"TranscriptionResponse","description":"Response from ``POST /v1/audio/transcriptions``.\n\nFields beyond this declared subset (e.g. ``entities``,\n``audio_quality``) are preserved by ``extra=\"allow\"`` and reach the\ncaller verbatim — the ingress is a passthrough."},"UpdateDictionaryRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"language":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Language"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"additionalProperties":false,"type":"object","title":"UpdateDictionaryRequest","description":"Patch an existing dictionary. project_id cannot be changed."},"UpdateEntryRequest":{"properties":{"word":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Word"},"replacement":{"anyOf":[{"type":"string","maxLength":1000,"minLength":1},{"type":"null"}],"title":"Replacement"},"ipa":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Ipa"},"case_sensitive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Case Sensitive"}},"additionalProperties":false,"type":"object","title":"UpdateEntryRequest","description":"Patch an existing entry."},"UpdateVoiceRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"generative_voice_description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Generative Voice Description"},"supported_languages":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Supported Languages"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"age":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age"},"sex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sex"},"quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quality"},"sample_text":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Sample Text"}},"type":"object","title":"UpdateVoiceRequest","description":"Request body for updating an existing voice (partial update)."},"UploadedAvatarInfo":{"properties":{"avatar_s3_path":{"type":"string","title":"Avatar S3 Path"}},"type":"object","required":["avatar_s3_path"],"title":"UploadedAvatarInfo","description":"Stored avatar location returned after upload."},"UsageRequest":{"properties":{"license_key":{"type":"string","title":"License Key"},"instance_id":{"type":"string","title":"Instance Id"},"chars":{"type":"integer","title":"Chars"},"audio_seconds":{"type":"number","title":"Audio Seconds"},"reported_at":{"type":"number","title":"Reported At"},"signature":{"type":"string","title":"Signature","default":""}},"type":"object","required":["license_key","instance_id","chars","audio_seconds","reported_at"],"title":"UsageRequest"},"UsageResponse":{"properties":{"quota":{"$ref":"#/components/schemas/QuotaStatus"}},"type":"object","required":["quota"],"title":"UsageResponse"},"ValidateRequest":{"properties":{"license_key":{"type":"string","title":"License Key"},"instance_id":{"type":"string","title":"Instance Id"}},"type":"object","required":["license_key","instance_id"],"title":"ValidateRequest"},"ValidateResponse":{"properties":{"offline_token":{"type":"string","title":"Offline Token"},"quota":{"anyOf":[{"$ref":"#/components/schemas/QuotaStatus"},{"type":"null"}]}},"type":"object","required":["offline_token"],"title":"ValidateResponse"},"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"},"VapiArtifact":{"properties":{"messages":{"items":{},"type":"array","title":"Messages"}},"type":"object","title":"VapiArtifact","description":"Subset of Vapi's ``artifact`` — only the transcript length.\n\n``len(messages)`` is the turn id: stable across POSTs of one agent\nturn, grows between turns. Items are never introspected."},"VapiCall":{"properties":{"id":{"type":"string","minLength":1,"title":"Id"},"orgId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orgid"}},"type":"object","required":["id"],"title":"VapiCall","description":"Subset of Vapi's ``call`` object — only the stable id."},"VapiMessage":{"properties":{"type":{"type":"string","title":"Type","default":"voice-request"},"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text"},"sampleRate":{"type":"integer","title":"Samplerate","description":"Target sample rate in Hz"},"call":{"anyOf":[{"$ref":"#/components/schemas/VapiCall"},{"type":"null"}]},"artifact":{"anyOf":[{"$ref":"#/components/schemas/VapiArtifact"},{"type":"null"}]}},"type":"object","required":["text","sampleRate"],"title":"VapiMessage","description":"The ``message`` object Vapi sends in every custom TTS webhook."},"VapiTTSRequest":{"properties":{"message":{"$ref":"#/components/schemas/VapiMessage"}},"type":"object","required":["message"],"title":"VapiTTSRequest","description":"Vapi custom TTS webhook request body."},"VoiceDetailInfo":{"properties":{"id":{"type":"integer","title":"Id"},"voice_id":{"type":"integer","title":"Voice Id"},"handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Handle"},"public_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description","default":""},"generative_voice_description":{"type":"string","title":"Generative Voice Description","default":""},"supported_languages":{"items":{"type":"string"},"type":"array","title":"Supported Languages","default":[]},"category":{"type":"string","title":"Category","default":"cloned"},"age":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age"},"sex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sex"},"quality":{"type":"string","title":"Quality","default":"mid"},"is_public":{"type":"boolean","title":"Is Public","default":false},"verified":{"type":"boolean","title":"Verified","default":false},"pending_verification":{"type":"boolean","title":"Pending Verification","default":false},"sample_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Url"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"sample_text":{"type":"string","title":"Sample Text","default":""}},"type":"object","required":["id","voice_id","name"],"title":"VoiceDetailInfo","description":"Extended voice metadata returned by CRUD endpoints."},"VoiceInfo":{"properties":{"id":{"type":"integer","title":"Id"},"voice_id":{"type":"integer","title":"Voice Id"},"handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Handle"},"public_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"type":"string","title":"Category","default":"cloned"},"sex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sex"},"age":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age"},"quality":{"type":"string","title":"Quality","default":"mid"},"supported_languages":{"items":{"type":"string"},"type":"array","title":"Supported Languages","default":[]},"sample_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Url"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","voice_id","name"],"title":"VoiceInfo","description":"Voice metadata."},"VoiceReferenceInfo":{"properties":{"id":{"type":"integer","title":"Id"},"voice_id":{"type":"integer","title":"Voice Id"},"name":{"type":"string","title":"Name","default":""},"reference_text":{"type":"string","title":"Reference Text","default":""},"s3_path":{"type":"string","title":"S3 Path","default":""},"audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Url"},"is_generated":{"type":"boolean","title":"Is Generated","default":false}},"type":"object","required":["id","voice_id"],"title":"VoiceReferenceInfo","description":"Voice reference audio metadata."},"VoiceReferenceResponse":{"properties":{"id":{"type":"integer","title":"Id"},"audio_url":{"type":"string","title":"Audio Url"},"encoding_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encoding Url"}},"type":"object","required":["id","audio_url"],"title":"VoiceReferenceResponse"},"VoiceResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"type":"string","title":"Category","default":"cloned"},"sex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sex"},"age":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age"},"supported_languages":{"items":{"type":"string"},"type":"array","title":"Supported Languages"},"sample_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Url"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"references":{"items":{"$ref":"#/components/schemas/VoiceReferenceResponse"},"type":"array","title":"References"}},"type":"object","required":["id","name"],"title":"VoiceResponse"},"VoicesResponse":{"properties":{"voices":{"items":{"$ref":"#/components/schemas/VoiceInfo"},"type":"array","title":"Voices"},"total":{"type":"integer","title":"Total","default":0},"limit":{"type":"integer","title":"Limit","default":20},"offset":{"type":"integer","title":"Offset","default":0}},"type":"object","required":["voices"],"title":"VoicesResponse","description":"List of available voices."},"WeightsKeyRequest":{"properties":{"artifact_id":{"type":"string","pattern":"^[a-z0-9][a-z0-9._/-]{0,190}$","title":"Artifact Id"},"version":{"type":"string","maxLength":191,"minLength":1,"title":"Version"},"source_fingerprint":{"type":"string","maxLength":512,"minLength":1,"title":"Source Fingerprint"},"wrapped_key":{"type":"string","maxLength":1024,"minLength":1,"title":"Wrapped Key"},"key_encryption_key_id":{"type":"string","maxLength":64,"minLength":1,"title":"Key Encryption Key Id"},"encryption_format":{"type":"string","maxLength":64,"minLength":1,"title":"Encryption Format"}},"type":"object","required":["artifact_id","version","source_fingerprint","wrapped_key","key_encryption_key_id","encryption_format"],"title":"WeightsKeyRequest","description":"Every field comes from the image's own artifact-metadata.json, so a\ndeployment restates the release it holds rather than choosing one."},"WeightsKeyResponse":{"properties":{"artifact_id":{"type":"string","title":"Artifact Id"},"version":{"type":"string","title":"Version"},"decryption_key_b64":{"type":"string","title":"Decryption Key B64"},"encryption_format":{"type":"string","title":"Encryption Format"}},"type":"object","required":["artifact_id","version","decryption_key_b64","encryption_format"],"title":"WeightsKeyResponse"},"WordAlternatives":{"properties":{"raw_word_index":{"type":"integer","minimum":0.0,"title":"Raw Word Index"},"word":{"type":"string","title":"Word"},"alternatives":{"items":{"$ref":"#/components/schemas/SpellingAlternative"},"type":"array","title":"Alternatives"}},"type":"object","required":["raw_word_index","word"],"title":"WordAlternatives","description":"Ordered spelling candidates for one ambiguous decoded word."},"WordTimestamp":{"properties":{"word":{"type":"string","title":"Word"},"start_s":{"type":"number","title":"Start S"},"end_s":{"type":"number","title":"End S"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"}},"additionalProperties":true,"type":"object","required":["word","start_s","end_s","confidence"],"title":"WordTimestamp","description":"One transcribed word with timing and confidence."}}}}