Skip to content
Sandchest

Every word.
Down to the millisecond.

Sandchest is the open-source speech-to-text API. Drop audio in the chest and get every word back with real timestamps — from the API your AssemblyAI code already speaks.

open source · prepaid, billed by the second

Transcribed: Every (0:00.000) word (0:00.310) Down (0:00.740) to (0:00.930) the (0:01.050) millisecond (0:01.320).

Your AssemblyAI code already speaks Sandchest.

Use the official SDK for uploads, polling, word timestamps, and captions. Change the key and the base URL to try the transcription workflow. Additional AssemblyAI features are still being brought across.

2 lines changed · 0 rewritten

transcribe.ts+2 −1
import { AssemblyAI } from "assemblyai"; const client = new AssemblyAI({  apiKey: process.env.ASSEMBLYAI_API_KEY,  apiKey: process.env.SANDCHEST_API_KEY,  baseUrl: "https://stt-api.sandchest.com",}); const transcript = await client.transcripts.transcribe({  audio: audioBuffer,  disfluencies: true,});

Words you can scrub to.

Whisper, Parakeet, and MMS, with word-level alignment. Each word includes timing, confidence, and punctuation that editors, captions, and search are built on. No placeholder transcripts, no rounded timestamps.

start / end
milliseconds, for every word
confidence
per word, not per file
disfluencies
the ums and uhs, if you ask
language_code
detected automatically or selected explicitly
standup_final_v3.m4a0:04.800
0:00.000

Transcript: Okay so, um, the deploy went out at four and, uh, honestly, nothing broke.

{ "text": "Okay", "start": 0, "end": 280, "confidence": 0.99 }

Our GPUs, or yours.

stt-api.sandchest.com

Hosted

GPU workers start on demand and return results through the job API. The first request after an idle period takes longer while models load. Prepaid credits, metered by the second. No seats, no subscription.

Get an API key →
docker-compose.yml

Self-hosted

Open source, end to end. Your GPU or Apple Silicon, your object storage, your retention window — and you know exactly which model transcribed your audio.

$ git clone https://github.com/CapSoftware/Sandchest
$ docker compose up --build
Read the source →

Go on, open the chest.

Sign in with a six-digit email code, grab a key, and send your first file. Your AssemblyAI code is already ready.

Start transcribing