Voxdub MCP server

Create a rythmo band from a video with your agent: Claude Code, Codex, Cursor, or any MCP client. The agent uploads the video, starts the transcription, fixes the lines, sets the style, and exports the video.

Create an access token

Requires an active Voxdub plan or a running trial.

What the MCP server does

The MCP server gives your agent direct access to your Voxdub account. It exposes 15 tools to run a project from start to finish.

The agent can upload a video, start automatic transcription with speaker detection, read and fix lines, assign characters, set the look of the band, translate the band, and export the video with the rythmo band burned in.

Every project the agent creates also shows in the Voxdub app, so you can continue the work by hand in the editor.

Who can use it

The MCP server is available with an active Voxdub plan or during a trial. The trial lasts 7 days and needs a card. After that, the plan costs 12.99 EUR per month or 99 EUR per year.

See plans

Get an access token

  1. Sign in to Voxdub and open Settings → Developer.
  2. Create a personal access token and give it a name (for example "Claude Code").
  3. Copy the token at once. Voxdub shows it only one time.
  4. Keep the token secret, like a password. If you lose it, revoke it and create a new one.

https://app-3.voxdub.com/settings?tab=developer

Set up your agent

The server uses the Streamable HTTP transport at https://mcp.voxdub.com/mcp. Each request sends the token in the Authorization: Bearer <token> header. Replace <token> with your token.

Claude Code

claude mcp add --transport http voxdub https://mcp.voxdub.com/mcp \
  --header "Authorization: Bearer <token>"

Codex

# ~/.codex/config.toml
[mcp_servers.voxdub]
url = "https://mcp.voxdub.com/mcp"
bearer_token_env_var = "VOXDUB_TOKEN"

Codex reads the token from the VOXDUB_TOKEN environment variable. Set it before you start Codex:

export VOXDUB_TOKEN="<token>"

Cursor

{
  "mcpServers": {
    "voxdub": {
      "url": "https://mcp.voxdub.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:VOXDUB_TOKEN}"
      }
    }
  }
}

Put this file in .cursor/mcp.json (project) or ~/.cursor/mcp.json (global). Cursor reads the token from the VOXDUB_TOKEN environment variable.

OAuth sign-in (claude.ai and ChatGPT connectors) is not available yet. For now, use a client that accepts an Authorization header.

Step-by-step example

You can simply describe the result to your agent. For example:

"With Voxdub, create a rythmo band for scene.mp4 (French, 2 characters), fix the typos, apply the studio style, and export in 9:16."

  1. 1

    Check the account

    get_account shows your email, your plan status, and your limits. The agent calls it first.

  2. 2

    Upload the video

    create_upload takes the file name, its exact size in bytes, its type (video/mp4, video/quicktime, or video/x-matroska), and the spoken language. It returns a put_url that is valid for 15 minutes. The agent sends the file to that URL, then calls complete_upload, which returns the project_id.

    curl -X PUT -H "Content-Type: video/mp4" \
      --upload-file scene.mp4 "<put_url>"
  3. 3

    Transcribe

    transcribe starts automatic transcription. The language is detected automatically, and speaker detection creates one character per voice. You can set min_speakers and max_speakers (1 to 20). The agent follows the job with wait_for_job until finished is true.

  4. 4

    Fix the lines

    get_project gives the source band id and the characters. list_lines reads the lines (pages of up to 200). update_lines fixes up to 100 lines at once: text, start_ms, end_ms, and character. assign_character and update_character set the characters, their names, and their colors.

  5. 5

    Set the style

    set_band_style applies a preset (standard, large, studio, comic, or reset) or exact settings: font, size, color, scroll speed, lane count, and band height. translate_band can also create bands in 1 to 5 more languages.

  6. 6

    Export

    export_video renders the video with the rythmo band burned in, in 16:9, 9:16, or square, at 720p or 1080p, at 24, 25, 30, or 60 frames per second. The remove_voice option removes the original voices.

  7. 7

    Download

    When wait_for_job shows the export is done, get_download_url gives a download link that is valid for 1 hour.

Tool reference

ToolWhat it does
get_accountShows the account behind the token, the plan status, and the limits.
list_projectsLists your projects, newest first, with search by title.
get_projectGets one project with its bands (one per language), characters, and style.
create_uploadStarts a video upload (mp4, mov, or mkv, up to 5 GB) and returns an upload URL.
complete_uploadFinishes the upload, checks the file, and creates the project.
transcribeStarts automatic transcription, with language and speaker detection.
list_linesLists the lines of a band, ordered by time, with paging.
update_linesEdits up to 100 lines: text, start, end, and character.
assign_characterSets one character on many lines of a band at once.
update_characterRenames a character or changes its colors (text, badge, track).
set_band_styleChanges the look of the rythmo band, with a preset or exact settings.
translate_bandTranslates a band into 1 to 5 languages. Each language becomes a new band.
export_videoExports the video with the rythmo band burned in (16:9, 9:16, or square, up to 1080p).
wait_for_jobWaits for a job to finish (up to 45 seconds per call) and returns its status.
get_download_urlGets a download link (valid 1 hour) for a finished export.

Limits

  • 1 export running and 2 open jobs at most at the same time, per account.
  • Videos up to 5 GB, in mp4, mov, or mkv.
  • Exports up to 1080p.
  • File upload only: import from a web URL is not available yet.

Video rights

Only upload videos you have the rights to use: your own footage, licensed videos, public domain, or CC BY with credit. Voxdub removes content that infringes rights.

Troubleshooting

401 UNAUTHENTICATED

The token is missing, not valid, expired, or revoked. Check the Authorization: Bearer <token> header, or create a new token.

Create a token

402 SUBSCRIPTION_REQUIRED

Your plan is not active. Subscribe or reactivate your plan, then run the tool again. The TRIAL_TRANSCRIPTION_LIMIT code means the trial transcription minutes are used up.

See plans

409 MCP_RENDER_LIMIT_REACHED / MCP_JOB_LIMIT_REACHED

One export or two jobs are already running. Wait for them with wait_for_job, then try again.

429 RATE_LIMITED

Too many requests. Wait a few seconds, then try again.

Ready to connect your agent?

Create an access token