# Sandchest > The open-source speech-to-text API. AssemblyAI-compatible at /v2/*, with a native API at /api/v1/* and a typed TypeScript SDK. Word-level timestamps in milliseconds, per-word confidence, and the real model identifier on every transcript. Base URL: https://stt-api.sandchest.com Auth: `Authorization: ` — a `Bearer ` prefix is also accepted. ## Getting started - [Sandchest docs](https://sandchest.com/docs.md): The open-source speech-to-text API. Real word-level timestamps in milliseconds, an AssemblyAI-compatible surface, and a native TypeScript SDK. - [Quickstart](https://sandchest.com/docs/quickstart.md): Get an API key, set one environment variable, and turn a local audio file into word-level timestamps — with the AssemblyAI SDK, the native SDK, or curl. - [Set up with an AI agent](https://sandchest.com/docs/agents.md): Hand these docs to a coding agent and let it integrate Sandchest unaided — with llms.txt, raw Markdown URLs, an OpenAPI document, and a rules snippet for your repo. - [Authentication](https://sandchest.com/docs/authentication.md): How Sandchest API keys work, both header forms the API accepts, who in a workspace can create them, and how to rotate one without downtime. ## Guides - [Using the AssemblyAI SDK](https://sandchest.com/docs/assemblyai.md): Change apiKey and baseUrl and your existing AssemblyAI code runs on Sandchest. Here is exactly which endpoints and options are supported, and which are rejected. - [Transcript options](https://sandchest.com/docs/transcripts.md): Every field you can send when creating a transcript, what each one does, and every field on the transcript and word objects that come back. - [Languages](https://sandchest.com/docs/languages.md): Automatic language detection, explicit language codes, the rules the API enforces, the full list of accepted codes, and which model transcribes what. - [Webhooks](https://sandchest.com/docs/webhooks.md): Get a POST when a transcript finishes instead of polling for it — the payload, the optional auth header, the retry schedule, and how to test locally. ## Reference - [API reference](https://sandchest.com/docs/api.md): Every Sandchest endpoint — method, path, request, response and errors — for both the AssemblyAI-compatible surface and the native API. - [TypeScript SDK](https://sandchest.com/docs/sdk.md): Install @sandchest/sdk, transcribe a file in three lines, and use cancellation, idempotent retries and polling controls when you need them. - [Errors and limits](https://sandchest.com/docs/errors.md): Every status code Sandchest returns and what to do about it, plus the size limits, the rate limit, and the deadlines you should design around. ## Operate - [Billing](https://sandchest.com/docs/billing.md): Prepaid credits in US dollars, metered by the second of completed audio, with no charge for failures — plus top-ups, automatic top-ups, and where to watch usage. - [Self-hosting](https://sandchest.com/docs/self-hosting.md): Run the whole Sandchest stack yourself — natively on Apple Silicon, or with Docker Compose and an NVIDIA GPU — then point any SDK at your own host. ## Optional - [Everything, in one file](https://sandchest.com/llms-full.txt): every documentation page concatenated in navigation order. - [OpenAPI 3.1](https://sandchest.com/openapi.json): generated from the live API contract. - [Source](https://github.com/CapSoftware/Sandchest): the whole stack, MIT licensed.