{"access":{"authentication":{"format":"L402 {macaroon}:{proof_of_payment}","header":"Authorization","protocols":["L402","MPP"],"format_mpp":"Payment <base64url_json>"},"endpoint":"https://sats4ai.com/api/l402/transcribe-audio","method":"POST"},"content_type":"api","description":"Transcribe audio files. Async — returns jobId, poll status at /api/l402/job-status?requestId={jobId}&jobType=transcription until status is COMPLETED. Supports 13 languages, WORD-LEVEL timestamps (set \"timestamps\":\"word\" for per-word start/end times in result.segments — subtitle alignment, karaoke captions, cutting video to speech) or segment-level (DEFAULT). CHOOSE ON PURPOSE: \"word\" is for ALIGNMENT (cutting video to speech, karaoke captions); \"segment\" is what you want for SUBTITLES, because result.srt/result.vtt are built from whatever result.segments holds — ask for \"word\" and every single word becomes its own subtitle cue. We use \"segment\" ourselves for our own subtitle recipe. \"none\" omits segments AND the subtitle files with them. Optional \"names\" (an array of the people and places spoken in the audio): it helps the speech model spell them right, free. Optional speaker diarization (set \"diarize\": true), and ready-to-use subtitle files (result.srt + result.vtt, built from the segment timestamps). Up to 60 minutes per file.\n\nSend parameters as JSON:\n```\n{\n    \"file\": \"base64-encoded-audio-data\",\n    \"type\": \"transcription\",\n    \"language\": \"en\",\n    \"timestamps\": \"segment\",\n    \"diarize\": false,\n    \"names\": [\"Siobhan\", \"Tadhg\"],\n    \"model\": \"Transcription\"\n}\n```\n\nResponse (202): { jobId, status: \"processing\", poll_url, poll_interval_ms }\nPoll GET poll_url until: { status: \"COMPLETED\", result: { text, segments, srt, vtt } }\n(result.srt / result.vtt are the transcript as downloadable SubRip and WebVTT subtitle files.)\nIf the timestamp or speaker-label request fails, you still get the text, and result.degraded lists what is missing: \"timestamps\" (then no segments, srt or vtt), \"diarization\", or both. Neither costs extra.\n\nSupported languages: en, zh, hi, es, ar, fr, pt, ru, de, ja, ko, it, nl\nSupported formats: mp3, wav, flac, ogg, m4a\nMax file size: 500 MB\nMax duration: 60 minutes\nPricing: 10 sats per minute of audio","name":"Audio Transcription","privacy":{"account_history":"no customer account or account-linked transcript history","audio_retention":"source audio is processed transiently by Sats4AI and sent to the transcription provider under its policy","transcript_retention":"stored in the async job for polling; completed or failed jobs enter cleanup after 24 hours, and unfinished jobs after 7 days","operational_records":"the paid transaction and job state remain as operational records"}}