Upload audio or video, get back text, SRT, VTT, and timestamped segments — from hosted Whisper large-v3. No API key during the free preview.
Create a job, then poll it. Both are open — no key, no signup.
/transcribe Upload a file (multipart/form-data). Fields: file (required), language (optional). Returns { task_id, status }.
/transcribe/tasks/{task_id} Poll the job. While running, status is queued/processing; when done, result holds the transcript.
# 1) Start a job — no API key needed
curl -X POST https://api.vocce.io/api/v1/transcribe \
-F "file=@meeting.mp3" \
-F "language=en"
# → { "task_id": "job_2481", "status": "queued" }# 2) Poll until it's done
curl https://api.vocce.io/api/v1/transcribe/tasks/job_2481
# → {
# "status": "done",
# "result": {
# "text": "Full transcript…",
# "srt": "1\n00:00:00,000 --> …",
# "vtt": "WEBVTT\n\n00:00:00.000 --> …",
# "language": "en",
# "duration": 92.4,
# "segments": [ { "start": 0.0, "end": 4.4, "text": "…" } ]
# }
# }The result object, once the job is done.
| field | type | description |
|---|---|---|
text | string | Full transcript as plain text |
srt | string | Subtitles in SubRip (SRT) format |
vtt | string | Subtitles in WebVTT format |
language | string | Detected or specified language code |
duration | number | Media duration in seconds |
segments | array | Timestamped segments: { start, end, text } |
The same backend, exposed as an MCP server, a CLI, and an Agent Skill.
{
"mcpServers": {
"vocce": {
"command": "npx",
"args": ["-y", "vocce-transcribe-mcp"]
}
}
}