captions.coop — self-hosted live captions

Speech-to-text, a private WebSocket relay and on-server translation. Everything runs on this deployment; audio and captions are not sent to third-party services.

Start here

Everyone shares the room source.

  1. Press Start captioning and allow the microphone.
  2. On the capture page, paste the publishing token RELAY_SOURCE_WRITE into the relay token field and tick Send caption text.
  3. Copy the OBS overlay link into OBS as a Browser Source (enable a transparent background) and paste the viewing token RELAY_SOURCE_READ when asked.
  4. Speech-to-text, translation and the relay all run on this server. Tokens are never placed in links.

Overlays for OBS

Public relay only

These pages connect to the public caption.ninja relay and cannot join the private room above.

Tools

Diagnostics