zvex
zvex MCP server
AI video dubbing as an MCP tool: hand it a video URL, get back a fully dubbed video in Russian, English or Spanish — keeping the original speakers' voices through per-speaker voice cloning.
Powered by zvex (声桥).
The server is a thin stdio client over zvex's HTTP API, so it runs anywhere Python does — no GPU, no local models.
Install
uvx zvex # run it without installing anything
# or
uv tool install zvex # install the `zvex` command
# or
pip install zvex(Working from a source checkout instead? Use uv tool install ./mcp/zvex.)
Get an API key
Sign in at https://tts.xalhar.top
Open Account → API keys and create one
Copy the
zvex-…value — it is shown only once
Jobs are billed from the same credit balance as the web app, at a flat 10 credits per minute of video. A failed job is refunded in full.
Configure your MCP client
Claude Desktop (claude_desktop_config.json) or Cursor (.cursor/mcp.json):
{
"mcpServers": {
"zvex": {
"command": "uvx",
"args": ["zvex"],
"env": {
"ZVEX_API_KEY": "zvex-your-key-here"
}
}
}
}Variable | Required | Default | Meaning |
| yes | — |
|
| no |
| API base URL (self-hosted deployments) |
Tools
Tool | Purpose |
| Credit cost and current balance |
| Queue a dubbing job, returns |
| Poll once; final states carry the output URLs |
| Block until the job finishes |
Typical flow:
submit_dubbing_job("https://example.com/episode-01.mp4", target_language="ru")
→ {"job_id": 42, "credits_cost": 240, "duration_sec": 1441.0, …}
wait_for_job(42)
→ {"status": "completed", "final_video_url": "…", "subtitle_url": "…"}Notes
video_urlmust be a publicly reachablehttp(s)link, up to 500 MB.target_languagedepends on the deployment (ru,en,eson the hosted service).tierisfast,standardorprofessional— it selects which features are available, not the price.One job per account runs at a time; a second submission returns HTTP 409.
Output links are served from the zvex domain and require being signed in there.
Development
uv venv --python 3.11 .venv-test
uv pip install --python .venv-test/bin/python -e .
ZVEX_API_KEY=zvex-… .venv-test/bin/python -m zvex.server