---
title: "Upload an audio/video file (raw body, up to 2 GB) and start transcription"
method: POST
path: "/transcriptions"
tags: ["transcriptions"]
---

# Upload an audio/video file (raw body, up to 2 GB) and start transcription

`POST /transcriptions`

## Request

- Base URL: `https://app.memoai.tech/api/v1/developer`
- URL: `https://app.memoai.tech/api/v1/developer/transcriptions`
- Auth: HTTP bearer

The file is the request body. `Content-Length` and `Content-Disposition: attachment; filename="..."` are required; the extension selects the format and the name becomes the title. Requires a key with upload permission. Poll GET /transcriptions/{id} until `status` is completed, failed or insufficient_balance.

## Query parameters

- `language` string
- `project_id` string, uuid

## Headers

- `Content-Disposition` string, required
- `X-External-Id` string
- `X-Metadata` string
- `X-Author` string

## Response `201`

Accepted and queued

- UploadAccepted
  - `uuid` string, uuid
  - `status` 'queued'

## Other responses

- `401`: Missing or invalid API key, or key passed in the URL.
- `403`: Plan without API access, or key lacks the required permission.
- `411`: Content-Length missing
- `413`: File larger than 2 GB
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/memoai/apis/memo-ai-developer-api.md) · [All operations](https://skmtc.dev/memoai/apis/memo-ai-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/memoai/apis/memo-ai-developer-api/revisions/517dbac8ee78?raw)
