---
title: "Generate Upload URL"
method: POST
path: "/upload-url"
tags: ["Shorts"]
---

# Generate Upload URL

`POST /upload-url`

Generates a presigned S3 URL for single-part video file upload. Use this for smaller files. For larger files, use the multipart upload endpoints.

## Request body

- object
  - `filename` string, required — Original filename of the video (e.g. `my-video.mp4`).
  - `content_type` string, required — MIME type of the video file (e.g. `video/mp4`, `video/quicktime`).

## Response `200`

200

- object
  - `success` boolean
  - `upload_url` string — Presigned PUT URL to upload the file. Valid for 1 hour.
  - `s3_key` string — S3 key for the uploaded file. Use this value when calling `/import-video` with `source_type: upload`.
  - `expires_in` number — Expiration time of the presigned URL, in seconds.

## Other responses

- `400` — 400
- `500` — 500

---

[API](https://skmtc.net/pandavideo/apis/api-v2.md) · [All operations](https://skmtc.net/pandavideo/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pandavideo/api-v2/versions/4fbd3c623ca9/schema)
