Returns JSON with a Whisper transcription of an audio file: text, timed segments and language, or an English translation.
Use when you need speech to text transcription or translation of audio at a public URL.
Do not use when the audio is over 10 MB or you need speaker labels.
Price: 0.008 USDC per megabyte, up to 0.08 USDC per call; clients without upto pay the cap (x402, eip155:8453). Typical response time: 20000 ms (p95). Asynchronous: the paid call returns a jobId; polling is free.
POST https://x402-gateway.blackwoodstate8.workers.dev/v1/speech-to-text. A request without payment gets 402 Payment Required with the
PAYMENT-REQUIRED header; any x402 client signs an EIP-3009 authorization and retries with
PAYMENT-SIGNATURE (or X-PAYMENT). Invalid input is answered with 400 and not charged.
curl -i -X POST https://x402-gateway.blackwoodstate8.workers.dev/v1/speech-to-text -H 'content-type: application/json' -d '{"url":"https://upload.wikimedia.org/wikipedia/commons/b/bb/Neil_Armstrong_small_step.wav"}'
| Pay to | 0xe9949cA82543031952eB55EB045f80A94C728fFc |
|---|---|
| Asset | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC) |
| Amount | 80000 atomic units (0.08 USDC) |
| Authorization window | 60 s |
| Poll (free) | GET https://x402-gateway.blackwoodstate8.workers.dev/v1/speech-to-text/jobs/:jobId |
Streamable HTTP at https://x402-gateway.blackwoodstate8.workers.dev/mcp, tool speech-to-text_v1. Payment goes in
_meta["x402/payment"]; without it the tool returns the payment requirements.
| Field | Type | Meaning |
|---|---|---|
url | string | Public http(s) URL of the audio file (mp3, wav, ogg, m4a, webm; up to 10 MB) |
task (optional) | string | transcribe keeps the spoken language; translate returns English (transcribe when omitted) |
language (optional) | string | ISO 639-1 code of the spoken language, e.g. en or pt (detected when omitted) |
Example:
{
"url": "https://upload.wikimedia.org/wikipedia/commons/b/bb/Neil_Armstrong_small_step.wav"
}
Real example of the paid response (the job ticket):
{
"jobId": "job_00000000000000000000000000000000",
"pollUrl": "https://gateway.example/v1/speech-to-text/jobs/job_00000000000000000000000000000000",
"expiresAt": "2026-01-31T00:00:00.000Z",
"status": "queued"
}
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"pollUrl": {
"type": "string",
"format": "uri"
},
"expiresAt": {
"type": "string",
"description": "ISO 8601: depois disso o resultado deixa de existir"
},
"status": {
"type": "string",
"const": "queued"
}
},
"required": [
"jobId",
"pollUrl",
"expiresAt",
"status"
],
"additionalProperties": false
}Free schema and example: GET https://x402-gateway.blackwoodstate8.workers.dev/v1/speech-to-text.
OpenAPI 3.1 · llms.txt · All services