{ "openapi": "3.1.0", "info": { "title": "NCT TTS Bridge (PHP)", "version": "1.0.9" }, "servers": [{ "url": "https://ntcmilsim.net" }], "security": [{ "apiKey": [] }], "paths": { "/tts/debug-headers-json.php": { "get": { "operationId": "debugHeadersJson", "summary": "Echo incoming headers (JSON)", "x-openai-isConsequential": false, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "saw_header": { "type": "string" }, "x_api_key": { "type": ["string","null"] }, "ua": { "type": ["string","null"] } }, "required": ["ok","saw_header"] } } } } } } }, "/tts/speak-wav.php": { "post": { "operationId": "speakWav", "summary": "Synthesize and return a single audio file", "x-openai-isConsequential": false, "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpeakRequest" }, "example": { "text": "Hello", "lang": "ja-JP", "audio_format": "MP3" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpeakResponse" } } } } } } } }, "components": { "securitySchemes": { "apiKey": { "type": "apiKey", "in": "header", "name": "X-API-Key" } }, "schemas": { "SpeakRequest": { "type": "object", "required": ["text"], "properties": { "text": { "type": "string" }, "voice": { "type": "string", "description": "Optional voice name" }, "lang": { "type": "string", "default": "ja-JP" }, "audio_format": { "type": "string", "enum": ["LINEAR16", "MP3", "OGG"], "default": "MP3" } } }, "SpeakResponse": { "type": "object", "properties": { "ok": { "type": "boolean" }, "id": { "type": "string" }, "url": { "type": "string" } }, "required": ["ok", "id", "url"] } } } }