fshy

Home / Storage

Discord cloud uploads (direct-to-GCS, 500 MiB reservation)

docs.discord.food/topics/cloud-uploadsMessagingstorage/discord-cloud-uploadsJSONcomparereport an errorprovider JSON

Free allowance
Reserve an upload slot with POST /channels/{id}/attachments and PUT the body straight into Discord's Google Cloud Storage bucket — the reservation path accepts up to 500 MiB per file, independent of the 20 MiB message-time limit.
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
email?placeholder, not evidence; card unknown, phone unknown
Binding limit
per-object-cap500 MiB per file
Evidence
reported2 sources; a third party said so
Freshness
stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
Free tierReserve an upload slot with POST /channels/{id}/attachments and PUT the body straight into Discord's Google Cloud Storage bucket — the reservation path accepts up to 500 MiB per file, independent of the 20 MiB message-time limit. Note the file still hits the per-message limit when you actually send it, so 500 MiB only helps if the channel/boost tier allows it.
unit mixed; metered on stored-bytes
Pricenone stated
Limits
  • per-object-cap (binding) 500 MiB per file source
1-10 files per reservation call; is_clip flag grants a 100 MiB default; requires same permissions as normal attach; DELETE /attachments/{upload_filename} to clean up unused reservations.
Identityemail (placeholder) not published
EgressFree, unmetered, served from cdn.discordapp.com.
Per-object cap500 MiB per file (524288000 bytes)
Retentionnot stated
Interfacerest rest
ToolingDocumented unofficial-API reference (docs.discord.food, formerly 'userdoccers'); Python pseudocode in the page; used in production by large bots. No dedicated library needed — two HTTP calls.
Composes withUpload slots are per-channel, so the 500 MiB ceiling multiplies by channel count (500/server) rather than by account.
ReliabilityEndpoints are undocumented-but-stable and have moved URL shape before; a reservation you do not consume needs explicit deletion or it lingers.
Parsed numbers
  • has-free-tier 1
  • per-object-cap 500 MiB
Evidence 2
datesourcewhat it proved
2026-10-21docs.discord.food/topics/cloud-uploads'This allows you to upload up a file up to 500 MiB directly to Google Cloud. Note that file size limits will still apply when sending the attachment in a message.'
2026-10-21docs.discord.food/topics/cloud-uploads'When uploading a clip, an increased default file size limit of 100 MiB applies.'
More fields 1
unit notefree_tier.unit is 'mixed' because the headline is denominated in MiB or KiB, which the schema enum does not carry; the verbatim free_tier.stated keeps the true unit.
Unknown values 3
  • per object cap notes: the field may be stated in a source that was not read
  • retention notes: the field may be stated in a source that was not read
  • retention stated: the field may be stated in a source that was not read