Audio files are saved in val-scoped Blob storage; processing records, transcripts, summaries and speaker paragraphs are in val-scoped SQLite.
Sign in as scoot. At the top, use Transcribe now:
- Paste a direct MP3 URL or episode webpage (saves the first verified MP3).
- Or upload MP3, WAV, M4A, AAC, OGG or FLAC, up to 8 MiB.
- Choose the language, then Transcribe & summarize.
- Read the summary, search the transcript, copy it, or download a text file.
In Saved audio & transcripts, choose a language and transcribe a previous file, or open Read transcript / status.
The configured SPEECHMATICS_API_KEY is read only in server code with Deno.env.get. It authenticated successfully against the US1 Batch API. No key is sent to the browser.
Uses the enhanced model, speaker diarization and Speechmatics summarization. English is the default; Spanish, French, German, Italian, Portuguese and Dutch are also available in the UI. Audio is sent to Speechmatics and uses the connected account's credits/pricing.
Jobs are asynchronous. A per-job authenticated callback retrieves and saves results even if the browser is closed. Open readers refresh pending jobs every six seconds as a fallback. Reopening a pending transcript also checks its current status.
The transcripts table stores the provider job ID, language, asset hash, status, full transcript, summary/status, and timestamped speaker paragraphs. The same audio hash plus language reuses its job, even across different saved source URLs. Failed or uncertain submissions are not automatically resubmitted, avoiding duplicate paid jobs; uncertain submissions require checking Speechmatics first.
If no speech or no summary is returned, the reader says so; it does not fabricate a substitute.
Public inspection remains available. Saving, uploading, transcription, history, reading transcripts, and downloading audio require a signed-in Val Town session; all signed-in users share the library and the configured Speechmatics credits. The app browser login is separate from MCP authorization.
8 MiB per file, 9 MiB app Blob budget. Existing MP3s and history are preserved. Inspection-only mode does not save data. URL discovery does not execute remote JavaScript or bypass login/DRM. URLs download MP3 only; uploads support additional formats without conversion.
Val Town sign-in required:
- POST
/api/transcribewith JSON{ "url": "https://…", "language": "en" }or{ "audioId": "...", "language": "en" } - POST
/api/uploadwith multipart fieldsfileandlanguage - GET
/api/transcripts: compact index - GET
/api/transcripts/:id: saved text, summary and status - POST
/api/transcripts/:id/refresh: synchronize the existing provider job
POST /api/speechmatics/callback/:id requires a unique per-job credential and verifies results by fetching them directly from Speechmatics.
The official Speechmatics welcome audio was uploaded and transcribed. Its callback saved both the full transcript and summary; duplicate submission reused the same job. Find speechmatics-welcome.wav in your private library. The previous MP3 sample and webpage records remain available for on-demand transcription.