One recording. One payment. Let your app, script, or AI agent buy speech-to-text natively over HTTP using standard x402 v2—no account, subscription, or API key required.
Send the recording duration and chosen processing options.
2. Sign and Settle
Approve the quoted USDC payment on Base mainnet.
3. Receive Transcript
Get completion webhooks or read the free status endpoint.
Native USDC on Base mainnet · 1-cent minimum · No account required
Built for Autonomous Agents and Scripted Workflows
x402 embeds machine payments directly into standard HTTP requests. Your client receives a verifiable quote, pays only for what it processes, and never manages long-lived API keys.
No API Keys or Accounts
A Base wallet payment gives your client immediate access to one transcription. No signups, API credentials to rotate, or subscriptions required.
Quoted Up-Front Pricing
The quote uses your claimed recording duration and selected add-ons. Review the price before paying. The selected rates determine your duration allowance.
Public URLs and Direct Uploads
Submit a publicly accessible media URL, or pay first and upload local files directly up to 2 GiB via a one-use upload token.
Safe Retries and Idempotency
Replay the exact same request with the same payment signature to recover your job or purchase. You will never pay twice for retrying with the same signature.
Protocol Exchange
Quote, Pay, Then Process the Recording
Speech is Cheap implements standard x402 v2 on Base mainnet. The handshake uses standard HTTP status codes and headers.
1. Request the Price
Send the duration, processing options, and optional webhook URL. The API returns an HTTP 402 Payment Required response before it downloads or processes the recording.
2. Authorize One Payment
Your x402 client signs a payment for the quoted amount with native USDC on Base. After payment confirmation, URL jobs are submitted for processing. For local files, use the returned upload continuation.
3. Receive the Result
Receive completion updates at your webhook. You can also read the existing job status endpoint. Reading the result does not require another payment or API key.
Recordings must be between six seconds and 24 hours. For a local file, start the upload within five minutes after the paid purchase is ready. The upload and transcription can finish after that deadline. The first release does not stream transcription output.
API Implementation
Submit and Pay in One Request Cycle
Standard x402 v2 client libraries automate the 402 challenge and signature retry seamlessly.
Direct local file uploads: Set "input_type": "upload" and omit input_url. After payment, the 202 Accepted response includes a dedicated upload URL and one-use token.
Prices use audio minutes. The API rounds the requested duration up to whole minutes and the combined job price up once to whole US cents.
Core Transcription
$0.002
per audio minute, or $0.12 per audio hour
The rounded total has a one-cent minimum. Payment uses native USDC on Base.
Optional Add-Ons
Parse Speakers
$0.002 per minute
Word-Level Timestamps
$0.001 per minute
Label Audio
$0.0002 per minute
Your Payment Includes a Duration Allowance
At the core transcription rate, a three-minute, 20-second duration claim costs $0.01 after rounding. That payment covers up to five minutes of recorded audio. A four-minute, 10-second recording fits. A recording longer than five minutes fails and receives a full refund.
The allowance depends on the combined rate. Add-ons can change it. The integration guide explains how to calculate it.
Refunds to the Paying Wallet
Clear Outcomes for Each Paid Recording
Refunds return through Stripe to the wallet that paid. We do not deduct processing or settlement fees from a full refund.
Successfully Completed
We calculate the final cost from the actual recording duration and the rates you purchased. Any excess whole cents are refunded after success.
Processing Failed
A terminal processing failure receives a full refund. This includes a recording that exceeds its purchased duration allowance.
Cancellation Confirmed
The wallet that paid can request cancellation. A confirmed cancellation receives a full refund.
Purchase Left Unused
If an unused purchase expires before submission starts, it receives a full refund. The submission-start window is five minutes.
Excess refunds use whole US cents. For example, a $0.12 payment with a successful final cost of $0.03 receives a $0.09 refund. A $0.01 payment with a final cost that rounds to $0.01 receives no refund.
API Specifications
Integration Boundaries and Service Limits
Key operational limits and specifications for x402 transcription.
Recording Length Limits
Prerecorded files must be between 6 seconds and 24 hours (86,400 seconds). Quoting requests outside this range are rejected prior to payment.
Base Mainnet and Native USDC
Payments require native USDC on Base mainnet (network eip155:8453, token contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913). Other networks or assets are not supported.
Direct Upload Limits
Direct uploads support files up to 2 GiB. Transfers must begin within 300 seconds of payment readiness; once initiated, uploads can transfer for up to 1 hour.
Asynchronous Delivery
All x402 jobs run asynchronously. Webhook delivery makes up to 12 attempts within 24 hours. For private jobs, result delivery and the first refund update stop after 12 hours. Public results remain available on the unauthenticated job endpoint. Private jobs delete transcript segments 12 hours after the result.
x402 Payment Questions
What to know before paying for your first recording.
Can I use x402 payments now?
Yes. Any client supporting the x402 v2 protocol can pay for transcription using native USDC on Base. See the x402 developer guide for SDK examples and request schemas.
Do I need a Speech is Cheap account or API key?
The x402 entry point does not require a Speech is Cheap account, subscription, or API key. Your client needs a wallet with native USDC on Base and must support x402 payments. The existing API-key service remains available.
Which token and network can I use?
The first release accepts native USDC on Base mainnet. Other tokens and networks are not supported. Each payment covers one recording and its selected add-ons.
How do I submit a local file?
First request a quote with the file duration and processing options. Once payment is confirmed, use the returned upload URL and one-use credential to start your upload within five minutes. An accepted upload can finish after that deadline. Direct uploads can be up to 2 GiB.
What if the recording is shorter or longer than expected?
A shorter valid recording can complete. After success, we refund any excess whole cents. If the recording exceeds the purchased duration allowance, the job fails and receives a full refund. We do not truncate the recording or charge more automatically.
How do I receive the transcript?
Provide a webhook URL to receive completion updates. You can also read the existing job status endpoint with the returned job ID. Reading a result requires no payment or API key. The first x402 release processes recorded files asynchronously and does not stream transcription output.
Can I cancel a paid job?
Use the wallet that paid for the recording to request cancellation. A confirmed cancellation receives a full refund. Refunds return through Stripe to the wallet that paid. A public job ID alone cannot authorize cancellation.
Choose How You Pay for Transcription
Use x402 for one paid recording, or choose an API-key plan for your ongoing workflow.