> For the complete documentation index, see [llms.txt](https://docs.vntranslator.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vntranslator.com/advanced/custom-mt.md).

# Custom MT

{% hint style="info" %}
Requires VNTranslator version Pro 0.8.6 or later, and Neo 0.8.0 or later.\
Note: Some parameters are only available in the Pro version.
{% endhint %}

## To open Custom MT:

* From Launcher: Menubar -> Translator -> Double Click on the Service Name
* From Settings: Settings -> Translation Services -> Click on the Service Name

<figure><img src="/files/0N2xGZCuscNKWtEkaE6V" alt=""><figcaption></figcaption></figure>

> The Launcher does not automatically reload the configuration after you save or update Custom MT code. To reload the configuration, switch to another translation service and then back to Custom MT (Custom MT → DeepL Web → Custom MT).

## Configuration

Write the **Custom MT code** using the **JSON object structure** format:

* **configVersion**: `number`
* **name**: `string`
* **title**: `string`
* **description**: `string`
* **version**: `string`
* **icon**: `object` \<default: string>
* **schema**: `Array of objects` - [\[Schema\]](/advanced/custom-mt/schema.md)
* **formBuilder**: `Array of objects` - [\[FormBuilder\]](/advanced/custom-mt/form-builder.md)
* **lang**: `object` \<source: Array, target: Array>
  * **source**: `Array of objects` <{name: string, value: string}>
  * **target**: `Array of objects` <{name: string, value: string}>
* **request**: `object` - [\[Request\&Response\]](/advanced/custom-mt/request-and-response.md)
* **components**: `object` - [\[Components\]](/advanced/custom-mt/components.md)

```json
{
    "configVersion": 3,
    "name": "openai",
    "title": "OpenAI",
    "description": "Translate natural language text",
    "version": "1.0",
    "icon": {
        "default": "openai.png"
    },
    "schema": [],
    "formBuilder": [],
    "lang": {
        "source": [
            { "name": "Japanese", "value": "japanese"}
        ],
        "target": [
            {"name": "English", "value": "english"}
        ]
    },
    "request": {},
    "components": {}
}
```
