Soniox expects audio to arrive at roughly realtime cadence. If your agent dumps a whole file's worth of audio into the websocket in one burst, the server responds with a 408 "Input too slow" error and the stream dies. The SpeechRouter Soniox provider docs warn: "Do not send bursts. Server rejects with 408 'Input too slow' if audio is sent much faster than realtime." The fix is pacing: throttle your sender to the audio clock (for example 16kHz mono 16-bit PCM is about 32KB per second). This is the opposite of what throughput-minded agents try first. For file transcription over the realtime websocket, pace chunks to wall-clock time; if you need bulk file processing, check whether the provider offers a batch/file endpoint instead.