How to prepare and upload large catalogs efficiently using Resolut's bulk import tools, CSV templates, and validation workflows.
Uploading a handful of tracks is easy enough to do one by one. But when you're dealing with hundreds — or thousands — of assets, you need a process that's repeatable, auditable, and fast. Resolut's bulk upload system is built for exactly that. This guide walks you through everything from preparing your CSV to recovering gracefully from validation errors.
The bulk upload process starts with a spreadsheet. Resolut reads a UTF-8 encoded CSV file where each row represents one audio asset. The column headers must match exactly — Resolut's importer is case-sensitive and won't guess at column names.
| Column name | Required? | Notes |
|---|---|---|
title | Required | The canonical track title. Avoid trailing whitespace. |
artist | Required | Primary artist name. For features, use the featured_artists column. |
isrc | Required if assigning | 12-character ISRC code. Leave blank to have Resolut generate one (requires ISRC prefix configured in your account). |
filename | Required | Must match the filename of the audio asset in your upload batch exactly, including extension. |
duration_seconds | Required | Integer or decimal. Used to validate against the actual audio file. |
rights_holder | Required | The top-level rights-owning entity (usually your label or publishing company name). |
release_date | Required | ISO 8601 format: YYYY-MM-DD. |
iswc | Optional | International Standard Musical Work Code. Include if known. |
featured_artists | Optional | Comma-separated. Example: Nadia Sol, Trace Vellum |
genre | Optional | Must match a value from Resolut's genre taxonomy. See Settings → Metadata → Genre List. |
mood_tags | Optional | Comma-separated mood tags. Example: melancholic, cinematic, slow-burn |
explicit | Optional | true or false. Defaults to false if omitted. |
territory_restrictions | Optional | ISO 3166-1 alpha-2 country codes, comma-separated. Leave blank for worldwide. |
bundle_id | Optional | If provided, Resolut will add the asset to an existing bundle with this ID. |
notes | Optional | Internal notes. Not visible to external parties. 500 character limit. |
YYYY-MM-DD. Formats like March 12, 2024 will fail validation.N/A or -, as these will be treated as literal strings.You, Me, and the Rain), wrap the value in double quotes in the CSV.Resolut accepts the following audio formats for bulk upload:
Files below 44.1 kHz sample rate or below 16-bit depth will fail the quality check stage of the validation pipeline. If you're uploading masters alongside a metadata CSV, make sure all files listed in the filename column are present in the same upload batch — missing files are flagged as errors, not warnings.
When you submit a bulk upload job, Resolut runs your batch through a multi-stage validation pipeline before any assets are committed to your catalog.
Resolut parses the CSV and verifies that all required columns are present and that the file is well-formed (no unclosed quotes, consistent column counts across rows). This stage fails fast — if your CSV is malformed, the entire job is rejected before any audio is inspected.
Each row is validated field by field:
CC-XXX-YY-NNNNN (hyphens optional, validated by regex)duration_seconds in the CSV against the actual audio file duration — discrepancies of more than 2 seconds are flaggedT-XXXXXXXXX-C formatResolut checks your existing catalog for potential duplicates by comparing title + artist + duration. Exact matches block the import with an error; near-matches (e.g., same title and artist, slightly different duration) are surfaced as warnings you can dismiss.
If you include ownership split data (via the splits columns or a companion splits CSV), Resolut verifies that splits for each asset sum to exactly 100%. Anything else is a blocking error.
ISRC_ALREADY_REGISTERED — That ISRC is already in your catalog. Either update the existing asset or leave the ISRC column blank to have Resolut assign a new one.FILE_NOT_FOUND — The filename in the CSV row doesn't have a corresponding file in the upload batch. Double-check for case differences (Track01.wav vs track01.wav).DURATION_MISMATCH — The declared duration and the actual audio duration don't align. Update the CSV value.SPLITS_DONT_SUM — Ownership percentages for a row add up to more or less than 100%.GENRE_UNKNOWN — The genre string isn't in Resolut's taxonomy. Either correct the value or proceed with the warning to use the closest match.Gather your audio files and your completed CSV into a single folder. Name the folder something descriptive — you'll reference this batch in your upload history.
From the main navigation, go to Catalog → Bulk Upload. You'll see your upload history and a "New Upload Batch" button.
Drag your audio files and your CSV into the upload area, or click to browse. Resolut accepts batches up to 5 GB per job. For larger catalogs, see the chunking tips below.
You can upload the CSV and audio files in any order — Resolut won't begin validation until it detects both a CSV file and at least one audio file in the batch, or until you click "Start Validation."
Once validation completes, you'll see a report broken down by stage and severity:
Click any row in the report to see exactly which CSV row and field triggered it.
If there are blocking errors, download the annotated CSV from the validation report. This is your original CSV with an appended _error column describing the issue for each failing row. Fix the flagged rows, re-upload just the corrected CSV (your audio files are already staged from the first upload), and click "Re-validate."
You can iterate on this loop as many times as needed — Resolut keeps your staged audio files for 72 hours.
Once the validation report shows zero errors (warnings are optional to dismiss), click Confirm Import. Resolut will process the batch in the background. For large batches, this may take several minutes. You'll receive an in-app notification and an email summary when processing completes.
For catalogs over 1,000 tracks, split your upload into batches of 500–1,000 rows. This makes validation reports easier to read and errors easier to isolate. It also means a single bad row doesn't hold up your entire catalog.
A practical approach: group tracks by album or release year. This way your batches are logically coherent and you can prioritize which releases to import first.
Establish a filename convention before you start and stick to it. Resolut's duplicate detection relies on filenames among other signals — inconsistent naming (e.g., mixing Artist - Title.wav with Title_Artist.wav) makes it harder to spot real duplicates vs. naming variations.
A reliable convention: ISRC_ArtistName_TrackTitle.wav, lowercase with hyphens for spaces. This makes each file uniquely identifiable at a glance.
You can save significant time by running a quick sanity check on your CSV before uploading any audio. Upload just the CSV file first, click "Validate CSV only," and resolve any structural or field errors before you ever upload a gigabyte of audio.
Resolut provides a downloadable blank CSV template from the Bulk Upload page with all supported columns pre-populated as headers and a sample row. Starting from this template is the fastest way to avoid header name mismatches.
Pro tip: If you're migrating from another platform, your existing metadata export is probably 80% of the way there. Open both the export and Resolut's template side by side in a spreadsheet editor and use column mapping (VLOOKUP or a quick script) to remap column names in bulk. Don't try to rename headers manually when you're dealing with 20+ columns — it's a reliable way to introduce a typo.
Once a batch is fully imported, each asset appears in your catalog with a Batch ID linking it back to the original upload job. You can filter your catalog by batch ID to review everything that came in together, export a manifest, or apply bulk edits (like adding assets to a bundle or updating territory restrictions across the whole batch).
Import history is retained indefinitely — you can always go back and audit what was uploaded in any given batch, who uploaded it, and when.
Learn the fundamentals of music rights management, including ownership splits, publishing rights, and master recording rights.
A step-by-step guide to setting up your organization, inviting collaborators, and uploading your first assets on the Resolut platform.
How an independent distributor used Resolut to manage a rapidly growing catalog while maintaining accurate rights data.