> ## Documentation Index
> Fetch the complete documentation index at: https://bunnynet-cb9733c2-support-migration.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Storage Structure

> All videos on Bunny Stream are processed and stored in a standardized location. The following page describes how and where videos are stored, allowing you to access them programmatically or within your own video player.

Each Bunny Stream video can be reached through several stable URL patterns, depending on whether you want the direct play URL, the original file, HLS, or per-resolution files. Use the patterns below to access videos programmatically or in your own player.

#### Direct play URL

```bash theme={null}
https://player.mediadelivery.net/play/{video_library_id}/{video_id}
```

#### Direct play URL example

```bash theme={null}
https://player.mediadelivery.net/play/{video_library_id}/{video_id}?t=30s
```

This example uses a query parameter which means the direct play URL will start video playback at 30 seconds.  [For more information about supported query parameters](/stream/embedding#supported-parameters).

#### Embed URL

```bash theme={null}
https://player.mediadelivery.net/embed/{video_library_id}/{video_id}
```

#### Embed URL example

```html theme={null}
<div style="position:relative;padding-top:56.25%;"><iframe src="https://player.mediadelivery.net/embed/{video_library_id}/{video_id}?autoplay=true&loop=true&muted=true&preload=true&responsive=true" loading="lazy" style="border:0;position:absolute;top:0;height:100%;width:100%;" allow="accelerometer;gyroscope;autoplay;encrypted-media;picture-in-picture;fullscreen;" allowfullscreen="true"></iframe></div>
```

Embed URL is best for embedding the video player into websites or browser experiences but it requires an iframe. [ Read more about embedding videos here](/stream/embedding).

#### Original file URL

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/original
```

<Info>
  Keep original files within your video library encoding settings is required to store your uploaded video file. [Read more about it here](stream/encoding#keep-original-files).
</Info>

#### HLS playlist URL

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/playlist.m3u8
```

#### Custom thumbnail URL

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/{thumbnail_filename}
```

#### Default thumbnail URLs

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/thumbnail.jpg
```

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/thumbnail_1.jpg
```

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/thumbnail_2.jpg
```

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/thumbnail_3.jpg
```

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/thumbnail_4.jpg
```

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/thumbnail_5.jpg
```

#### Player seek thumbnail sprite URLs

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/seek/{_0}.jpg
```

#### Example:

```bash theme={null}
  https://{pull_zone}.b-cdn.net/{video_id}/seek/_0.jpg
  https://{pull_zone}.b-cdn.net/{video_id}/seek/_1.jpg
  https://{pull_zone}.b-cdn.net/{video_id}/seek/_2.jpg
  https://{pull_zone}.b-cdn.net/{video_id}/seek/_3.jpg
```

<Info>
  Player seek thumbnail sprites appear in the video player timeline, generated every 2s (or every 1s for videos under 10s in duration).

  Each thumbnail sprite sheet is a 6×6 grid of up to 36 frames, 1800px wide with 300px-wide cells; cell height follows the video's aspect ratio (e.g. 168px for 16:9).

  Files are numbered sequentially (\_0.jpg, \_1.jpg, etc.), each covering up to 36 frames (\~72s of video).
</Info>

#### Preview animation URL (WebP & Gif)

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/preview.webp
```

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/preview.gif
```

#### Preview animation URL high quality (WebM & Mp4)

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/preview_hq.webm
```

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/preview_hq.mp4
```

#### MP4 fallback URL

1080p MP4 URL

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/play_1080p.mp4
```

720p MP4 URL

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/play_720p.mp4
```

360p MP4 URL

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/play_360p.mp4
```

240p MP4 URL

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/play_240p.mp4
```

<Info>
  [Read more about MP4 fallback videos here](/stream/encoding#enable-mp4-fallback).
</Info>

#### Subtitle file URL

```bash theme={null}
https://{pull_zone}.b-cdn.net/{video_id}/captions/{language_code}.vtt
```
