fm.freemix.release.track

lex-publisher.freemix.fm

Documentation

A music track record on FreeMix

main record

A music track record on FreeMix

Record Key tid Timestamp-based ID

Properties

aiDeclaration object Optional

Declaration of AI involvement in creation

artist string Required

Artist name

maxLength: 200 bytes
audioDurationMs integer Optional

Duration of the track in milliseconds

audioFormat string Required

Audio file format

maxLength: 100 bytes
Known values: wav, flac, mp3, aac, ogg, aiff
audioHash string Required

SHA-256 hash of the audio file content

maxLength: 200 bytes
audioSizeBytes integer Required

Size of the audio file in bytes

audioUrl string uri Required

R2 URL to the audio file

maxLength: 3000 bytes
bpmCentis integer Optional

Beats per minute in centiBPM (multiply actual BPM by 100, e.g., 174.50 BPM = 17450)

minimum: 2000maximum: 99900
catalogNumber string Optional

Catalog number (e.g., 'VIZ-042')

maxLength: 100 bytes
coverArtHash string Optional

SHA-256 hash of the cover art

maxLength: 200 bytes
coverArtUrl string uri Optional

URL to cover art image

maxLength: 3000 bytes
createdAt string datetime Required

Record creation timestamp

maxLength: 100 bytes
description string Optional

Track description

maxLength: 5000 bytes
genre array of string Optional

Genre classifications

maxLength: 5 items
isReleased boolean Optional

Whether this track was previously released outside FreeMix

isrc string Optional

International Standard Recording Code

maxLength: 100 bytes
key string Optional

Musical key (e.g., 'Am', 'F#m', 'Bb')

maxLength: 10 bytes
license string at-uri Required

AT URI to the license grant record

maxLength: 3000 bytes
releaseDate string datetime Optional

Original release date (ISO 8601)

releaseLabel string Optional

Label name (e.g., 'Vizual Records', 'self-released')

maxLength: 255 bytes
stemAccess string Optional

Who can access stems. Defaults to 'open'. Phase 1 only supports 'open' and 'community'.

maxLength: 100 bytes
Known values: open, community, request, pro
tags array of string Optional

Freeform tags

maxLength: 10 items
title string Required

Track title

maxLength: 300 bytes
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "title",
      "artist",
      "audioUrl",
      "audioHash",
      "audioFormat",
      "audioSizeBytes",
      "license",
      "createdAt"
    ],
    "properties": {
      "key": {
        "type": "string",
        "maxLength": 10,
        "description": "Musical key (e.g., 'Am', 'F#m', 'Bb')"
      },
      "isrc": {
        "type": "string",
        "maxLength": 100,
        "description": "International Standard Recording Code"
      },
      "tags": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 50
        },
        "maxLength": 10,
        "description": "Freeform tags"
      },
      "genre": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 50
        },
        "maxLength": 5,
        "description": "Genre classifications"
      },
      "title": {
        "type": "string",
        "maxLength": 300,
        "description": "Track title"
      },
      "artist": {
        "type": "string",
        "maxLength": 200,
        "description": "Artist name"
      },
      "buyLink": {
        "type": "string",
        "format": "uri",
        "maxLength": 500,
        "description": "URL to purchase or stream (Bandcamp, Beatport, Spotify, etc.)"
      },
      "license": {
        "type": "string",
        "format": "at-uri",
        "maxLength": 3000,
        "description": "AT URI to the license grant record"
      },
      "audioUrl": {
        "type": "string",
        "format": "uri",
        "maxLength": 3000,
        "description": "R2 URL to the audio file"
      },
      "audioHash": {
        "type": "string",
        "maxLength": 200,
        "description": "SHA-256 hash of the audio file content"
      },
      "bpmCentis": {
        "type": "integer",
        "maximum": 99900,
        "minimum": 2000,
        "description": "Beats per minute in centiBPM (multiply actual BPM by 100, e.g., 174.50 BPM = 17450)"
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "maxLength": 100,
        "description": "Record creation timestamp"
      },
      "isReleased": {
        "type": "boolean",
        "description": "Whether this track was previously released outside FreeMix"
      },
      "stemAccess": {
        "type": "string",
        "maxLength": 100,
        "description": "Who can access stems. Defaults to 'open'. Phase 1 only supports 'open' and 'community'.",
        "knownValues": [
          "open",
          "community",
          "request",
          "pro"
        ]
      },
      "audioFormat": {
        "type": "string",
        "maxLength": 100,
        "description": "Audio file format",
        "knownValues": [
          "wav",
          "flac",
          "mp3",
          "aac",
          "ogg",
          "aiff"
        ]
      },
      "coverArtUrl": {
        "type": "string",
        "format": "uri",
        "maxLength": 3000,
        "description": "URL to cover art image"
      },
      "description": {
        "type": "string",
        "maxLength": 5000,
        "description": "Track description"
      },
      "releaseDate": {
        "type": "string",
        "format": "datetime",
        "description": "Original release date (ISO 8601)"
      },
      "coverArtHash": {
        "type": "string",
        "maxLength": 200,
        "description": "SHA-256 hash of the cover art"
      },
      "releaseLabel": {
        "type": "string",
        "maxLength": 255,
        "description": "Label name (e.g., 'Vizual Records', 'self-released')"
      },
      "aiDeclaration": {
        "type": "object",
        "required": [
          "category"
        ],
        "properties": {
          "tools": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 100
            },
            "maxLength": 10,
            "description": "AI tools used"
          },
          "category": {
            "type": "string",
            "maxLength": 100,
            "description": "Level of AI involvement",
            "knownValues": [
              "none",
              "assisted",
              "augmented",
              "generated"
            ]
          },
          "description": {
            "type": "string",
            "maxLength": 1000,
            "description": "Creator's description of how AI was used"
          }
        },
        "description": "Declaration of AI involvement in creation"
      },
      "catalogNumber": {
        "type": "string",
        "maxLength": 100,
        "description": "Catalog number (e.g., 'VIZ-042')"
      },
      "audioSizeBytes": {
        "type": "integer",
        "description": "Size of the audio file in bytes"
      },
      "audioDurationMs": {
        "type": "integer",
        "description": "Duration of the track in milliseconds"
      }
    }
  },
  "description": "A music track record on FreeMix"
}

Lexicon Garden

@