Whisper · self-hosted

Transcription that stays home

A self-hosted Whisper model turns audio into text without a third-party vendor ever receiving the recording.

Audio in, text out

Heard here, not in a vendor’s cloud

The recording goes to a container on your infrastructure and a transcript comes back. That is the whole path — there is nobody else on it.

  • Two request shapes. A multipart file or raw audio bytes — both reach the same model.
  • The companion’s ear. A live session transcribes your microphone through this exact service.
  • It reads cloning references too. Upload a clip to clone a voice and this is what transcribes it for you.
1Self-hosted modelfaster-whisper · 8505
3Jobs it doesAPI · sessions · cloning
2Request shapesMultipart · raw
0Third-party vendorsAudio stays home
What it does

One model, three jobs

  • Whisper, self-hosted

    Transcription runs in your own container. Recordings of intimate conversations are never uploaded to a speech vendor who might retain or review them.

    faster-whisper · port 8505
  • Multipart or raw

    Post a file as multipart form data, or stream raw audio bytes straight at the endpoint. Both reach the same model.

    Two request shapes
  • It is the same ear the companion uses

    Live sessions transcribe your microphone through this exact service, so what you test over the API is what she hears in a conversation.

    Shared with sessions
  • Feeds voice cloning

    When you upload a reference clip to clone a voice, this is what transcribes it, so you never have to type out what was said.

    Automatic reference transcript
  • Upstream health check

    A dedicated endpoint reports whether the transcription container is actually reachable, so your integration can degrade deliberately.

    Health endpoint
  • No per-minute meter

    Transcription counts against your plan’s API allowance rather than being billed per audio minute by a third party.

    Plan allowance
Endpoints

Two ways in, one health check

Full request and response shapes are in the API reference.

EndpointReturnsUse it when
POST /speech-to-textTranscript JSONYou have a file, sent as multipart form data.
POST /speech-to-text/streamOne JSON responseYou are posting raw audio bytes. Not incremental — see below.
GET /speech-to-text/healthUpstream reachabilityYou want to degrade deliberately before users notice.
One thing to know

The stream endpoint is not incremental

/speech-to-text/stream returns a single response, not a live token feed. It is named after the upstream route it proxies. If you are building live captions, chunk the audio yourself and call it repeatedly.

True incremental transcription is a different shape of API and is not built yet. It is listed here rather than left for you to discover halfway through an integration.

Questions

Before you integrate

What can I send it?

A file as multipart form data, or raw audio bytes posted straight at the endpoint. Both request shapes reach the same model.

Is the stream endpoint a live token feed?

No. It returns one JSON response and is named for the upstream route it proxies. For live captions, chunk the audio yourself and call it repeatedly — true incremental transcription is not built yet.

Does anyone else ever hear the audio?

No. Transcription runs in a container you operate, and no third-party speech vendor receives the recording — there is no third party in the path.

How is transcription billed?

Against your plan’s API allowance, not per audio minute — 5,000 calls on Free, 50,000 on Pro, unlimited on Enterprise. Details on the pricing page.

Is this what the companion listens with?

Yes. A live session transcribes your microphone through this exact service, and voice cloning uses it to read reference clips.

Wire it up

Free tier, no card. 18+ only.