---
title: "Upload a music track (mp3/wav/m4a ≤ 20 MB)"
method: POST
path: "/api/music"
tags: ["enrich"]
---

# Upload a music track (mp3/wav/m4a ≤ 20 MB)

`POST /api/music`

## Request

- Base URL: `https://cliponit.app`
- URL: `https://cliponit.app/api/music`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `session`
  - OAuth 2 (authorization code, authorization URL `https://cliponit.app/oauth/authorize`, token URL `https://cliponit.app/oauth/token`, scopes: `clips`)

Stored as mp3. Use the returned `id` as `music.music_id` in `updateClipEdit`.

## Response `200`

Track

- MusicTrack
  - `id` string, uuid, required
  - `name` string, required
  - `url` string, required
  - `duration_s` number, required

## Other responses

- `400`: Validation error — the message names the field, e.g. `champ subtitles.size invalide : attendu 1..3`
- `403`: Feature not included in the user's plan (upgrade at /billing)

---

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