How to Transcribe with Speech is Cheap
Speech is Cheap transcribes prerecorded audio and video files through three APIs and two integrations. Use this page to pick one: a backend pipeline, a no-code workflow, an AI assistant, or an AI agent that pays per job from its own wallet.
Transcription Options
Jobs API
The Jobs API handles asynchronous transcription for audio and video files from six seconds to 24 hours long.
- Submit by URL: Pass a public media URL to
POST https://api.speechischeap.com/v2/jobs/. See Create a Job from a URL. - Submit by upload: Upload a local file up to 2 GiB to
POST https://upload.speechischeap.com/v2/jobs/. See Upload a File. - Retrieve results: Receive results through a webhook, follow a Server-Sent Events progress stream (Stream Progress), or poll
GET https://api.speechischeap.com/v2/jobs/<id>(Get a Job). Reading a job needs no API key, so keep job IDs private. - Features: Supports every add-on (speaker parsing, word-level timestamps, and audio labels), output in JSON, SRT, or VTT, and cancellation.
- Requirements: Requires an API key.
Edge API
The Edge API performs synchronous transcription for short audio clips.
- Immediate response: Send a file directly to
POST https://edge.speechischeap.com/v2/jobs/. The transcript returns in the body of the same HTTP response. See the Edge API. - Browser-friendly: Supports Cross-Origin Resource Sharing (CORS) for direct browser requests.
- Limits and features: Supports only the word-level timestamps add-on (
can_parse_words). Language detection runs once per file. Webhooks, streaming, SRT/VTT formats, and job cancellation are not supported. - Error handling: If transcription fails, the endpoint returns an HTTP 200 status code with
"status": "FAILED". Always verify thestatusfield in the response. - Requirements: Requires an API key. Edge uses its own per-minute rates.
x402 API
The x402 API allows an application, script, or AI agent to pay for one transcription job at a time over HTTP using the open x402 protocol (HTTP 402 Payment Required).
- No account needed: Transcribe without creating a Speech is Cheap account, signing up for a subscription, or managing API keys.
- Payment flow: Request a quote from
POST https://api.speechischeap.com/v2/x402/jobs/. The API answers with HTTP 402 Payment Required containing the exact price. Once your wallet signs and submits the payment proof, the job begins. Local files up to 2 GiB upload tohttps://upload.speechischeap.com/v2/x402/jobs/using a one-time upload token. - Pricing: Quotes use the pay-as-you-go rates. Unused purchased minutes and failed jobs are automatically refunded to the paying wallet.
- Retrieve results: Check job status using the free polling endpoint
GET https://api.speechischeap.com/v2/jobs/<id>or configure a webhook (which automatically retries failed deliveries). The progress stream isn't available. - Cancellation: Only the wallet that paid for the job can cancel it.
- Requirements: Requires a funded wallet with native USDC on the Base network and an x402 v2 client library such as
@x402/fetch. See the runnable example at/examples/x402-client.mjsand the x402 API.
MCP Integration
The MCP integration connects Speech is Cheap to AI assistants, such as ChatGPT and Claude, so you can ask the assistant to transcribe a recording in a conversation.
- Add the server
https://mcp.speechischeap.com/mcpto your assistant, then sign in with your API key. - The assistant transcribes audio and video files at public URLs and bills them to your API key's plan.
- For setup instructions, see the MCP Integration and its ChatGPT and Claude guides.
Zapier Integration
The Zapier integration lets you transcribe recordings inside automated no-code workflows.
- Connect cloud storage services like Google Drive to destinations like Google Sheets or Zapier Tables.
- The Transcribe Audio action takes a public input URL and returns the completed transcript.
- For setup instructions, see the Zapier Integration and its guides: Overview, Google Drive » Google Sheets, and Google Drive » Zapier Table.
Comparison of Methods
| Feature | Jobs API | Edge API | x402 API |
|---|---|---|---|
| Execution | Asynchronous | Synchronous (same HTTP response) | Asynchronous |
| Input | Public URL or upload up to 2 GiB | Upload only | Public URL or upload up to 2 GiB |
| Audio length | Six seconds to 24 hours | Built for short audio | Six seconds to 24 hours |
| Result delivery | Webhook, progress stream, or polling | The same HTTP response | Webhook or polling |
| Authentication | API key | API key | Native USDC wallet on Base (no key) |
| Add-ons | Speaker parsing, audio labels, word timestamps | Word timestamps only | Speaker parsing, audio labels, word timestamps |
| Subtitle formats (SRT/VTT) | Yes | No | Yes |
| Language detection | Per segment | Once per file | Per segment |
| Browser requests (CORS) | Upload endpoint only | Yes | Upload endpoint only |
| Cancellation | Yes | No | Yes (paying wallet only) |
Authentication and Setup
Getting and Using an API Key
To call the Jobs API or Edge API, you need an API key:
-
Pick a plan: Choose a monthly subscription or pay as you go on Pricing. Both options check out through Stripe Checkout and require a payment card.
-
Receive your key: Your first API key arrives by email from
no-reply@dash.speechischeap.comwith the subject line "Your Speech is Cheap API key". The key is displayed only once in that email and cannot be shown again. -
Authenticate requests: Send the key in the HTTP
Authorizationheader:Authorization: Bearer YOUR_API_KEYAPI keys start with the prefix
sk_. -
Manage keys: Create additional keys, rename them, or revoke old keys in the Dashboard.
-
Use one key per integration: Issue a separate key for each agent, script, or service. If a key is compromised, you can revoke it without disrupting your other integrations.
Paying With an x402 Wallet
If you'd rather not manage a subscription or API keys, pay per job in USDC:
- Funded wallet: Maintain a wallet funded with native USDC on the Base network (
eip155:8453, token contract0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913). - Client library: Use an x402 v2 client library such as
@x402/fetchto automatically negotiate the HTTP 402 challenge and sign payments. - Example code: Review the runnable client script at
/examples/x402-client.mjsand the x402 API.
How Charges Work
- Completed transcriptions only: You pay only for successfully completed transcriptions. Failed jobs are never billed.
- Minute rounding: Audio duration rounds up to the nearest whole minute for each file.
- Add-on billing: Each selected add-on is billed per minute in addition to base transcription.
- Current pricing: Current rates for subscriptions, pay as you go, and add-ons are published on Pricing.
- x402 upfront payment: With x402, your wallet pays for the quoted duration upfront. Any unused duration and failed jobs are automatically refunded to your wallet.
Try Without Signing Up
- Browser demo: Test transcription without creating an account using the Free Demo. It accepts files between six seconds and three minutes, up to 10 MiB.
- Web application: Once you have an API key, transcribe files through your browser in the Speech is Cheap App.