Transcribe your first recording
Stream a sample call through the Rime SDK in Python, Node.js, Go, or Rust, and print its transcript.
Speech-to-text at a glance
How a transcription works
Keep these points in mind:- Keep the API key on your backend. Browsers and phones send their audio to your backend, not to Rime.
- Open one stream for each utterance. Set the language of the stream.
- Treat each partial transcript as the whole transcript so far. Each partial transcript replaces the one before it.
- Use only the final transcript as the complete text. A stream that ends without a final transcript has failed, even if partial transcripts arrived.
Choose how to connect
Use the Rime SDK if your backend is in a language that the SDK supports. The SDK packages are in alpha. For another language or a long recording, call the WebSocket API. Use gRPC instead if you already run gRPC. To send a short recording as one WAV file, use the SDK’stranscribe call or gRPC Transcribe.
A direct WebSocket stream or gRPC
TranscribeStreaming call must also name its output contract, because there is no default. The output contract sets the form of the updates. gRPC Transcribe and the SDK’s transcribe call take no output contract, and they return one final transcript.
Long turns and recordings
A long turn or a long recording can fill the model’s context before the stream time runs out. For each partial transcript, the model reads all the audio of the stream again, as the limits explain. For live audio, end the utterance at a pause and start the next stream, as Split long turns at pauses shows. For a recording, send the file with append fragments over the WebSocket or gRPC API, because the SDK cannot do this yet. Transcribe a long recording has the steps.What you can control
Results are text only. Rime speech-to-text does not offer these items:
- Automatic language detection
- End-of-speech detection
- Word timestamps
- Confidence scores
- Speaker labels
Coming from another speech-to-text API
Coming from another speech-to-text API
Next
Stream live audio
Replace the sample file with audio from your application. Send each final transcript to your language model.

