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?

VIVA SDK
A voice AI agent

Runs on your servers, next to your agent. Isolates the caller's voice and predicts turns and interruptions.

RTC SDK
Calls inside an app

Runs on the user's device: browser, desktop and mobile. Removes noise and background voices and converts accents.

Krisp API
Cloud processing

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

SDK · APIVoice IsolationKeeps the main speaker, removes background voices and noise.API · BetaSpeech-to-TextLive transcripts for agents and for human conversations.SDK · APIVoice TranslationSpeak one language, be heard in another, in real time.API · BetaText-to-SpeechStream text, receive speech as it is generated.SDK · APITurn-TakingPredicts when the user has finished speaking.SDKInterrupt PredictionTells real interruptions from "uh huh".SDKNoise CancellationRemoves background noise, inbound and outbound.SDKBackground Voice CancellationRemoves other people's voices around the user.SDKAccent ConversionConverts the speaker's accent, keeping their voice.

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:

SDKBuilt forModels
VIVA SDKHuman-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 SDKHuman-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.

ProductEndpointWhat it does
Speech-to-Text (STT)/sttStream audio, receive transcripts.
Text-to-Speech (TTS)/ttsStream text, receive synthesized audio.
Voice Translation (VT)/vtStream speech, receive translated speech and, optionally, transcripts.
Voice Isolation/voice-isolationStream 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's ready message, 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.

Did this page help you?