---
title: Prerequisites
url: https://docs.kaltura.com/docs/conversational-agents/agentic-avatars-sdk/prerequisites
---


## Prerequisites

Before you start integrating Kaltura Avatar, make sure you have the following requirements in place.

### 1. Kaltura Session (KS)

You'll need a Kaltura Session to authenticate with the Kaltura Avatar service.

**Generate a KS:** Follow the [Kaltura Session Guide](/docs/getting-started/authentication/ks-overview)

:::danger Security Warning
Never expose your Kaltura Session in client-side code. Always keep it on your backend server.
:::

### 2. Node.js (for SDK usage)

- **Node.js version 20.0 or above**
- npm or yarn package manager

Check your Node.js version:

```bash
node --version
```

### 3. Modern Browser (for avatar display)

The Client SDK requires a modern browser with WebRTC support:

| Browser | Minimum Version |
| ------- | --------------- |
| Chrome  | 80+             |
| Edge    | 80+             |
| Firefox | 75+             |
| Safari  | 14+             |

:::tip Testing WebRTC Support
You can verify browser WebRTC support at [webrtc.org's test page](https://test.webrtc.org/).
:::

### 4. HTTPS (Production)

For production deployments, your application must be served over HTTPS. WebRTC requires secure contexts for:

- getUserMedia (if using audio input)
- Reliable connection establishment
- TURN server communication

:::warning Development
`localhost` works over HTTP for development, but production requires HTTPS.
:::

### Network Requirements

#### Firewall Configuration

Ensure the following are accessible from your users' browsers:

1. **Your API server** (for session creation and control)
2. **TURN servers** - **You MUST whitelist the following IP range** for TURN server access:

   :::tip TURN Server Range
   **`3.41.177.176/29`**

   This IP range is essential for WebRTC connectivity. Without it, avatar streaming will fail.
   :::

#### Ports

WebRTC typically uses UDP and TCP ports: **80, 443** (for STUN/TURN).

:::info Corporate Networks
Some corporate firewalls block WebRTC traffic. TURN servers help circumvent these restrictions.
:::

### Optional Requirements

#### Backend Server (for API-based control)

For API-based control (recommended in production), you need:

- A backend server that can make HTTP requests
- A secure environment to store the Kaltura Session
- A server framework such as Express, Fastify, or similar

#### TypeScript (Optional)

The SDK ships with full TypeScript type definitions. If you use TypeScript:

- Version 4.5 or above is recommended
- Types come bundled in the package — no separate `@types` installation needed

### Next Steps

After confirming all prerequisites are met, choose your integration approach:

- [Choosing Your Approach](/docs/conversational-agents/agentic-avatars-sdk/choosing-approach) — SDK-only vs API-based control
- [SDK Quick Start](/docs/conversational-agents/agentic-avatars-sdk/quick-start-sdk) — get started with SDK-based control
- [API Quick Start](/docs/conversational-agents/agentic-avatars-sdk/quick-start-api) — get started with API-based control
