Voibe Transcription MCP Server

official

Give ears to Claude/Openclaw/Hermes/Codex/Grok Bot. Voibe turns recordings into text your AI agent can work with. Ask your agent to transcribe a meeting, interview, call, lecture, podcast episode or voice memo. The raw transcript arrives in the chat with speaker labels, timestamps and a summary.

What can you do with Voibe Transcription MCP?

  • Create transcription jobs — Ask your assistant to start a transcription by submitting audio via create_transcription_job, with optional speaker diarization and a custom summary prompt.

  • Retrieve transcripts and summaries — Use get_transcript to fetch speaker-labelled lines with timestamps, a plain-text version, and a steerable summary shaped by your prompt.

  • List past recordings — Call list_transcripts to see your previous jobs newest first, including status, title, and audio duration.

  • Check remaining minutes — Query get_balance to see how many transcription minutes you have left before starting a new job.

  • Receive results via webhook — Pass a webhook_url when creating a job to get the finished transcript and summary POSTed to your endpoint automatically.

Documentation

Workflows

Simple API for complex workflows

One call returns the transcript, the speakers and the summary. What your agent builds on top of that is the interesting part.

Meeting notes

  1. A standup recording lands in your bucket
  2. One call returns who said what, plus a decisions-only summary
  3. Your agent posts the notes and opens the follow-ups

"prompt": "summarise as decisions and owners"

Support QA

  1. A support call finishes and the recording is sent
  2. Speaker labels separate the customer from the rep
  3. Your agent scores the call and flags the ones to review

"prompt": "list the customer's unresolved complaints"

Podcast production

  1. An episode is uploaded and a webhook is registered
  2. The finished transcript arrives at your endpoint with timestamps
  3. Your agent writes show notes and cuts chapter markers

"prompt": "write show notes with chapter titles"

Sales calls to CRM

  1. A call recording is sent as soon as the meeting ends
  2. The summary comes back as action items
  3. Your agent writes them onto the deal and schedules the next step

"prompt": "list action items with owners and dates"

Every one of these is the same three endpoints. The only thing that changes is the prompt you send and what your agent does with the response.

Built for agents

If your agent can call a URL, it can listen

One POST, one upload, one JSON response. No SDK to adopt, no runtime to install, no framework to marry.

  • Claude Code
  • Codex
  • Cursor
  • Hermes
  • OpenClaw

Two ways in, nothing to install. Connect the MCP server and ask, or point your agent at the docs and it writes the client your use case needs.

Paste this into your agent

Read https://platform.getvoibe.com/docs.md and write me a client that
sends a meeting recording to the Voibe API and returns who said
what, with timestamps and a summary.

MCP server

Use it from Claude, Cursor, Codex and ChatGPT

Voibe is an MCP server. Connect it once and the AI app you already use can transcribe a recording, read the result and check your minutes. No code.

  1. Add the connector Paste the address into your app: Claude under Connectors, Claude Code with one command, Cursor and Codex in their config file.
  2. Sign in once Approve Voibe in the browser. A new email address gets an account with 15 free minutes. No API key to copy.
  3. Ask "Transcribe this recording." A coding tool uploads the file itself. A chat app hands you an upload link. The transcript and summary come back in the chat.
  4. Same API, same account, same billing: per second of audio, only when the job finishes.

MCP address

https://api.getvoibe.com/mcp

Claude Code

claude mcp add --transport http voibe https://api.getvoibe.com/mcp
  • create_transcription_job Start a transcription

  • get_transcript Status, then the transcript and summary

  • list_transcripts Your recordings, newest first

  • get_balance Minutes remaining

  • Claude

  • Claude Desktop

  • Cowork

  • Claude Code

  • Cursor

  • Codex

  • ChatGPT

  • VS Code

  • Hermes

  • OpenClaw

What your agent gets back

What the transcription API returns

No second call to a summariser, no separate diarization service, no glue code stitching them together.

GET /v1/transcripts/{job_id}

{
  "job_id": "a523721c-…",
  "status": "DONE",
  "title": "Pricing page review",
  "audio_duration_seconds": 205.27,
  "seconds_charged": 206,
  "diarize": true,
  "transcript": [
    { "speaker": "Priya", "start": 0.4,  "end": 5.2,
      "text": "Let's start with the pricing page. Where are we?" },
    { "speaker": "Tom",   "start": 6.1, "end": 10.8,
      "text": "Copy is done. I need a review before Thursday." }
  ],
  "transcript_text": "Priya: Let's start with the pricing page…",
  "summary": { "text": "Pricing page ships Friday. Tom owns the copy, Priya reviews on Thursday." },
  "error": null
}
  • transcript Every line with who said it, and its start and end time in seconds. Quote the right person, jump to the moment, or route a follow-up to whoever asked for it.
  • transcript_text The same transcript as one plain string, ready to drop straight into a prompt or an index.
  • summary A short summary your agent can post, store or reason over without a second model call. It comes with a title for the recording.

Use cases

Set it up once. It runs every week.

You do not write the integration. You describe the repeating job to the agent you already use, and it writes the script that calls Voibe on a schedule.

Product manager

using Claude Cowork

Turns a week of customer calls into a themed feedback digest, without listening to any of them.

What they asked their agent

“Every Friday, send last week's call recordings to the Voibe API and give me the top five themes, with a quote and the customer name for each.”

Developer

using Codex

Keeps a searchable transcript index of every standup and incident call the team records.

What they asked their agent

“Write a job that posts new recordings from our bucket to the Voibe API, stores the JSON, and indexes transcript_text in Postgres for search.”

Founder

using Hermes

Gets investor and sales calls turned into follow-ups before the day ends.

What they asked their agent

“When a call recording lands, transcribe it with Voibe and draft the follow-up email listing what I committed to and by when.”

Content creator

using OpenClaw

Turns every new episode into show notes, chapter markers and clip candidates overnight.

What they asked their agent

“Watch this folder. When a new episode appears, transcribe it with Voibe and give me chapters, show notes and the three best pull quotes with timestamps.”

Each of these is one conversation with an agent. The agent connects to the MCP server or reads the docs, writes the script and schedules it; you review the output.

Pricing

Speech to text API pricing

15 free minutes, then buy minutes that never expire. Pay for the audio your agents actually transcribe: no subscription, no seats, no monthly minimum.

$50 $0.27 per hour of audio

11,000 minutes · 183 hours of audio

Start with 15 free minutes

No card. Per second of audio, charged when a job finishes. Minutes never expire.

Speaker diarization

Speaker diarization: your agent knows who said what

Speaker labels are on by default: every line comes back with a speaker label and start and end times in seconds. There is no cap on how many speakers are told apart, and when people say their names the summary uses them. No separate diarization model to run, no extra charge. Set diarize to false for a plain transcript.

  • Meeting agents that track who committed to what
  • Support agents that quote the customer
  • Interview and podcast pipelines
  • Anywhere more than one person talks

One field on the create call

{ "diarize": true }

Webhooks

Async transcription: your agent fires and moves on

Pass a webhook_url when you create the job and we POST the finished result to your endpoint. No agent loop sits blocked on a poll. The body carries an event name and the same job body as the GET, so one handler covers both paths.

One field on the create call

{ "webhook_url": "https://you.dev/ready" }

Steerable summaries

Ask for the shape your agent needs

Pass a prompt and the summary comes back the way your code wants to read it: decisions only, action items, bullet points. Your agent gets usable structure without a second model call. Up to 2,000 characters. It changes the summary.

Your instructions, your summary

{
  "diarize": true,
  "prompt": "summarise as bullet points, focus on decisions"
}

Integration

Let your coding agent wire it up

Copy one prompt from the portal into Claude Code, Codex, Cursor or any coding agent, and it writes the client for you. The prompt arrives with your key already filled in. And when you only need a recording transcribed, skip the code: connect the MCP server and ask.

Build useful apps

What developers build with the speech to text API

The API gives you speaker-labelled text, timestamps and a steerable summary. These are the products that fall out of that.

Meeting notetaker

Turn a recording into notes that name who committed to what. Speaker labels do the attribution, the prompt shapes the output into decisions and owners.

Searchable call archive

Index transcript_text for full-text search and keep the timestamps to jump straight to the moment. Filter by speaker to find what one person said across months of calls.

Captions and subtitles

Every line arrives with a start and end time in seconds, which is all an SRT or VTT file needs. Caption a whole video library without touching an editor.

Voice notes to tasks

A walk-and-talk memo becomes structured work. Ask the prompt for action items with owners and dates, then write them straight into your tracker.

Call scoring and coaching

Separate the rep from the customer, then score the call against your own rubric. Review the outliers.

A voice interface for your product

Let users talk to your app. Send the clip, get back text your agent can route, and skip building speech infrastructure.

None of these needs a different endpoint. The transcript, the speakers and the summary all arrive in one response; the product is what you do with it.

How it works

How the speech to text API works

Three endpoints, two steps. Create the job, upload the audio to the signed URL you get back, then poll for the result or let a webhook bring it to you.

  • POST /v1/transcripts Starts a job and returns a signed upload URL.
  • GET /v1/transcripts/{job_id} Returns status, transcript and summary.
  • GET /v1/transcripts Lists your jobs, up to 200 per page.
  • Audio goes straight to storage on the signed URL, so large files never travel through an API request. Files up to 200 MB; the URL works for 5 hours.

Upload the audio

curl -s -X PUT "$UPLOAD_URL" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @pricing-meeting.mp3

Trust and reliability

Zero retention on your audio

The recording is deleted the moment the transcript exists. It is never kept, and never used to train models.

  • Audio is deleted after transcription

    The recording is removed once the transcript has been produced.
  • Never used to train models

    Nothing you send is used to train models. Your recordings are yours.
  • Every read is scoped to your account

    A job can only be read by the account that created it.
  • Failed jobs are never charged

    You pay only when a job reaches DONE. Queued, processing and failed jobs cost nothing, so a retry costs nothing either.

Your transcripts stay readable through GET /v1/transcripts for 24 hours after the job finishes, so an agent can fetch a result again without re-sending the audio.

Speech to text API FAQ

What is the best speech to text API for AI agents?

The one your agent can use without waiting for an integration. Voibe's API is plain HTTP: one POST to start a job, one upload, one JSON response containing the transcript, speaker labels, timestamps and a summary. There is no SDK to install and no framework to commit to. It is also an MCP server at https://api.getvoibe.com/mcp, so Claude, Claude Code, Cursor, Codex and ChatGPT connect to it directly. For your own code, point the agent at https://platform.getvoibe.com/docs.md and it works out the calls your use case needs. Every new account starts with 15 free minutes and no card.

Does the Voibe speech to text API have an MCP server?

Yes. The Voibe MCP server is at https://api.getvoibe.com/mcp. Add it to Claude, Claude Code, Cursor, Codex, ChatGPT or VS Code as a custom connector or with one config block, sign in once, and ask the app to transcribe a recording. It exposes four tools: start a transcription, get a transcript, list transcriptions and check remaining minutes. It uses the same account, the same minutes and the same per-second billing as the API.

Can Claude transcribe a meeting recording with Voibe?

Yes. In Claude, open Customize, then Connectors, click +, choose Add custom connector, paste https://api.getvoibe.com/mcp and sign in. Then ask Claude to transcribe a recording. Claude cannot read files on your computer, so it gives you an upload link; drop the file in and Claude fetches the transcript and summary. This works in Claude on the web, Claude Desktop and Cowork.

How do I transcribe audio from Claude Code, Cursor or Codex?

Connect the Voibe MCP server and ask. For Claude Code, run claude mcp add --transport http voibe https://api.getvoibe.com/mcp, type /mcp in a session and sign in. Cursor and Codex take one block in their config file. Then ask the agent to transcribe a file: it uploads the file itself and returns the speaker-labelled transcript and summary. Setup for every app is at https://platform.getvoibe.com/docs/mcp.

Does the API identify different speakers, and does it know their names?

Yes. Speaker labels are on by default: every line comes back with a speaker label and start and end times in seconds. Speakers are labelled speaker_0, speaker_1 and so on, consistently within a recording, with no cap on how many are told apart. The summary and the title use people's names when the recording does, for example when someone introduces themselves or is addressed by name. Speaker diarization is included in the price. Set diarize to false for a plain transcript.

Which audio formats, file sizes and rate limits apply?

mp3, wav, m4a, mp4, flac, ogg and webm go straight in; other audio and video files are converted first when the audio can be read. The format is read from the file's content. Each file can be up to 200 MB, and the upload URL works for 5 hours. Rate limits are 50 jobs a minute and 1,000 jobs a day per account; past that the create call returns 429, so wait and retry.

What languages does the speech to text API support?

The speech and summary models are multilingual, so the recording does not have to be in English. Speaker separation works the same in any language.

Do I have to poll for results?

No. Pass a webhook_url when you create the job and we POST the finished result to your endpoint as soon as it is ready. The body carries an event name, transcript.completed or transcript.failed, and the same job body as GET /v1/transcripts/{job_id}, so one handler covers both. Polling is still available if you prefer it.

How am I billed, and do minutes expire?

Per second of audio, rounded up to the whole second. A 3 minute 24 second file costs 3 minutes 24 seconds. You are charged only when a job reaches DONE, so queued, processing and failed jobs cost nothing. Every new account starts with 15 free minutes and no card is required. After that you buy minutes in one-time packs, from $10 for 2,000 minutes. Minutes never expire, and there is no subscription and no monthly minimum.

What happens if a job fails?

You are not charged. The job comes back with a status of FAILED and an error field explaining what went wrong in plain words, for example not enough minutes for the length of the audio, or a file that never arrived within 24 hours. With no minutes left at all, the create call is refused with a 402 before any upload, so nothing is sent.

Is my audio stored or used to train models?

Audio is deleted after transcription and is never used to train models. Transcripts and summaries stay readable for 24 hours after the job finishes, then they are deleted. The job's title, length and cost stay in your history. Every read is scoped to your account, so you only ever see your own jobs. Speech to text runs on Whisper large-v3-turbo, speaker separation on pyannote community-1, and the summary on gpt-oss-120b.

How is this different from running Whisper myself?

There is no infrastructure to run, no GPU to keep warm and no scaling to manage. Speaker diarization and the summary come back in the same response as the transcript, with no second model and no glue code. You pay per second of audio transcribed, and there is no server time to pay for.