nemotron-asr), as a file upload or as a live WebSocket stream.
Transcribe a file
POST /v1/audio/transcriptions takes a multipart/form-data upload and returns the transcript with word timestamps.
file(file, required) — PCM16 mono or WAV, up to 25 MB. Compressed audio is rejected; decode it first.model(string, required) —nemotron-asr.sample_rate(integer, optional, default 16000) — One of 8000, 16000, 22050, 24000, 44100, 48000.
Stream live audio
wss://api.withhopper.com/stt/websocket transcribes audio as it arrives. Authenticate with the Authorization header, or with the api_key query parameter from clients that cannot set headers.
api_key(string, optional) — Your key, when noAuthorizationheader is sent.model(string, optional, defaultnemotron-asr) — STT model id.sample_rate(integer, optional, default 16000) — One of 8000, 16000, 22050, 24000, 44100, 48000.turn_detection(string, optional, defaultbalanced) —balanced,patientto wait longer before ending a turn, orresponsiveto end it sooner.
{"type": "Ready"} once, then you send binary PCM16 mono frames and receive {"text", "is_final", "words"} events — is_final marks the end of a turn. Send the text frame END to flush; the server replies with END when every final has been delivered.