Real-time transcription
on your own GPUs.
Talk into your browser and watch the words land about half a second after you say them. Audio streams over a WebSocket to Kyutai's streaming speech-to-text model, running on an autoscaling GPU that Chalk deploys from a single Python file.
Say something
Press Start talking and allow microphone access. English and French both work. The demo runs on one GPU and serves one speaker at a time, so if someone else is mid-sentence, give it a moment.
How it works
Batch transcription waits for the whole file. Streaming models listen the way people do: they commit to each word as soon as they have heard enough of it.
Capture
An AudioWorklet in the browser resamples your microphone to 24 kHz and sends one 80 ms frame at a time. No codec, no upload, no waiting for you to finish talking.
Stream
Frames travel over a single WebSocket straight into a Chalk scaling group. The replica holds the model's decoder state for the whole conversation, so nothing is re-processed.
Transcribe
Kyutai's stt-1b-en_fr decodes each frame on an NVIDIA L4 and emits words about half a second behind your voice, with a voice-activity head that marks the end of each turn.
Deploy your own in three commands
Clone the example, log in, and run the deploy script. Chalk builds the image with the model weights baked in, provisions an L4, and prints a URL that serves this exact demo. The first build takes 10 to 20 minutes; after that, code changes redeploy from cached layers.
The WebSocket protocol is plain JSON, so any client that can send PCM can transcribe: browsers, phones, call-center audio, or another model.
chalk-ai/streaming-speech-to-textgit clone https://github.com/chalk-ai/streaming-speech-to-text
cd streaming-speech-to-text
# Or export CHALK_CLIENT_ID and CHALK_CLIENT_SECRET.
chalk login
# Builds the image, provisions a GPU, prints the URL of your live demo.
./deploy.py --gpu nvidia-l4What Chalk handles
The model is the interesting part. Everything around it is the part Chalk does for you.
Images from Python
Image.debian_slim().pip_install(...) builds the container, model weights included. No Dockerfile, no registry to manage.
GPUs on demand
Ask for gpu="nvidia-l4" and Chalk provisions the node, schedules the replica, and gives it an HTTPS URL.
WebSockets out of the box
Scaling-group URLs upgrade to WebSockets, so the page and the audio stream share one origin and one deploy.
Faster than real time
On a single L4, a 45-second clip streamed at 4x speed is fully transcribed in 13.5 seconds.
Runs in your cloud
The replica runs in your Chalk environment, next to your data. Audio never passes through a third-party API.
Four files, open source
The server, browser client, deploy script, and a test client are Apache-2.0 on GitHub. Fork it and swap in your own model.
Serve your own model in real time
Speech, vision, or anything that streams. Talk to an engineer about running it on GPUs in your cloud.