# Introduction

The Stream Video JavaScript SDK is a toolkit for building video calling, audio rooms and livestreaming into your app. It ships with high-level APIs and reactive state management, and every call runs on Stream's global edge network for lower latency and higher reliability. Type definitions ship with the SDK, so it works in TypeScript and plain JavaScript.

>
> **Tip:** This SDK is the client half of your integration. Call types, recording, transcription, webhooks and SIP are configured from your backend with a server-side SDK or the REST API, and the token your app connects with has to be signed there too. See the [server-side overview](https://getstream.io/video/docs/javascript/v2/server-side/) for what to build there, starting with [users and tokens](https://getstream.io/docs/platform/authentication/).
>

## Build with Stream CLI and Agent Skills

The [Stream CLI](https://getstream.io/cli/docs/) and [Agent Skills](https://getstream.io/agent-skills/docs/) give AI coding agents the tools and knowledge to work with Stream. There is no dedicated skill pack for JavaScript yet, but the default skills still help with live documentation and CLI-driven API work.

Install the CLI and the default skills:

```bash
curl -fsSL https://getstream.io/cli.sh | bash
getstream skills
```

Once installed, invoke `/stream` from your agent. It routes documentation lookups and API operations for you.

Stream Agent Skills can also be installed from [skills.sh](https://www.skills.sh/getstream/agent-skills/stream).

## Getting started

If you're new to Stream Video, start with these tutorials:

- [Quickstart](https://getstream.io/video/docs/javascript/v2/basics/quickstart/): Set up the client and join your first call.
- [Video calling tutorial](https://getstream.io/video/sdk/javascript/tutorial/video-calling/): Build 1:1 and group calls.
- [Audio rooms tutorial](https://getstream.io/video/sdk/javascript/tutorial/audio-room/): Build a drop-in audio space.
- [Livestream tutorial](https://getstream.io/video/sdk/javascript/tutorial/livestreaming/): Broadcast to any audience size.

## What you'll learn

**Core concepts:**

- [Joining and creating calls](https://getstream.io/video/docs/javascript/v2/guides/joining-and-creating-calls/)
- [Camera and microphone management](https://getstream.io/video/docs/javascript/v2/guides/camera-and-microphone/)
- [Call and participant state](https://getstream.io/video/docs/javascript/v2/guides/call-and-participant-state/)

**Advanced features:**

- [Recording](https://getstream.io/video/docs/javascript/v2/advanced/recording/)
- [Broadcasting](https://getstream.io/video/docs/javascript/v2/advanced/broadcasting/)
- [Permissions and moderation](https://getstream.io/video/docs/javascript/v2/guides/permissions-and-moderation/)

## FAQ

**Does the SDK include UI components?**

No. It ships the client and reactive state; you build the UI. For prebuilt components use the [React SDK](https://getstream.io/video/docs/react/v2/).

**Which browsers are supported?**

Chrome 136+, Firefox 137+, Edge 136+ and Safari 18.4+, plus WebView on Android and iOS. See [supported platforms](https://getstream.io/video/docs/javascript/v2/basics/supported-platforms/).

**How big is the bundle?**

Under 370KB minified and around 100KB gzipped.

**Can users share their screen?**

On desktop browsers, yes. See [screen sharing](https://getstream.io/video/docs/javascript/v2/guides/screensharing/).

**Is there noise cancellation?**

Yes, on desktop browsers, through the [noise cancellation](https://getstream.io/video/docs/javascript/v2/guides/noise-cancellation/) plugin.

**Can calls be moderated automatically?**

Yes. [Call moderation](https://getstream.io/moderation/docs/node/integrations/call-moderation/) watches video keyframes and audio transcriptions in real time. Ask support to enable it.

## Feedback

If something is missing or could be improved, [contact us](https://getstream.io/contact/).

---

For the most recent version of this documentation, visit [https://getstream.io/video/docs/javascript/v2/](https://getstream.io/video/docs/javascript/v2/).