Skip to Content

Audio

Video posts and scheduled reels reference their soundtrack by id, never by URL — videoSettings.audioId on generate / import, and postSettings.audioId when scheduling. These endpoints are how you resolve that id, and how you clean up files you no longer need.

Uploading is done in the PostNitro app. The API lists and deletes audio; it does not upload it. Add tracks in the video maker, then read their ids here.

List audio

GET https://embed-api.postnitro.ai/audio

Returns the audio files in the workspace attached to your API key, newest first.

Headers

  • embed-api-key: your-api-key-here (required)

Query Parameters

ParameterTypeRequiredDescription
pagenumberNoPage number (default 1)
limitnumberNoResults per page (default 10, max 100)

Example Request

curl --location 'https://embed-api.postnitro.ai/audio' \ --header 'embed-api-key: pn-your-api-key'

Response

{ "success": true, "data": { "audios": [ { "id": "cmskuke0u0001v0pl4zwi5pc4", "name": "kontraa-water-afro-pop-music", "url": "https://<storage-host>/media/audio/f23bd7ad-...-kontraa-water-afro-pop-music.mp3", "duration": 69.87, "artistName": "User Upload", "source": "upload", "createdAt": "2026-08-08T20:49:38.814Z" } ] } }
FieldTypeDescription
idstringThe value to pass as videoSettings.audioId / postSettings.audioId
namestringTrack title, falling back to the original filename
urlstringPublic URL of the file. Useful for previewing — the API still wants the id
durationnumber | nullTrack length in seconds; null when the uploader didn’t record one
artistNamestring | nullArtist, when the source provided one
sourcestringWhere the file came from, e.g. "upload"
createdAtstringISO-8601 upload time

An empty library returns 200 with "audios": [] — it isn’t an error.

A track’s duration is independent of videoSettings.videoDuration: the video is rendered to the duration you ask for, and a longer track is simply cut off at that point.

Delete audio

DELETE https://embed-api.postnitro.ai/audio/{id}

Permanently deletes the audio record and the stored file. This cannot be undone.

Headers

  • embed-api-key: your-api-key-here (required)

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe audio id (from List audio)

Example Request

curl --location --request DELETE 'https://embed-api.postnitro.ai/audio/cmskuke0u0001v0pl4zwi5pc4' \ --header 'embed-api-key: pn-your-api-key'

Response

{ "success": true, "message": "Audio deleted successfully" }

Errors

StatusMessageWhen
404Audio not foundNo such id in your workspace, or the id points at an image or other non-audio file
400Audio is used in scheduled posts and cannot be deleted. Remove it from those posts first.A scheduled post’s postSettings.audioId still references it
500Error deleting audio fileThe stored file could not be removed; nothing was deleted, so the call can be retried

Why a scheduled post blocks deletion: a reel resolves its audio when it publishes, so deleting the track first would leave that post silently without a soundtrack. Videos already rendered to MP4 are unaffected — their audio is baked into the file, so deleting the source track never changes an existing render.

Last updated on