Created
July 13, 2022 21:43
-
-
Save bretth18/df8358c840fa94946ec212f753e290dd to your computer and use it in GitHub Desktop.
catalog-20220222 Metadata Schema
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$id": "http://catalog.works/schemas/2022022.json", | |
"type": "object", | |
"title": "catalog-20220222", | |
"description": "This schema defined version 20220222 of the Catalog Metadata Schema", | |
"required": [ | |
"version", | |
"title", | |
"artist", | |
"duration", | |
"mimeType", | |
"losslessAudio", | |
"image", | |
"name", | |
"external_url", | |
"animation_url" | |
], | |
"properties": { | |
"version": { | |
"type": "string", | |
"description": "Calendar version of the schema so that consumers can correctly parse the json", | |
"const": "catalog-20220222" | |
}, | |
"title": { | |
"type": "string", | |
"description": "The title of the track", | |
"examples": [ | |
"Our Taproot" | |
] | |
}, | |
"artist": { | |
"type": "string", | |
"description": "The artist who created the track", | |
"examples": [ | |
"Omari Jazz" | |
] | |
}, | |
"description": { | |
"type": "string", | |
"description": "An optional property for describing the track" | |
}, | |
"duration": { | |
"type": "number", | |
"description": "Length of the audio file in seconds (must be > 1ms)" | |
}, | |
"mimeType": { | |
"type": "string", | |
"description": "MimeType of the audio file. Only lossless formats (aif, wav, flac) are supported.", | |
"enum": [ | |
"audio/x-aiff", | |
"audio/aiff", | |
"audio/wav", | |
"audio/x-wav", | |
"audio/flac" | |
], | |
"examples": [ | |
"audio/aiff" | |
] | |
}, | |
"trackNumber": { | |
"type": "integer", | |
"description": "The place which the track appears in its project (e.g. track 4 off an album)", | |
"minimum": 1, | |
"examples": [ | |
1, | |
9, | |
null | |
] | |
}, | |
"project": { | |
"type": [ | |
"object", | |
null | |
], | |
"description": "Describes the body of work the record is a part of (e.g. an album, EP, or compilation)", | |
"required": [ | |
"title" | |
], | |
"properties": { | |
"title": { | |
"type": "string", | |
"description": "The name of the project this record is on" | |
}, | |
"artwork": { | |
"type": "object", | |
"description": "Artwork for the project (e.g. an album cover)", | |
"required": [ | |
"uri", | |
"mimeType" | |
], | |
"properties": { | |
"uri": { | |
"type": "string", | |
"description": "The uri of the artwork (ipfs://<CID>)" | |
}, | |
"mimeType": { | |
"type": "string", | |
"description": "The mime type of the artwork" | |
}, | |
"nft": { | |
"type": "string", | |
"description": "The NFT of the artwork (caip19)" | |
} | |
} | |
}, | |
"description": { | |
"type": "string", | |
"description": "The description of the project" | |
}, | |
"type": { | |
"type": "string", | |
"description": "The type of the project", | |
"examples": [ | |
"EP", | |
"LP", | |
"Compilation", | |
"Single", | |
"Other" | |
] | |
}, | |
"originalReleaseDate": { | |
"type": "string", | |
"description": "The original release date of the project (DateTime ISO8601)", | |
"format": "date-time" | |
}, | |
"recordLabel": { | |
"type": "string", | |
"description": "The record label of the project" | |
}, | |
"publisher": { | |
"type": "string", | |
"description": "The publisher of the project" | |
}, | |
"upc": { | |
"type": "string", | |
"description": "The UPC of the project" | |
} | |
} | |
}, | |
"artwork": { | |
"type": "object", | |
"description": "The artwork of the track (album cover, track art, etc.)", | |
"required": [ | |
"uri", | |
"mimeType" | |
], | |
"properties": { | |
"uri": { | |
"type": "string", | |
"description": "The uri of the artwork (ipfs://<CID>)" | |
}, | |
"mimeType": { | |
"type": "string", | |
"description": "The mime type of the artwork" | |
}, | |
"nft": { | |
"type": "string", | |
"description": "The NFT of the artwork (caip19)" | |
} | |
} | |
}, | |
"visualizer": { | |
"type": [ | |
"object", | |
null | |
], | |
"description": "The visualizer of the track", | |
"required": [ | |
"uri", | |
"mimeType" | |
], | |
"properties": { | |
"uri": { | |
"type": "string", | |
"description": "The uri of the visualizer (ipfs://<CID>)" | |
}, | |
"mimeType": { | |
"type": "string", | |
"description": "The mime type of the visualizer" | |
}, | |
"nft": { | |
"type": "string", | |
"description": "The NFT of the visualizer (caip19)" | |
} | |
} | |
}, | |
"genre": { | |
"type": "string", | |
"description": "The genre of the track", | |
"examples": [ | |
"Electronic", | |
"Rock", | |
"Pop", | |
"Hip-Hop", | |
"Jazz", | |
"Funk", | |
"Classical", | |
"Other" | |
], | |
"maxLength": 50 | |
}, | |
"tags": { | |
"type": "array", | |
"description": "The tags of the track", | |
"items": { | |
"type": "string", | |
"description": "The tag of the track" | |
} | |
}, | |
"lyrics": { | |
"type": [ | |
"object", | |
null | |
], | |
"description": "The lyrics of the track", | |
"required": [ | |
"text" | |
], | |
"properties": { | |
"text": { | |
"type": "string", | |
"description": "The text of the lyrics" | |
}, | |
"nft": { | |
"type": "string", | |
"description": "The NFT of the lyrics (caip19)" | |
} | |
} | |
}, | |
"bpm": { | |
"type": "number", | |
"description": "The BPM of the track", | |
"minimum": 0 | |
}, | |
"key": { | |
"type": "string", | |
"description": "The key of the track", | |
"examples": [ | |
"C", | |
"G#", | |
"6A", | |
"12B" | |
] | |
}, | |
"license": { | |
"type": "string", | |
"description": "The license of the track", | |
"examples": [ | |
"CC-BY-NC-SA", | |
"CC-BY-NC-ND", | |
"CC-BY-NC", | |
"CC-BY-SA", | |
"CC-BY-ND", | |
"CC-BY", | |
"CC0", | |
"PD", | |
"Other" | |
] | |
}, | |
"isrc": { | |
"type": "string", | |
"description": "The ISRC of the track" | |
}, | |
"locationCreated": { | |
"type": "string", | |
"description": "The location where the track was created" | |
}, | |
"originalReleaseDate": { | |
"type": "string", | |
"description": "The original release date of the track (DateTime ISO8601)", | |
"format": "date-time" | |
}, | |
"recordLabel": { | |
"type": "string", | |
"description": "The record label of the track" | |
}, | |
"publisher": { | |
"type": "string", | |
"description": "The publisher of the track" | |
}, | |
"credits": { | |
"type": [ | |
"array", | |
null | |
], | |
"description": "The credits of the track", | |
"items": { | |
"type": "object", | |
"required": [ | |
"name", | |
"collaboratorType" | |
], | |
"properties": { | |
"name": { | |
"type": "string", | |
"description": "The name of the credit" | |
}, | |
"collaboratorType": { | |
"type": "string", | |
"description": "The type of the collaborator", | |
"examples": [ | |
"Producer", | |
"Engineer", | |
"Composer", | |
"Arranger", | |
"Mixer", | |
"Other" | |
] | |
} | |
} | |
} | |
}, | |
"losslessAudio": { | |
"type": "string", | |
"description": "The lossless audio URI of the track" | |
}, | |
"image": { | |
"type": "string", | |
"description": "The image URI of the track" | |
}, | |
"name": { | |
"type": "string", | |
"description": "The name of the track (<artist> - <title>)" | |
}, | |
"external_url": { | |
"type": "string", | |
"description": "The external url of the track" | |
}, | |
"animation_url": { | |
"type": "string", | |
"description": "The animation url of the track" | |
}, | |
"attributes": { | |
"type": "object", | |
"description": "OpenSea NFT Metadata standard attribute tags", | |
"required": [ | |
"artist" | |
], | |
"properties": { | |
"artist": { | |
"type": "string", | |
"description": "The artist of the track" | |
}, | |
"project": { | |
"type": "string", | |
"description": "The project of the track" | |
}, | |
"bpm": { | |
"type": "number", | |
"description": "The BPM of the track", | |
"minimum": 0 | |
}, | |
"key": { | |
"type": "string", | |
"description": "The key of the track", | |
"examples": [ | |
"C", | |
"G#", | |
"6A", | |
"12B" | |
] | |
}, | |
"genre": { | |
"type": "string", | |
"description": "The genre of the track", | |
"examples": [ | |
"Electronic", | |
"Rock", | |
"Pop", | |
"Hip-Hop", | |
"Jazz", | |
"Funk", | |
"Classical", | |
"Other" | |
] | |
}, | |
"recordLabel": { | |
"type": "string", | |
"description": "The record label of the track" | |
}, | |
"license": { | |
"type": "string", | |
"description": "The license of the track", | |
"examples": [ | |
"CC-BY-NC-SA", | |
"CC-BY-NC-ND", | |
"CC-BY-NC", | |
"CC-BY-SA", | |
"CC-BY-ND", | |
"CC-BY", | |
"CC0", | |
"PD", | |
"Other" | |
] | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment