{ "swagger": "2.0", "info": { "contact": {} }, "paths": { "/api/engines": { "get": { "description": "Lists available Engines.", "summary": "List engines", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "/api/image": { "post": { "description": "When engine is set to all, it will return an array of libmozhi.LangOut.", "summary": "Translate an image", "parameters": [ { "type": "string", "description": "Engine name", "name": "engine", "in": "query", "required": true }, { "type": "string", "description": "Source language", "name": "from", "in": "query", "required": true }, { "type": "string", "description": "Target language", "name": "to", "in": "query", "required": true }, { "type": "string", "description": "PNG image in base64 format", "name": "image", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/libmozhi.ImgOut" } } } } }, "/api/source_languages": { "get": { "summary": "Show list of available source languages for engine", "parameters": [ { "type": "string", "description": "Engine name", "name": "engine", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/libmozhi.List" } } } } }, "/api/target_languages": { "get": { "summary": "Show list of available target languages for engine", "parameters": [ { "type": "string", "description": "Engine name", "name": "engine", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/libmozhi.List" } } } } }, "/api/translate": { "get": { "description": "When engine is set to all, it will return an array of libmozhi.LangOut.", "summary": "Translate text", "parameters": [ { "type": "string", "description": "Engine name", "name": "engine", "in": "query", "required": true }, { "type": "string", "description": "Source language", "name": "from", "in": "query", "required": true }, { "type": "string", "description": "Target language", "name": "to", "in": "query", "required": true }, { "type": "string", "description": "Text being translated", "name": "text", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/libmozhi.LangOut" } } } } }, "/api/tts": { "get": { "summary": "Get Text-To-Speech for specified language using specified engine", "parameters": [ { "type": "string", "description": "Engine name", "name": "engine", "in": "query", "required": true }, { "type": "string", "description": "Language being TTS'd", "name": "lang", "in": "query", "required": true }, { "type": "string", "description": "Text being TTS'd", "name": "text", "in": "query", "required": true } ], "responses": {} } } }, "definitions": { "libmozhi.ImgOut": { "type": "object", "properties": { "sourceB64": { "type": "string" }, "sourceLang": { "type": "string" }, "sourceTextParsed": { "type": "string" }, "targetLang": { "type": "string" }, "translatedImgB64": { "type": "string" }, "translatedTextParsed": { "type": "string" } } }, "libmozhi.LangOut": { "type": "object", "properties": { "detected": { "type": "string" }, "engine": { "type": "string" }, "source_language": { "type": "string" }, "source_transliteration": { "type": "string" }, "target_language": { "type": "string" }, "target_transliteration": { "type": "string" }, "translated-text": { "type": "string" }, "word_choices": { "type": "array", "items": { "$ref": "#/definitions/libmozhi.WordChoices" } } } }, "libmozhi.List": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "libmozhi.WordChoices": { "type": "object", "properties": { "examples_source": { "type": "array", "items": { "type": "string" } }, "examples_target": { "type": "array", "items": { "type": "string" } }, "word": { "type": "string" } } } } }