Tagging
Live MusiTag audio tagging from S3 and stored tagging lookup.
Use the audio tagging endpoints for MusiTag taxonomy results from audio files. These endpoints analyse audio signal metadata — not lyrics text.
Live endpoints accept only s3_file_uri. They do not accept remote HTTP URLs,
YouTube links, multipart uploads, or raw file bytes through the gateway.
OAuth scopes
- audio.tagging.write — run live MusiTag audio tagging from an authorised S3 object.
- audio.tagging.read — read stored audio tagging for catalogued tracks.
- audio.features.write — optional live low-level audio features (not MusiTag taxonomy).
- Request the scopes your integration needs when exchanging client credentials.
Upload an audio file first
Upload audio to your organisation inbound area with
storage presigned uploads, then pass the resulting
s3://… URI to live tagging.
curl -X POST "https://api.musimap.com/v1/storage/inbound/uploads" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"object_key": "live-tests/demo.wav",
"content_type": "audio/wav"
}'
Upload the file with the returned presigned PUT URL, then call live tagging with the full S3 URI.
Files uploaded under your organisation inbound/ prefix remain there until you delete them.
If you later run an s3_scan ingestion, those objects may be picked up for catalogue ingestion.
- Use a dedicated subfolder such as
inbound/live-tests/orinbound/tmp/for experiments. - Delete temporary live-tagging objects when you do not want them ingested.
- Leave the object in place only when you intend to ingest it later.
Live MusiTag audio tagging
curl -X POST "https://api.musimap.com/v1/audio/tagging" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"s3_file_uri": "s3://your-org-bucket/inbound/live-tests/demo.wav"
}'
The response returns immediate final MusiTag taxonomy tags in the MusiMap envelope.
The public contract includes only customer-facing output: final tags with scores and labels,
taxonomy version, and safe source metadata. It does not expose pipeline internals such as
raw analyser values, intermediate features, integration-rule traces, or debug metadata.
The source.persisted field is false: live tagging does not create or update
a catalogued track record.
Live tagging response shape
{
"status": 200,
"message": "OK",
"data": {
"source": {
"s3_file_uri": "s3://your-org-bucket/inbound/live-tests/demo.wav",
"persisted": false
},
"audio_tagging": {
"status": "completed",
"taxonomy_version": "v2.2",
"tags": {
"moods": [
{ "uid": "mood-123", "score": 82, "name": "Happy" }
]
}
}
}
}
Stored audio tagging lookup
After catalogue ingestion and analysis, read stored tagging for a catalogued track. Provide exactly one lookup parameter.
curl "https://api.musimap.com/v1/audio/tagging/results?outer_id=client-track-42" \ -H "Authorization: Bearer $ACCESS_TOKEN"
Supported query parameters:
track_id— MusiMap track UUID.outer_id— your client outer ID from catalogue membership.isrc— track ISRC within the accessible catalogue.
Returns 404 Not Found when no accessible stored tagging exists.
Optional live audio features
curl -X POST "https://api.musimap.com/v1/audio/features" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"s3_file_uri": "s3://your-org-bucket/inbound/live-tests/demo.wav"
}'
Returns lower-level audio analysis features (tempo, loudness, spectral metrics, and similar). This is not MusiTag taxonomy tagging.