Flows & Playlists
Aurral supports both dynamic, weekly refreshing music discovery (Flows) and static, imported sets of music (Playlists). Here is how they differ and how to use them.
Flows
Dynamic, recommended playlists that refresh automatically every week based on your listening context.
- Generated automatically
- Replaced entirely on refresh
- Can generate replacement tracks if initial downloads fail
Playlists
Static tracklists imported from JSON files (like converted Spotify playlists).
- Imported manually
- Kept separate from flow refreshes
- Will retry exact tracks forever, never replacing them
Playlist Imports
Aurral accepts imported playlists via JSON files. You can convert your existing Spotify playlists into this format using our CSV to JSON converter.
Required Fields
Each track in your JSON must include the artist name and track name. We accept a variety of aliases to make importing easier:
-
Artist:
artistName,artist,artist_name,Artist Name(s) -
Track:
trackName,title,name,track,Track Name -
Album (Optional):
albumName,album,Album Name -
Artist ID (Optional):
artistMbid,artistId,mbid
Download Retries
When a playlist track fails to download, Aurral behaves differently than it does for Flows:
- Retryable failures get an immediate retry with a backoff delay.
- If a playlist is incomplete and has no active jobs, failed tracks are requeued every ~15 minutes.
- Imported playlists will always retry the exact tracks you imported; they will never generate replacement tracks like Flows do.
JSON Formats
The importer is flexible and accepts several JSON shapes. If you are writing your own scripts or modifying files by hand, you can use any of these formats.
1. Single Playlist Object
{
"name": "My Playlist",
"tracks": [
{ "artistName": "Massive Attack", "trackName": "Teardrop" },
{ "artistName": "Portishead", "trackName": "Roads" }
]
}
2. Raw Array of Tracks
A top-level array of track objects is treated as one single playlist. (This is what our CSV converter generates).
[
{ "artistName": "Burial", "trackName": "Archangel" },
{ "artistName": "Air", "trackName": "La Femme d'Argent" }
]
3. Multi-Playlist Bundle
You can import multiple playlists at once by providing an array of playlist objects.
{
"playlists": [
{
"name": "Warm",
"tracks": [
{ "artistName": "Bonobo", "trackName": "Kiara" }
]
},
{
"name": "Dark",
"tracks": [
{ "artistName": "Burial", "trackName": "Near Dark" }
]
}
]
}
4. Aurral Export Format
Aurral can also re-import the exact files it exports.
{
"type": "aurral-static-tracklist",
"version": 1,
"name": "Late Night Finds",
"tracks": [
{
"artistName": "Burial",
"trackName": "Archangel",
"albumName": "Untrue"
}
]
}