AI Tools
Extract or import subtitles, translate them with AI, and export clean SRT or ASS files while preserving timing and subtitle structure
Call this tool from your code in three languages.
# 1) Upload each file first → returns { filePath }
curl -X POST 'https://api.elysiatools.com/upload/video-subtitle-translator' \
-F 'file=@/path/to/subtitleFile.ext'
curl -X POST 'https://api.elysiatools.com/upload/video-subtitle-translator' \
-F 'file=@/path/to/videoFile.ext'
# 2) Call the tool with the returned filePath values
curl -X POST 'https://api.elysiatools.com/en/api/tools/video-subtitle-translator' \
-F 'subtitleFile=/public/samples/subtitles/srt/simple-product-demo.srt' \
-F 'videoFile=/path/to/file.ext' \
-F 'targetLanguage=english' \
-F 'sourceLanguage=chinese' \
-F 'outputFormat=preserve' \
-F 'keepStylingTags=true'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/video-subtitle-translator| Name | Type | Required | Description |
|---|---|---|---|
| subtitleFile | fileupload required | No | — |
| videoFile | fileupload required | No | — |
| targetLanguage | select | Yes | — |
| sourceLanguage | select | No | — |
| outputFormat | select | No | — |
| keepStylingTags | checkbox | No | — |
File result
{
"filePath": "/public/processing/randomid.ext",
"fileName": "output.ext",
"contentType": "application/octet-stream",
"size": 1024,
"metadata": {
"key": "value"
},
"error": "Error message (optional)",
"message": "Notification message (optional)"
}Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-video-subtitle-translator": {
"name": "video-subtitle-translator",
"description": "Extract or import subtitles, translate them with AI, and export clean SRT or ASS files while preserving timing and subtitle structure",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=video-subtitle-translator",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "video-subtitle-translator",
"arguments": {
"subtitleFile": "/public/samples/subtitles/srt/simple-product-demo.srt",
"videoFile": "https://example.com/file.ext",
"targetLanguage": "english",
"sourceLanguage": "chinese",
"outputFormat": "preserve",
"keepStylingTags": true
}
}
}Questions or issues? Contact [email protected]