{"openapi":"3.1.0","info":{"title":"Orca Speech Platform","description":"Self-hosted, OpenAI-compatible Speech AI Platform","version":"0.1.0"},"paths":{"/":{"get":{"tags":["health"],"summary":"Platform landing page","description":"Landing page — platform info and endpoint links.","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/live":{"get":{"tags":["health"],"summary":"Liveness probe","description":"Liveness — process is alive.","operationId":"liveness_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Liveness Live Get"}}}}}}},"/ready":{"get":{"tags":["health"],"summary":"Readiness probe","description":"Readiness — engine loaded and warmed up.","operationId":"readiness_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Readiness Ready Get"}}}}}}},"/health":{"get":{"tags":["health"],"summary":"Health (alias for readiness)","description":"Health — alias for readiness.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Get"}}}}}}},"/version":{"get":{"tags":["health"],"summary":"Version information","description":"Return platform, API, and engine version info.","operationId":"version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Version Version Get"}}}}}}},"/v1/metrics":{"get":{"tags":["metrics"],"summary":"Per-engine inference metrics","description":"GET /v1/metrics — per-engine inference metrics.","operationId":"get_metrics_v1_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Metrics V1 Metrics Get"}}}}}}},"/v1/models":{"get":{"tags":["models"],"summary":"List available models","description":"GET /v1/models — list available models/plugins.","operationId":"list_models_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Models V1 Models Get"}}}}}}},"/v1/plugins":{"get":{"tags":["plugins"],"summary":"List all plugins with diagnostics","description":"GET /v1/plugins — detailed plugin diagnostics.","operationId":"list_plugins_v1_plugins_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Plugins V1 Plugins Get"}}}}}}},"/v1/audio/speech":{"post":{"tags":["speech"],"summary":"Text to speech (reserved)","description":"POST /v1/audio/speech — reserved for future TTS implementation.","operationId":"create_speech_v1_audio_speech_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Speech V1 Audio Speech Post"}}}}}}},"/v1/audio/transcriptions":{"post":{"tags":["transcription"],"summary":"Transcribe audio","description":"POST /v1/audio/transcriptions — OpenAI-compatible transcription.","operationId":"transcribe_v1_audio_transcriptions_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_transcribe_v1_audio_transcriptions_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_transcribe_v1_audio_transcriptions_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"model":{"type":"string","title":"Model","default":""},"language":{"type":"string","title":"Language","default":""},"response_format":{"type":"string","title":"Response Format","default":"json"},"temperature":{"type":"number","title":"Temperature","default":0.0},"timestamp_granularities":{"items":{"type":"string"},"type":"array","title":"Timestamp Granularities","default":["segment"]}},"type":"object","required":["file"],"title":"Body_transcribe_v1_audio_transcriptions_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"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"}}}}