{"uid":"cap_z5d6BtrPN4rWnl9cUNDU7","slug":"x402-speech-to-text-transcription-translation-d05284eb","name":"x402 Speech-to-Text Transcription & Translation","description":"Use when you need speech to text transcription or translation of an audio file at a public URL. Do not use for audio over 10 MB or speaker labels. Returns JSON with a Whisper transcription of an audio file: text, timed segments and language, or an English translation for 0.005 USDC per megabyte, up to 0.05 USDC per call (clients without upto pay the cap). Asynchronous: the paid call returns a jobId and a free pollUrl; typical job time 20000 ms (p95). Category: Media.","url":"https://x402-gateway.blackwoodstate8.workers.dev/v1/speech-to-text?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public http(s) URL of the audio file, e.g. https://example.com/talk.mp3 (mp3, wav, ogg, m4a, webm; up to 10 MB)"},"task":{"enum":["transcribe","translate"],"type":"string","description":"transcribe keeps the spoken language; translate returns English (transcribe when omitted)"},"language":{"type":"string","pattern":"^[a-z]{2}$","description":"ISO 639-1 code of the spoken language, e.g. en or pt (detected when omitted)"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["jobId","pollUrl","expiresAt","status"],"properties":{"next":{"type":"object","required":["service","tool","method","url","useWhen","sample"],"properties":{"url":{"type":"string","description":"Paid route of the next call"},"tool":{"type":"string","description":"MCP tool name of the same call"},"method":{"enum":["GET","POST"],"type":"string"},"sample":{"type":"string","description":"Free fixed sample of the whole family"},"service":{"type":"string","description":"Service id of the suggested next paid call"},"useWhen":{"type":"string","description":"When the next call is the right one"}},"description":"Suggested next paid call in the same family (call it in a loop when the task continues)","additionalProperties":false},"jobId":{"type":"string","maxLength":100,"minLength":1},"status":{"type":"string","const":"queued"},"pollUrl":{"type":"string","format":"uri"},"expiresAt":{"type":"string","description":"ISO 8601: depois disso o resultado deixa de existir"}},"additionalProperties":false}}}}},"responseSchema":{"type":"json","example":{"jobId":"job_00000000000000000000000000000000","status":"queued","pollUrl":"https://gateway.example/v1/speech-to-text/jobs/job_00000000000000000000000000000000","expiresAt":"2026-01-31T00:00:00.000Z"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm__4xMYbK2qxg8PntDql6h5","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Transcribes or translates an audio file at a public URL using Whisper, returning timed segments, language detection, and full text asynchronously via a job polling model","exampleAgentPrompt":"Can you transcribe this podcast recording for me? The audio is at https://example.com/episode42.mp3 — just transcribe it and give me the full text with timestamps.","exampleUseCases":[{"title":"Podcast episode transcription","prompt":"I have a podcast episode hosted at https://mypodcast.com/ep10.mp3 — can you transcribe the whole thing to text with timed segments so I can turn it into show notes?"},{"title":"Foreign language audio to English","prompt":"I have a French interview recording at https://media.example.com/interview.wav — can you translate it into English for me?"},{"title":"Meeting recording to text","prompt":"We recorded our team meeting and it's at https://storage.mycompany.com/meeting-2024-06.m4a — can you transcribe it so I can pull out the action items?"}],"resultDescription":"An asynchronous job response containing a jobId and a pollUrl. After polling (typically ~20 seconds), the result includes the full transcription text, timed word/segment-level timestamps, and the detected or specified spoken language. For translate tasks, the result is an English translation of the audio content.","failureModes":["Audio file exceeds 10 MB — service rejects or returns error","URL is not publicly accessible or returns a non-200 status","Unsupported audio format (not mp3, wav, ogg, m4a, or webm)","Job expires before polling completes — expiresAt timestamp passed","Payment rejected or insufficient USDC balance — x402 payment fails","Language code does not match ISO 639-1 two-letter format","Poll URL returns job still queued after extended wait"],"whenToPreferThis":"Choose this endpoint when you need Whisper-quality audio transcription or English translation from a publicly accessible audio URL, especially for files under 10 MB in common formats (mp3, wav, ogg, m4a, webm). It is ideal when you need timed segments alongside the transcript and can tolerate ~20-second async processing. Do not use when you need real-time transcription, speaker diarization/labels, audio files over 10 MB, or direct file uploads rather than URL-based input.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T01:24:56.846Z","isFirstParty":false,"canonicalSlug":"x402-speech-to-text-transcription-translation-d05284eb"}