Getting Started
Krisp gives you real-time voice AI in two ways. Krisp SDKs are small AI models that run on CPU inside your app or on your servers. The Krisp API gives you Krisp's speech models as realtime WebSocket endpoints in Krisp's cloud.
What are you building?
Runs on your servers, next to your agent. Isolates the caller's voice and predicts turns and interruptions.
Runs on the user's device: browser, desktop and mobile. Removes noise and background voices and converts accents.
Realtime WebSocket endpoints in Krisp's cloud. No library or model files to ship.
Not sure which one fits your product? See SDK or API: choosing an integration.
Products
Try the API
Create a short-lived session token on your backend, then open a WebSocket with it. The Quickstart turns this into a complete transcription script.
curl -X POST 'https://api.developers.krisp.ai/v2/sdk/tokens/session' \
-H "Authorization: api-key $KRISP_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"usage_type": "stt", "expiration_ttl": 100}'import os
import requests
import websockets
resp = requests.post(
"https://api.developers.krisp.ai/v2/sdk/tokens/session",
json={"usage_type": "stt", "expiration_ttl": 100},
headers={"Authorization": f"api-key {os.environ['KRISP_API_KEY']}"},
)
resp.raise_for_status()
session_token = resp.json()["data"]["session_key"]
async def connect():
headers = {"Authorization": f"api-key {session_token}"}
return await websockets.connect("wss://streaming.krisp.ai/stt", additional_headers=headers)Krisp SDKs
Krisp's SDK models are extremely small, add minimal latency and run on CPU. They are deployed on more than 200M devices, process 75B+ minutes of speech every month, and are integrated in apps such as Discord, RingCentral, Synthflow and Vapi.
There are two SDK packages for two use cases:
| SDK | Built for | Models |
|---|---|---|
| VIVA SDK | Human-to-AI communication (voice AI agents) | Voice Isolation isolates the main speaker's voice, which fixes false interruptions and improves turn-taking and WER. Turn-Taking predicts when a user has finished their turn. Interrupt Prediction tells real interruptions from backchannels such as "uh huh". VAD detects speech. |
| RTC SDK | Human-to-human communication (calls, meetings) | Noise Cancellation removes background noise, inbound and outbound. Background Voice Cancellation also removes other people's voices. Accent Conversion converts the speaker's accent while keeping their voice. |
How the SDKs run:
- Where you deploy them: on your servers next to your voice AI agent, inside your app's audio path (for example WebRTC), or as a module in frameworks such as Pipecat and Daily.
- Latency and compute: ultra-low latency for real-time communication, on CPU.
- Audio: narrow-band, wide-band and full-band audio, with models for telephony, WebRTC and other use cases.
Krisp API
The Krisp API gives you Krisp's speech models as realtime WebSocket endpoints at wss://streaming.krisp.ai. You stream audio or text to an endpoint and receive results on the same connection as they are produced.
| Product | Endpoint | What it does |
|---|---|---|
| Speech-to-Text (STT) | /stt | Stream audio, receive transcripts. |
| Text-to-Speech (TTS) | /tts | Stream text, receive synthesized audio. |
| Voice Translation (VT) | /vt | Stream speech, receive translated speech and, optionally, transcripts. |
| Voice Isolation | /voice-isolation | Stream audio, receive it back with background voices and noise removed. |
How the API works:
- Runs in Krisp's cloud. There is no native library or model file to bundle, and it works from any language with a WebSocket client.
- One WebSocket connection per session. Connect to
wss://streaming.krisp.ai/<endpoint>, send a JSON client hello, wait for the server'sreadymessage, then stream. - Session tokens. Your backend creates a short-lived session token from your API key, and your client sends it when it opens the WebSocket. See Authentication.
Updated 4 days ago

