fshy

fshy / Storage

Discord cloud uploads

discord.food · Storage · 1 record · JSON

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

caveatemail?card?Rper-object-cap

docs.discord.food/topics/cloud-uploads · messaging · storage/discord-cloud-uploads · JSON · compare

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
Per-object cap500 MiB per file (524288000 bytes)
Retentionnot stated
EgressFree, unmetered, served from cdn.discordapp.com.
Identityemail (placeholder) not published
Limits
  • per-object-cap 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.
Bindingper-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota
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.
NotesReserve 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.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-object-cap 500.0 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_note": "free_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. See the storage-dossier handover."
}
Unknown or withheld values (6)
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted