| title | Child | |
|---|---|---|
| linkTitle | Child [OS] | |
| opensubsonic |
|
|
| description | A media. |
{{< tabpane persist=false >}} {{< tab header="Example:" disabled=true />}} {{< tab header="OpenSubsonic" lang="json">}} { "id": "082f435a363c32c57d5edb6a678a28d4", "parent": "e8a0685e3f3ec6f251649af2b58b8617", "isDir": false, "title": ""polar expedition"", "album": "Live at The Casbah - 2005-04-29", "artist": "The New Deal", "track": 4, "year": 2005, "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce", "size": 19866778, "contentType": "audio/flac", "suffix": "flac", "starred": "2023-03-27T09:45:27Z", "duration": 178, "bitRate": 880, "bitDepth": 16, "samplingRate": 44100, "channelCount": 2, "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - "polar expedition".flac", "playCount": 8, "played": "2023-03-26T22:27:46Z", "discNumber": 1, "created": "2023-03-14T17:51:22.112827504Z", "albumId": "e8a0685e3f3ec6f251649af2b58b8617", "artistId": "97e0398acf63f9fb930d7d4ce209a52b", "type": "music", "mediaType": "song", "isVideo": false, "bpm": 134, "comment": "This is a song comment", "sortName": "Polar expedition", "musicBrainzId": "189002e7-3285-4e2e-92a3-7f6c30d407a2", "isrc": [ "USSM18300073", "DELV42300297", "DEE868300011", "DEE868300007" ], "genres": [ { "name": "Hip-Hop" }, { "name": "East coast" } ], "artists": [ { "id": "ar-1", "name": "Artist 1" }, { "id": "ar-2", "name": "Artist 2" } ], "displayArtist": "Artist 1 feat. Artist 2", "albumArtists": [ { "id": "ar-6", "name": "Artist 6" }, { "id": "ar-7", "name": "Artist 7" } ], "displayAlbumArtist": "Artist 6 & Artist 7", "contributors": [ { "role": "composer", "artist": { "id": "ar-3", "name": "Artist 3" } }, { "role": "composer", "artist": { "id": "ar-4", "name": "Artist 4" } }, { "role": "lyricist", "artist": { "id": "ar-5", "name": "Artist 5" } }, { "role": "performer", "subRole": "Bass", "artist": { "id": "ar-5", "name": "Artist 5" } } ], "displayComposer": "Artist 3, Artist 4", "moods": [ "slow", "cool" ], "explicitStatus": "explicit", "replayGain": { "trackGain": 0.1, "albumGain": 1.1, "trackPeak": 9.2, "albumPeak": 9, "baseGain": 0 } } {{< /tab >}} {{< tab header="Subsonic" lang="json" >}} { "id": "082f435a363c32c57d5edb6a678a28d4", "parent": "e8a0685e3f3ec6f251649af2b58b8617", "isDir": false, "title": ""polar expedition"", "album": "Live at The Casbah - 2005-04-29", "artist": "The New Deal", "track": 4, "year": 2005, "coverArt": "mf-082f435a363c32c57d5edb6a678a28d4_6410b3ce", "size": 19866778, "contentType": "audio/flac", "suffix": "flac", "starred": "2023-03-27T09:45:27Z", "duration": 178, "bitRate": 880, "bitDepth": 16, "samplingRate": 44100, "channelCount": 2, "path": "The New Deal/Live at The Casbah - 2005-04-29/04 - "polar expedition".flac", "playCount": 8, "discNumber": 1, "created": "2023-03-14T17:51:22.112827504Z", "albumId": "e8a0685e3f3ec6f251649af2b58b8617", "artistId": "97e0398acf63f9fb930d7d4ce209a52b", "type": "music", "isVideo": false } {{< /tab >}} {{< /tabpane >}}
| Field | Type | Req. | OpenS. | Details |
|---|---|---|---|---|
id |
string |
Yes | The id of the media | |
parent |
string |
No | The id of the parent (folder/album) | |
isDir |
boolean |
Yes | The media is a directory | |
title |
string |
Yes | The media name. | |
album |
string |
No | The album name. | |
artist |
string |
No | The artist name. | |
track |
int |
No | The track number. | |
year |
int |
No | The media year. | |
coverArt |
string |
No | A covertArt id. | |
size |
long |
No | A file size of the media. | |
contentType |
string |
No | The mimeType of the media. | |
suffix |
string |
No | The file suffix of the media. | |
starred |
string |
No | Date the media was starred. [ISO 8601] | |
duration |
int |
No | The duration of the media in seconds. | |
bitRate |
int |
No | The bitrate of the media. | |
bitDepth |
int |
No | Yes | The bit depth of the media. |
samplingRate |
int |
No | Yes | The sampling rate of the media. |
channelCount |
int |
No | Yes | The number of channels of the media. |
path |
string |
No | The full path of the media. | |
playCount |
long |
No | The play count. | |
played |
string |
No | Yes | Date the media was last played. [ISO 8601] |
discNumber |
int |
No | The disc number. | |
created |
string |
No | Date the media was created. [ISO 8601] | |
albumId |
string |
No | The corresponding album id | |
artistId |
string |
No | The corresponding artist id | |
type |
string |
No | The generic type of media [music/podcast/audiobook/video] | |
mediaType |
string |
No | Yes | The actual media type [song/album/artist] Note: If you support musicBrainzId you must support this field to ensure clients knows what the ID refers to. |
isVideo |
boolean |
No | Media is a video | |
bpm |
int |
No | Yes | The BPM of the song. |
comment |
string |
No | Yes | The comment tag of the song. |
sortName |
string |
No | Yes | The song sort name. |
musicBrainzId |
string |
No | Yes | The track MusicBrainzID. |
isrc |
Array of string |
No | Yes | The track ISRC(s). |
genres |
Array of ItemGenre |
No | Yes | The list of all genres of the song. |
artists |
Array of ArtistID3 |
No | Yes | The list of all song artists of the song. (Note: Only the required ArtistID3 fields should be returned by default) |
displayArtist |
string |
No | Yes | The single value display artist. |
albumArtists |
Array of ArtistID3 |
No | Yes | The list of all album artists of the song. (Note: Only the required ArtistID3 fields should be returned by default) |
displayAlbumArtist |
string |
No | Yes | The single value display album artist. |
contributors |
Array of Contributor |
No | Yes | The list of all contributor artists of the song. |
displayComposer |
string |
No | Yes | The single value display composer. |
moods |
Array of string |
No | Yes | The list of all moods of the song. |
explicitStatus |
string |
No | Yes | Returns "explicit", "clean" or "". (For songs extracted from tags "ITUNESADVISORY": 1 = explicit, 2 = clean, MP4 "rtng": 1 or 4 = explicit, 2 = clean. See albumID3 for albums) |
replayGain |
ReplayGain |
No | Yes | The replaygain data of the song. |
genre |
string |
No | The media genre | |
transcodedContentType |
string |
No | The transcoded mediaType if transcoding should happen. | |
transcodedSuffix |
string |
No | The file suffix of the transcoded media. | |
userRating |
int |
No | The user rating of the media [1-5] | |
averageRating |
number |
No | The average rating of the media [1.0-5.0] | |
bookmarkPosition |
long |
No | The bookmark position in seconds | |
originalWidth |
int |
No | The video original Width | |
originalHeight |
int |
No | The video original Height |
{{< alert color="warning" title="OpenSubsonic" >}} New fields are added:
playedbpmcommentsortNamemusicBrainzIdisrcgenresartistsdisplayArtistalbumArtistsdisplayAlbumArtistcontributorsdisplayComposermoodsreplayGainexplicitStatus
Note: All OpenSubsonic added fields are optionals. But if a server support a field it must return it with an empty / default value when not present in it's database so that clients knows what the server supports.
Note: Even if some added fields may looks duplicated, it's important to still return the legacy data for compatibility reasons. {{< /alert >}}