Upload Audio
Learn how to upload brand audio to your workspace
Published
Overview#
This endpoint allows you to upload brand audio to your workspace. You can upload audio from a URL, as a base64-encoded string, or as a binary upload.
https://api.orshot.com/v1/brand-assets/audio/addRequest#
await fetch("https://api.orshot.com/v1/brand-assets/audio/add", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
file: "https://example.com/audio/background-music.mp3",
name: "background-music.mp3", // optional
tags: ["intro", "music"], // optional
metadata: { // optional
duration: 169.5,
description: "Background music track"
}
}),
});Request Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
file | String | Yes | URL, base64-encoded string, or binary upload of the audio file |
name | String | No | Custom name for the audio (defaults to original filename or auto-generated) |
tags | String[] | No | Array of tags to associate with the audio (e.g., ["intro", "music"]) |
metadata | Object | No | Custom metadata to attach to the audio (can include duration) |
Supported Audio Formats#
- MP3 (
audio/mpeg) - WAV (
audio/wav) - M4A (
audio/mp4) - AAC (
audio/aac) - OGG (
audio/ogg) - Opus (
audio/opus) - FLAC (
audio/flac) - WebM (
audio/webm) - AIFF (
audio/aiff) - WMA (
audio/x-ms-wma)
Notes#
- Maximum file size: 50MB
- For base64 uploads, include the file extension in the
name(e.g.,track.wav) so the format is detected correctly — otherwise it defaults tomp3. - Audio is stored as-is; it is re-encoded to AAC automatically when a template is rendered to video.
Query Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
embedId | String | No | Embed instance ID. Pair with embedUserId to scope this call to one embed user |
embedUserId | String | No | The same userId your app passes to the embed URL. Requires embedId |
Per-User Libraries#
Pass embedId and embedUserId together to add the audio to that embed user's private library instead of the shared workspace library. This is how one embed serves many brands or tenants, each with its own brand space.
Omit them and this endpoint behaves exactly as documented above. See Per-User Brand Assets for the full picture.
Rate Limits#
- 30 requests per minute per endpoint
Ready to automate?
Start rendering images, PDFs and videos from your templates in under 2 minutes. Free plan, no credit card.
Get your API key- Image, PDF and video generation via API
- Visual editor with AI and smart layouts
- Zapier, Make, MCP and 50+ integrations
- White-label embed for your own app
- 30 free credits — no credit card required