> ## Documentation Index
> Fetch the complete documentation index at: https://bunny.net/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Create a Bunny Stream video library, upload your first video, and embed it on your site.

Getting a video onto your own page takes three steps: create a library, upload the file, and copy the embed code. You can do each one in the dashboard or with the [bunny.net CLI](/docs/cli/quickstart). You need a [bunny.net account](https://dash.bunny.net/auth/register) and a video file.

## Create a video library

A video library holds your videos along with their player, encoding, and security settings.

**Dashboard**

**1. Open Stream**

In the [dashboard](https://dash.bunny.net), go to **Delivery** > **Stream** and click **Create Your first Video Library**.

![Stream page in the dashboard with the Create Your first Video Library button highlighted](https://mintcdn.com/bunnynet-cb9733c2/L57MhyfuZyBVCcmn/images/docs/6295ff2-image.png?fit=max\&auto=format\&n=L57MhyfuZyBVCcmn\&q=85\&s=af0e9d30f0d8f00d17a379effdd69447)

**2. Name the library**

Enter a name you'll recognise in the dashboard.

![Video Library Name field on the Add Video Library page](https://mintcdn.com/bunnynet-cb9733c2/GYo51EPI6zuebYhU/images/docs/31a980e-image.png?fit=max\&auto=format\&n=GYo51EPI6zuebYhU\&q=85\&s=4b7974578ae5249c5303c51fa0a81a76)

**3. Choose storage regions**

We replicate your videos to every region you enable. Pick at least two to keep a copy if one region has a hardware failure, and one per continent where your viewers are for the fastest uncached delivery.

![Video Storage Configuration with a map and a list of storage regions](https://mintcdn.com/bunnynet-cb9733c2/GYo51EPI6zuebYhU/images/docs/34c369a-image.png?fit=max\&auto=format\&n=GYo51EPI6zuebYhU\&q=85\&s=62d93051980930d247b2bbcdb1230000)

> [!WARNING]
>
> Replication regions can't be removed once they're enabled.

**4. Create it**

Click **Add Video Library**.

**CLI**

> [!NOTE]
>
> Install and log in to the CLI first. The [CLI quickstart](/docs/cli/quickstart) covers both.

Create a library and link the current directory to it. The upload command below uses the linked library.

```bash theme={null}
bunny stream libraries create my-library --link
```

The library stores videos in DE. The CLI asks if you want to replicate to other regions (SG, LA, and NY preselected).

The command then offers to save the library ID and API key to `.env`, and to add videos. You can skip adding videos for now, because the next step uploads one.

> [!WARNING]
>
> Replication regions can't be removed once they're enabled.

## Upload a video

**Dashboard**

**1. Open the uploader**

In your new library, click **Upload a Video**.

![Manage Videos page with the Upload a Video button highlighted](https://mintcdn.com/bunnynet-cb9733c2/L57MhyfuZyBVCcmn/images/docs/915e570-image.png?fit=max\&auto=format\&n=L57MhyfuZyBVCcmn\&q=85\&s=182edd28f3d8f02ee8bec13d39a35b85)

**2. Add your file**

Drag the file into the dialog or click **Browse**. The upload starts straight away.

![Upload Video File dialog with a drag and drop area and the supported formats](https://mintcdn.com/bunnynet-cb9733c2/GYo51EPI6zuebYhU/images/docs/3e63ff3-image.png?fit=max\&auto=format\&n=GYo51EPI6zuebYhU\&q=85\&s=cfb40ef62bae47a1dd01841f1e56cf18)

**3. Wait for encoding**

We encode the video into several resolutions once the upload reaches 100%, so it plays smoothly on any device and connection.

![File Upload panel showing a finished upload at 100%](https://mintcdn.com/bunnynet-cb9733c2/GYo51EPI6zuebYhU/images/docs/284350f-image.png?fit=max\&auto=format\&n=GYo51EPI6zuebYhU\&q=85\&s=643e3e4227b6e8deab20a816ec0b300a)

**CLI**

Upload the file to the linked library:

```bash theme={null}
bunny stream videos upload ./video.mp4
```

The command prints the video ID and a Direct Play link you can share. Encoding starts when the upload finishes. Run `bunny stream videos show <video-id>` to check on it.

## Share or embed it

**Dashboard**

To share a link, open the video's menu and click **Copy Video Play Url**. The link opens the video in Bunny Player.

![Video menu with Copy Video Play Url highlighted](https://mintcdn.com/bunnynet-cb9733c2/L57MhyfuZyBVCcmn/images/docs/9171444-image.png?fit=max\&auto=format\&n=L57MhyfuZyBVCcmn\&q=85\&s=82c3f3642df5e36957c130cb8cc4cdd5)

To put the video on your own page, open it and copy the code from the **Embed** panel. The toggles above it set autoplay, looping, muting, and preloading for that embed.

![Video page with the Embed panel highlighted, showing the embed options and code](https://mintcdn.com/bunnynet-cb9733c2/kcU5tb-Sz5318NF5/images/docs/cbfbc9a-image.png?fit=max\&auto=format\&n=kcU5tb-Sz5318NF5\&q=85\&s=520c27c7c0a6842e7c52fbc399f5ea7a)

Paste the code into your page's HTML where the player should appear.

**CLI**

Print the video's embed URL:

```bash theme={null}
bunny stream videos embed <video-id>
```

Use the URL as the `src` of an `<iframe>` on your page. See [`bunny stream`](/docs/cli/commands/stream) for every Stream command.

[Embedding videos](/docs/stream/embedding) covers every player parameter and the embedding restrictions you can set on a library.

## Control the player from your app

Each guide builds a Bunny Player component for your framework, with play, pause, seek, and progress events wired up through player.js.

> **[React](/docs/stream/player/react)**

> **[Next.js](/docs/stream/player/nextjs)**

> **[Vue and Nuxt](/docs/stream/player/vue)**

> **[Svelte and SvelteKit](/docs/stream/player/svelte)**

> **[Astro](/docs/stream/player/astro)**

> **[JavaScript](/docs/stream/player/javascript)**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.