# Scriptivox > 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 25 accepted container 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 as native tool calls from Claude, ChatGPT and other MCP clients. Two transports, same tools. Markdown: https://platform.scriptivox.com/docs/mcp.md - [MCP server manifest](https://platform.scriptivox.com/.well-known/mcp): The discovery document — tool names, the npm and OCI packages, 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 endpoint](https://platform.scriptivox.com/mcp): Streamable HTTP, stateless, no install. POST JSON-RPC; `initialize`, `tools/list`, `tools/call`. Four tools work with no API key. - [Documentation MCP endpoint](https://www.scriptivox.com/mcp/docs): The same Streamable HTTP protocol, registering only `search_docs` and `get_doc`. No credential, no account access. Both tools are on the main endpoint too. - [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 homepage registers page tools via `document.modelContext` for an agent driving the browser, and carries a no-JavaScript `toolname` form that queries /ask. No transcription tool is exposed there, on purpose. - [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 an in-flight job, release its reservation - `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, sales@scriptivox.com. - [Privacy Policy](https://www.scriptivox.com/privacypolicy): What we store and for how long. - [Terms of Use](https://www.scriptivox.com/termsofuse) ## 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.