Transcode/conform/splice video, convert docs, transcribe audio for AI agents. Free $1 trial.
Runs on your machine from its package; the steps are below.
At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y botverse-mcp
MCP client config
{
"mcpServers": {
"botverse": {
"command": "npx",
"args": [
"-y",
"botverse-mcp"
]
}
}
}MCP server and command-line tool for Botverse — video transcoding and document conversion for AI agents and the humans who configure them.
Two ways to use it: an MCP server for your AI agents, and a botverse CLI for the shell — evaluation, CI/CD, cron, scripts, and local coding agents. No AWS. No FFmpeg. No infrastructure.
{
"mcpServers": {
"botverse": {
"command": "npx",
"args": ["-y", "botverse-mcp"],
"env": {
"BOTVERSE_API_KEY": "bv_live_..."
}
}
}
}
Or with a connector URL (recommended for claude.ai):
{
"mcpServers": {
"botverse": {
"command": "npx",
"args": ["-y", "botverse-mcp"],
"env": {
"BOTVERSE_CONNECTOR_URL": "https://botverse.cloud/mcp?token=bv_sess_..."
}
}
}
}
botverse)The same package ships a botverse CLI for the shell — it reads files from disk and
streams them straight to the API (no content goes through an LLM), so it's the fast
path for evaluation, automation, and local coding agents.
export BOTVERSE_API_KEY=bv_live_… # or BOTVERSE_CONNECTOR_URL=…?token=bv_sess_…
npx botverse convert report.md --to pdf
npx botverse convert *.md --to docx,pdf -o ./out
npx botverse transcode clip.mov --to mp4 -o ./out
npx botverse transcribe call.mp4 --to docx --attendees "Sarah Chen,Mike Torres"
npx botverse conform video.mp4 audio.wav --to mp4 --method speed_conform --target-framerate 25
npx botverse balance
Each job uploads → polls → downloads the finished file to -o (default: current dir).
Globs and multiple --to formats run as a batch.
Sandbox note: the CLI needs outbound network to
botverse.cloudand Botverse's file storage host, so it does not run inside sandboxed agent environments (claude.ai / Claude Desktop), whose egress is allowlisted. There, use the MCP tools (e.g.convert_content) instead.
| Tool | Description |
|---|---|
get_upload_url | Get a presigned URL to upload a file for use with the _media/_file/_video (object-key-based) tools |
transcode_from_url | Transcode video from a public URL |
transcode_video | Transcode an uploaded video file |
conform_from_url | Mux a separate video + audio source (public URLs) into one output |
conform_media | Mux an uploaded video + audio source into one output |
conform_splice_from_url | Concatenate video/image segments (public URLs) — slates, bumpers, end cards, inserts, joined clips |
conform_splice_media | Concatenate uploaded video/image segments — same use cases |
convert_content | Convert document content inline (up to 4 MB; sandbox-safe) |
convert_from_url | Convert a document from a public URL |
convert_file | Convert an uploaded document |
submit_workflow | Submit a multi-step BWDL workflow chaining several of the above tools together, with dependency ordering and parallel branches |
get_workflow_status | Poll a workflow (and its per-step status) until it reaches a terminal state |
cancel_workflow | Cancel an in-progress workflow; already-completed steps are billed, the rest are not |
get_job_status | Poll a job until complete |
get_download_url | Get the signed download URL |
get_wallet_balance | Check wallet balance |
submit_workflow chains multiple Botverse tools (transcode, convert, transcribe, conform, splice) into
one server-side job — e.g. transcribe → clip extraction → delivery — instead of your agent making each
call and polling each one individually.
workflow_id and a steps array. Each step has an id, a tool (any MCP tool name), an inputs
object, and an optional depends_on array of prior step ids.depends_on run in parallel."$.steps.<step_id>.output_key", and a
workflow-level parameter with "$.params.<name>" — no other template syntax is supported.submit_workflow, poll with get_workflow_status every 5–10 seconds until the status is
COMPLETED, FAILED, PARTIALLY_FAILED, or CANCELLED, and stop early with cancel_workflow if
needed (you're only billed for steps that already completed).Example — a two-step conversion chain (URL → DOCX → PDF):
{
"workflow_id": "md-to-pdf-via-docx",
"steps": [
{
"id": "to_docx",
"tool": "convert_from_url",
"inputs": {
"source_url": "https://example.com/report.md",
"output_format": "docx"
}
},
{
"id": "to_pdf",
"tool": "convert_file",
"depends_on": ["to_docx"],
"inputs": {
"object_key": "$.steps.to_docx.output_key",
"output_format": "pdf"
}
}
]
}
Credits never expire. Full pricing →