# Upload Video

> Learn how to upload brand videos to your workspace

- **URL**: https://orshot.com/docs/api-reference/brand-videos-post

---

## Overview

This endpoint allows you to upload brand videos to your workspace. You can upload videos from a URL, as a base64-encoded string, or as a binary upload.```markdown tab="Endpoint"
https://api.orshot.com/v1/brand-assets/videos/add
```## Request

<Tabs items=>
<Tab value="URL Upload">```js
await fetch("https://api.orshot.com/v1/brand-assets/videos/add", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: "Bearer <ORSHOT_API_KEY>",
  },
  body: JSON.stringify({
    file: "https://example.com/videos/brand-intro.mp4",
    name: "brand-intro.mp4", // optional
    tags: ["intro", "brand"], // optional
    metadata: { // optional
      description: "Brand introduction video",
      category: "marketing"
    }
  }),
});
```</Tab>
<Tab value="Binary Upload">```js
const formData = new FormData();
formData.append("file", videoFile); // File object
formData.append("name", "brand-intro.mp4"); // optional

await fetch("https://api.orshot.com/v1/brand-assets/videos/add", {
method: "POST",
headers: {
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: formData,
});

````
</Tab>
<Tab value="Response">```json
{
  "data": {
    "video": {
      "id": 790,
      "created_at": "2025-09-11T10:15:30.123Z",
      "name": "brand-intro.mp4",
      "original_filename": "brand-intro.mp4",
      "file_size": 5242880,
      "direct_url": "https://storage.orshot.com/videos/workspace_id/brand-intro.mp4",
      "width": 1920,
      "height": 1080,
      "duration": 30.5,
      "format": "mp4",
      "mime_type": "video/mp4",
      "thumbnail_url": null,
      "metadata": {
        "description": "Brand introduction video",
        "category": "marketing"
      },
      "workspace_id": 50,
      "user_id": "abcdef01-2345-6789-abcd-ef0123456789"
    },
    "url": "https://storage.orshot.com/videos/workspace_id/brand-intro.mp4"
  }
}
````

</Tab>
</Tabs>

## Request Parameters

| Parameter  | Type     | Required | Description                                                                        |
| ---------- | -------- | -------- | ---------------------------------------------------------------------------------- |
| `file`     | String   | Yes      | URL, base64-encoded string, or binary upload of the video file                     |
| `name`     | String   | No       | Custom name for the video (defaults to original filename or auto-generated)        |
| `tags`     | String[] | No       | Array of tags to associate with the video (e.g., `["intro", "brand"]`)             |
| `metadata` | Object   | No       | Custom metadata to attach to the video (can include `width`, `height`, `duration`) |

## Supported Video Formats

- MP4 (`video/mp4`)
- WebM (`video/webm`)
- QuickTime / MOV (`video/quicktime`)
- AVI (`video/x-msvideo`)
- Matroska / MKV (`video/x-matroska`)
- FLV (`video/x-flv`)
- WMV (`video/x-ms-wmv`)
- M4V (`video/x-m4v`)
- GIF (`image/gif`)

## Notes

- Maximum file size: 60MB
- Uploaded videos are stored as-is without transcoding

## Rate Limits

- 30 requests per minute per endpoint