---
title: "Upload media"
method: POST
path: "/projects/{projectId}/media"
tags: ["Media Library"]
---

# Upload media

`POST /projects/{projectId}/media`

## Request

- Base URL: `https://blitzreels.com/api/v1`
- URL: `https://blitzreels.com/api/v1/projects/{projectId}/media`
- Auth: API key in header `Authorization`

Upload media.

## Path parameters

- `projectId` string, required

## Request body

- object
  - `storage_key` string
  - `content_hash_sha256` string
  - `file_name` string
  - `content_type` string
  - `file_size_bytes` number
  - `url` string
  - `name` string
  - `auto_process_enabled` boolean
  - `auto_transcribe` boolean
  - `auto_describe_after_transcribe` boolean
  - `auto_suggest_shorts` boolean

## Response `200`

Successful response

- union
  - object
    - `media` object, required
      - `id` string, required
      - `name` string, required
      - `asset_type` string, required
      - `mime_type` string, required
      - `file_size_bytes` number, required
      - `content_hash_sha256` string, nullable, required
      - `processing_status` string, required
      - `created_at` string, required
      - `deduped` boolean, required
  - object
    - `upload` object, required
      - `uploadUrl` string, required
      - `storageKey` string, required
      - `expiresIn` number, required
      - `instructions` string, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `500`: Internal server error

---

[API](https://skmtc.dev/blitzreels/apis/blitzreels-api.md) · [All operations](https://skmtc.dev/blitzreels/apis/blitzreels-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blitzreels/apis/blitzreels-api/revisions/35608b12471d?raw)
