> 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/form-builder.md).

# Form Builder

This is a configuration section of [Custom MT](/advanced/custom-mt.md). Use this configuration to create Machine Translation settings forms with various form elements.

## Object Structure

* **type**: `string`
  * "string"
  * "number"
  * "object"
* **form**: `string`
  * "input-text"
  * "input-number"
  * "input-range"
  * "input-password"
  * "select"
  * "textarea"
* **name**: `string`
* **title**: `string`
* **default**: `string|number`
* **options**: `Array of objects` <{name: string, value: string}> <mark style="color:$warning;">(optional)</mark>
* **styles**: `object` (optional)
* **launcher**: `object` \<show: boolean, fullwidth: boolean> <mark style="color:$warning;">(optional)</mark>

```json
{
    "formBuilder": [
        { "type": "string", "form": "input-text", "name": "api_key", "title": "API Key*", "default": "",
            "launcher": { "show": true }
        },        
        { "type": "string", "form": "select", "name": "formality", "title": "Formality", "default": "default",
            "options": [
                { "name": "Default", "value": "default" },
                { "name": "Formal", "value": "more" },
                { "name": "Informal", "value": "less" },
                { "name": "Formal (if available)", "value": "prefer_more" },
                { "name": "Informal (if available)", "value": "prefer_less" }
            ],
            "launcher": { "show": true }
        },
        { "type": "string", "form": "select", "title": "Preserve Formatting", "name": "preserve_formatting", "default": "0",
            "options": [
                { "name": "No (default)", "value": "0" },
                { "name": "Yes", "value": "1" }
            ],
            "launcher": { "show": true }
        }
    ]
}
```
