API Documentation

Integrate FreeMusicLab into your applications with our REST API.

Authentication

All API requests require an API key. Include it in the Authorization header:

Authorization: Bearer fml_your_api_key

Generate your API key in your profile settings.

Rate Limits

100

Requests per hour

50 MB

Max upload size

100

Max results per page

Rate limit headers are included in every response: X-RateLimit-Remaining, X-RateLimit-Reset

Endpoints

Upload a new track or sound effect

Parameters

NameTypeRequiredDescription
fileFileYesAudio file (MP3 or WAV, max 50MB)
titlestringYesTrack title
genrestringYesGenre or category ID
moodstring[]NoArray of mood tags
typestringYes"music" or "sfx"

Response

{
  "id": "community-1234567890",
  "title": "Sunset Cafe",
  "genre": "cafe",
  "status": "pending"
}

Code Examples

# List all cafe tracks
curl -H "Authorization: Bearer fml_your_api_key" \
  "https://api.freemusiclab.ai/api/v1/tracks?genre=cafe"

# Upload a track
curl -X POST \
  -H "Authorization: Bearer fml_your_api_key" \
  -F "file=@my-track.mp3" \
  -F "title=Sunset Cafe" \
  -F "genre=cafe" \
  -F "type=music" \
  "https://api.freemusiclab.ai/api/v1/upload"

# Get track details
curl -H "Authorization: Bearer fml_your_api_key" \
  "https://api.freemusiclab.ai/api/v1/tracks/cafe-001"

# Delete a track
curl -X DELETE \
  -H "Authorization: Bearer fml_your_api_key" \
  "https://api.freemusiclab.ai/api/v1/tracks/community-123"

Base URL

https://api.freemusiclab.ai/api/v1

All endpoints are relative to this base URL. Responses are in JSON format.