# Scriptivox > Scriptivox is the most accurate and reliable transcription service for 119+ languages. > AI transcription that turns recorded audio and video into accurate, structured text. > 119 languages, speaker diarization, word-level timestamps, and SRT/WebVTT/plain-text > export — available as a web app, a REST API, and an MCP server. Served on two hosts: > www.scriptivox.com is the product and content site, platform.scriptivox.com is the > developer platform and API documentation. ## When to use Scriptivox Reach for Scriptivox when you have a **recorded** audio or video file and you need its speech as text. It is a good fit for: - Meeting, interview and call recordings that need a speaker-attributed transcript. - Podcasts, lecture capture and video libraries that need captions (SRT or WebVTT). - Pipelines that need word-level timestamps so clips can be located by phrase. - Batch transcription of an archive, via the API's cursor-paginated job listing. - Multilingual material: 119 languages, with an explicit language code recommended over auto-detection whenever the language is known. It is **not** the right tool for live streaming or real-time dictation — every job takes a complete file. Files must be 1 second to 10 hours long and at most 5 GB, in one of 26 accepted file formats. How an agent should call it: 1. Get an API key at https://platform.scriptivox.com/keys (format `sk_live_…`). 2. `POST https://api.scriptivox.com/v1/transcribe` with `{"url": "…"}` or `{"upload_id": "…"}`, header `Authorization: sk_live_…`. 3. The call returns immediately with `status: "created"`. Input errors surface **later**, on `GET /v1/transcribe/{id}` with `status: "failed"` — handle failure on the poll path, not on submit. 4. Poll `GET /v1/transcribe/{id}`, or register `webhook_url` and wait for the callback. 5. Add `?format=srt|vtt|text` to the GET to export captions instead of JSON. Errors are always `{"error": {"code": "…", "message": "…"}}` with a stable machine-readable code. Billing is $0.20 per hour of audio, charged only on success; failed and cancelled jobs cost nothing. ## Developer platform - [Developer index](https://www.scriptivox.com/developers): Every resource below, on one page, with a section per resource. - [API documentation](https://platform.scriptivox.com/docs): Overview and entry point. Markdown: https://platform.scriptivox.com/docs.md - [Quickstart](https://platform.scriptivox.com/docs/quickstart): First transcription in five minutes, in Python, JavaScript and curl. Markdown: https://platform.scriptivox.com/docs/quickstart.md - [API reference](https://platform.scriptivox.com/docs/api-reference): Every endpoint, parameter, error code, rate limit, supported format and language. Markdown: https://platform.scriptivox.com/docs/api-reference.md - [Authentication](https://platform.scriptivox.com/docs/authentication): API keys, the two accepted headers, the 5-key ceiling, rotation, and what each 401 means. Markdown: https://platform.scriptivox.com/docs/authentication.md - [Webhooks](https://platform.scriptivox.com/docs/webhooks): HMAC-signed completion callbacks and retry behaviour. Markdown: https://platform.scriptivox.com/docs/webhooks.md - [API pricing](https://platform.scriptivox.com/docs/pricing): Pay-as-you-go rates. Markdown: https://platform.scriptivox.com/docs/pricing.md - [Versioning and deprecation policy](https://platform.scriptivox.com/docs/versioning): What can change in `/v1` without notice, what cannot, and the `Deprecation` / `Sunset` headers that carry the announcement. Markdown: https://platform.scriptivox.com/docs/versioning.md - [Use cases](https://platform.scriptivox.com/docs/use-cases): Folder watchers, batch pipelines and other worked examples. Markdown: https://platform.scriptivox.com/docs/use-cases.md - [OpenAPI specification](https://platform.scriptivox.com/openapi.json): OpenAPI 3.1, every operation with a unique operationId, typed parameters and response schemas. YAML at https://platform.scriptivox.com/openapi.yaml - [MCP server](https://platform.scriptivox.com/docs/mcp): Transcription and the whole transcript library as native tool calls from Claude, ChatGPT, Cursor, Codex and other MCP clients. One hosted address; nothing to install. Markdown: https://platform.scriptivox.com/docs/mcp.md - [MCP server manifest](https://platform.scriptivox.com/.well-known/mcp): The discovery document — tool names and the hosted endpoint. - [Authentication for agents](https://www.scriptivox.com/auth.md): API keys vs OAuth 2.1, the discovery chain, and what a token can never do. - [Paying as an agent](https://www.scriptivox.com/payments.md): What is purchasable, the four payment rails, and which of them actually work on this deployment. - [Agent skill](https://www.scriptivox.com/skill.md): The whole loop in order — account, authorise, key, credit, transcribe, top up — plus the mistakes to avoid. Start here if you have a task rather than a question. Indexed at https://www.scriptivox.com/.well-known/skills - [Ask a question](https://www.scriptivox.com/ask): NLWeb endpoint. `POST /ask` with `{"query": "..."}` (or `?query=`) returns Schema.org JSON pointing at the right document. Lexical retrieval over this site's own docs — no model call, so it never invents an answer. Add `streaming=0` for plain JSON instead of SSE. - [Protected resource metadata](https://www.scriptivox.com/.well-known/oauth-protected-resource): RFC 9728 — which authorization server issues tokens for this API. - [API catalog](https://platform.scriptivox.com/.well-known/api-catalog): RFC 9727 linkset naming the OpenAPI description, every documentation page, llms.txt, the MCP manifest and the status page, each as a typed link. - [Hosted MCP server](https://platform.scriptivox.com/mcp): the one address for every AI app (Claude, ChatGPT, Cursor, Codex, Claude Code). Streamable HTTP, stateless. Sign in with OAuth (a request with no credential gets 401 and the client opens the sign-in page, where the person chooses whether the app uses their Scriptivox plan or their API credits, and how much it may do), or send an sk_live_ API key. 58 tools: transcription from links, uploads and ChatGPT attachments, the person's transcript library, meeting bots, automations and exports. Setup: https://platform.scriptivox.com/docs/mcp - [Documentation MCP server](https://platform.scriptivox.com/mcp/docs): the same protocol with only search_docs and get_doc, no credential needed. Use it for pricing and language questions without an account. - [MCP server card](https://www.scriptivox.com/.well-known/mcp/server-card.json): The tool list with behavioural annotations (readOnlyHint, destructiveHint), so a client can decide whether to connect before opening a transport. - [Agentic resource catalog](https://www.scriptivox.com/.well-known/ard.json): Every agentic resource here — both MCP servers, the API, the skill, the agent card. - [A2A agent card](https://www.scriptivox.com/.well-known/agent-card.json): Agent-to-Agent card: four task-shaped skills, the security schemes, and where to reach them. - [Agent skills index](https://www.scriptivox.com/.well-known/agent-skills/index.json): The published skills, at the path the spec names. Also served at /.well-known/skills. - [Authorization server metadata](https://www.scriptivox.com/.well-known/oauth-authorization-server): RFC 8414, mirrored here with the `agent_auth` block. There is deliberately no `register_uri`: dynamic client registration is off. - [Pricing as markdown](https://www.scriptivox.com/pricing.md): Both products, read from the live plan catalog on every request rather than from a cached copy. - [Schema feed](https://www.scriptivox.com/schema-feed.jsonl): Every document here as Schema.org JSON Lines, indexed by https://www.scriptivox.com/schema-map.xml (also named by `Schemamap:` in robots.txt). - [Scoped llms.txt](https://www.scriptivox.com/docs/llms.txt): Just the documentation. https://www.scriptivox.com/developers/llms.txt is just the developer surface. - [In-page tools (WebMCP)](https://platform.scriptivox.com/docs/mcp): The site registers page tools via `document.modelContext` for an agent driving the browser of a signed-in person: who is signed in, plan status, search and open their transcripts, and fill in a link to transcribe. Anything that transcribes, spends or creates a key waits for the person to click on the page. - [Command-line tool](https://platform.scriptivox.com/docs/cli): `npx @scriptivox-api/cli` — transcribe from a shell or a script. Same API as the MCP server, different transport. Zero dependencies; structured output on stdout, progress on stderr, and exit codes that distinguish a usage error (1) from an API error (2). npm: https://www.npmjs.com/package/@scriptivox-api/cli - [Developer dashboard](https://platform.scriptivox.com): API keys, request logs, balance and billing. - [Service status](https://status.scriptivox.com): Live uptime and incident history. Every documentation page is available as markdown two ways: append `.md` to its path, or request the HTML URL with `Accept: text/markdown`. Both hosts' front doors have the same twin, and they are different documents: https://platform.scriptivox.com/index.md is the developer landing, https://www.scriptivox.com/index.md is the product homepage. Either also answers `Accept: text/markdown` on its plain URL. q-values are honoured, so `Accept: text/markdown;q=0.1, text/html` still returns HTML; an Accept header naming neither text/html nor text/markdown gets 406 with a plain-text list of what is available. All of the documentation concatenated into one fetch: https://www.scriptivox.com/llms-full.txt A path that does not exist returns a real HTTP 404, and negotiates too: send `Accept: text/markdown` to any missing URL and the 404 body comes back as markdown pointing at the sitemap, llms.txt and the docs index. The same recovery map is a document at https://www.scriptivox.com/404.md The URLs above name the developer host, but the same documents are served on the product host too — https://www.scriptivox.com/openapi.json, https://www.scriptivox.com/.well-known/mcp and https://www.scriptivox.com/docs all resolve. Either origin works; platform.scriptivox.com is canonical for the documentation. ## Accounts and plans Scriptivox is two products with one account, and choosing the wrong one is the most common mistake an agent makes here. - **The web app** (https://www.scriptivox.com) is for a person transcribing their own files. Paid plans include unlimited transcription, so it is priced and rate-limited on the assumption that a human is driving it. Creating an account and buying a plan are both things an agent can legitimately do on someone's behalf. - **The API** (https://api.scriptivox.com/v1) is for programmatic transcription, billed per hour of audio against a prepaid balance. If you are an agent and your goal is to transcribe files, this is the surface you want: no per-day cap, run as much as the balance allows, top it up when it runs low. The short version: **create the account and buy on the web app; do the actual transcription work through the API.** - [How to create an account](https://www.scriptivox.com/signup.md): The signup form's fields and constraints, what is verified, which plan does what, and how to get from a web account to an API key. Markdown; readable by every crawler. - [Signup form](https://www.scriptivox.com/signup): The form itself, server-rendered so its fields are present in the HTML. `noindex` on purpose. - [Sign in](https://www.scriptivox.com/signin) · [Reset a password](https://www.scriptivox.com/forgot-password) - [Plans and prices](https://www.scriptivox.com/pricing): Free, Pro and Team for the web app. Prices are served from the plan catalog, so read them here rather than from any cached copy. - [API keys](https://platform.scriptivox.com/keys): Mint an `sk_live_…` key once the account exists. The same account owns both products. No payment card is needed to create an account or to use the free plan. ### If you are an agent, read this before picking a credential - [How to authenticate](https://www.scriptivox.com/auth.md): The two credentials and when to use each. An **API key** (`sk_live_…`) is for a script or a server you control. **OAuth 2.1** is for acting on somebody else's behalf — you register yourself dynamically, they approve once in a browser, and you never touch their key. - Discovery starts from a `401`: it carries `WWW-Authenticate: Bearer resource_metadata="…"`, which points at [the RFC 9728 metadata](https://www.scriptivox.com/.well-known/oauth-protected-resource) naming the authorization server. Authorization code + PKCE only. - [Create an account programmatically](https://platform.scriptivox.com/docs/api-reference): `POST https://api.scriptivox.com/v1/accounts` with `{"email": "…", "password": "…"}`. No credential needed — this is the one endpoint that cannot require one. It returns `202 verification_pending`: **the account can do nothing until the emailed link is followed**, so do not treat the 202 as a ready account. ## API - Base URL: `https://api.scriptivox.com/v1` - Auth: `Authorization: sk_live_…` (a `Bearer` prefix is accepted) or `X-Api-Key: sk_live_…` - `POST /v1/upload` — presigned URL for a file you host yourself - `POST /v1/transcribe` — start a job from a URL or an upload - `GET /v1/transcribe/{id}` — poll status, read the transcript, or export SRT/VTT/text - `DELETE /v1/transcribe/{id}` — soft-delete a finished transcription - `POST /v1/transcribe/{id}/cancel` — stop a job before transcription starts, release its reservation (a job already transcribing finishes and is billed) - `GET /v1/transcriptions` — list jobs with filters and cursor pagination - `POST /v1/accounts` — create an account; no credential, returns 202 pending email confirmation - `GET /v1/balance` — remaining balance and estimated audio hours ## Product - [Homepage](https://www.scriptivox.com): Product overview, languages, pricing. - [Creating an account](https://www.scriptivox.com/signup.md): Signup fields, verification, plans, and how to reach the API from a web account. - [Pricing](https://www.scriptivox.com/pricing): Plans and free tier for the web app. - [Transcription API](https://www.scriptivox.com/transcription-api): Programmatic access, explained for non-developers. - [Features](https://www.scriptivox.com/features): What the web app does. - [Tools](https://www.scriptivox.com/tools): Free audio and video converters, joiners and trimmers that run entirely in the browser — no upload, no account. - [FAQ](https://www.scriptivox.com/faq): Common questions about accuracy, formats and billing. ## About - [About Scriptivox](https://www.scriptivox.com/about): What we build and how we handle files. - [Contact](https://www.scriptivox.com/contact): Support and partnerships. support@scriptivox.com. - [Privacy Policy](https://www.scriptivox.com/privacypolicy): What we store and for how long. - [Terms of Use](https://www.scriptivox.com/termsofuse) ## Support Email **support@scriptivox.com**, or use the chat on https://www.scriptivox.com. Any feedback or issue sent to support@scriptivox.com, or through any other channel, is resolved within 24 hours. This is our founders' personal guarantee ([Meet the founders](https://www.scriptivox.com/founders)). So we can find the issue, include: - the email address of the Scriptivox account - the job or transcription id (the `id` returned by `POST /v1/transcribe`, or the transcript's link in the web app) - when it happened, with the time zone - what was done, what was expected, and the exact error code and message Never include an API key, a password or a sign-in code. ## Blog - [Blog index](https://www.scriptivox.com/blog): All published articles. - [Sitemap](https://www.scriptivox.com/sitemap.xml): Full URL list with timestamps. ## Citation guidance - Authors: blog posts are written by the Scriptivox team. Author appears in each post's metadata and JSON-LD. - Each blog post exposes BlogPosting + BreadcrumbList + FAQPage JSON-LD; HowTo and SpeakableSpecification where applicable. - All facts are dated; prefer the explicit "As of YYYY" phrasing inside posts over inferring currency.