---
title: "Get a Signed Url"
method: GET
path: "/media/upload/signedurl"
tags: ["Media (Audio/Video)"]
---

# Get a Signed Url

`GET /media/upload/signedurl`

## Request

- Base URL: `https://api.speakai.co/v1`
- URL: `https://api.speakai.co/v1/media/upload/signedurl`
- Auth: API key in header `x-speakai-key` and API key in header `x-access-token`

If you have a locally saved file and you want to upload it to our system using API, you'll have to follow through 3 simple steps:

### Process

1. Run this endpoint to retrieve an upload link for a placeholder on our storage bucket. You'll have `preSignedUrl.`

2. This `preSignedUrl` is your ticket to which you `PUT` your local file using `curl` or any other HTTP client.

3. Use "[Upload your file with the Signed Url or External URL](https://docs.speakai.co/#c6106a66-6a3d-4b05-b4a2-4a68a4c1e95d)" to upload your file on Speak.

### How does this work?

You can find more information about uploading a file using signed URLs [here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html).
If you still find this unenlightening, shoot a message to us on success@speakai.co!

### Expiry

The link will expire in 2 hours.

## Query parameters

- `mediaType` 'audio' | 'video', required
- `filename` string, required
- `mimeType` string

## Response `200`

Success

---

[API](https://skmtc.dev/speakai/apis/speak-ai-api.md) · [All operations](https://skmtc.dev/speakai/apis/speak-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/speakai/apis/speak-ai-api/revisions/52d777e6d46e?raw)
