Streaming speech-to-text that keeps every word in context and predicts the end of the turn as the caller speaks, so the agent answers on time, not after a pause.
One free hour of audio on every new developer account. Sign up, take your token, start streaming.
Cut speech into fixed pieces and every boundary is a place to lose a word, a name or a number. Alebex keeps the sentence whole and keeps the speed.
Illustrative values. turn_state is null when no turn signal is available.
To a silence timer, the pause after “and” and the pause after a finished sentence are the same silence. The model that writes the transcript also reads the turn: it hears the words and the intonation together, and was trained on how people sound when they have finished speaking. So “Can I move it to” stays open, and “Can I move it to Friday” closes.
Respond on COMPLETE above your own threshold, keep listening on INCOMPLETE, and fall back to your timer when the field is null.
How the turn ends is your choice. Two shapes, and the only real difference is when you read a frame: the moment your own end-of-turn fires, or after you have asked for a final. Both come down the same socket in order, so the newest frame is always the one to render.
Hold one socket open. Each time your own end-of-turn fires, read the newest frame and reset for the next turn. You never wait for anything.
turn_state COMPLETE on a partial you already have.partial or final, you read it the same way.The speaker finishes, you send end, and the next frame down is a final. Guaranteed.
end means “flush what you have and answer”.final. Authoritative, with no snapshot bookkeeping of your own.end waits out the decode already running, then re-transcribes what is still buffered. That pass reads audio no partial has seen, which is also what you are buying.Your developer account issues the token. The client presents it when it opens the socket, and the same socket then carries the whole conversation. No key exchange and no second request.