- From a URL
- Upload it yourself
sha256 is optional; when you send it, a file that doesn’t match is refused, so an incomplete download can’t slip through.Accepted hosts
URLs must use HTTPS and come from one of these hosts:- Amazon S3 and CloudFront
- Google Cloud Storage
- Cloudflare R2
- Azure Blob Storage
- DigitalOcean Spaces
- Backblaze B2
- Wasabi
- Dropbox
Uploading yourself
1
Find the file ID
After the
PUT, the release shows the slot waiting for its file:2
Request an upload URL
contentType is image/jpeg or image/png for artwork, audio/wav or audio/flac for audio. sizeBytes is the exact size of the file.3
Upload the file
Send the file with The upload is refused if the file’s size doesn’t match
PUT to the returned uploadUrl, with the returned headers, within 6 hours:sizeBytes.4
Complete the upload
File status
Each file appears in the release with its status:
A file that breaks a requirement fails straight away with the reason, for example “The artwork file is 1200×1200; artwork must be at least 1400×1400”. A download that fails for network reasons is retried four more times over about an hour and a half before it’s marked
failed.
To fix a failed file, send the release again with a corrected file. Sending the same URL again retries it.
The requirements for each file type are in File requirements.
Replacing and keeping files
- Leave
artworkoraudioout of a laterPUTand the current file stays. - Send a different URL, or
upload: trueagain, to replace it.