Rotas de leitura e assets
Uma rota de leitura do Proxy de mídia resolve um caminho para um arquivo armazenado e o retorna. Esses caminhos não possuem versão e ficam sob a URL base informada em endpoints.media pela descoberta da instância. A leitura de objetos estáticos utiliza endpoints.static_cdn.
Contrato compartilhado
Seção intitulada “Contrato compartilhado”Métodos e Autorização definem o contrato de todas as rotas listadas aqui. Nenhuma dessas rotas possui limitação de taxa por contagem de requisições.
Respostas comuns
Seção intitulada “Respostas comuns”Todas as rotas de mídia podem produzir estes status adicionais:
| Status | Corpo | Condição |
|---|---|---|
| 403 | Forbidden | A política de CORS recusou a Origin |
| 404 | Not found | O caminho não é uma rota válida ou o objeto não existe |
| 405 | Method not allowed | O método HTTP não é GET nem HEAD |
| 413 | Payload too large | O objeto excede o limite de 500 MiB |
| 502 | Bad gateway | Erro ao ler o armazenamento de objetos |
Obter anexo (Get attachment)
Seção intitulada “Obter anexo (Get attachment)”GET/attachments/{path}Retorna o anexo identificado pelo caminho, opcionalmente transformado.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| path | string | Caminho do objeto do anexo {channel_id}/{attachment_id}/{filename} |
Parâmetros de query
Seção intitulada “Parâmetros de query”| Campo | Tipo | Descrição |
|---|---|---|
| width? | integer | Largura desejada em pixels (1 a 16.384) |
| height? | integer | Altura desejada em pixels (1 a 16.384) |
| format? | string | Formato de saída desejado (png, webp, jpg, gif, etc.) |
| quality? | string | Perfil de qualidade (low, high, auto, lossless) |
| animated? | boolean | Se a saída deve preservar animação |
| effort? | integer | Esforço do encoder WebP (1 a 9) |
| download? | boolean | Força Content-Disposition: attachment |
| ex? | string | Expiração da URL assinada (8 dígitos hexadecimais) |
| is? | string | Momento de emissão da URL assinada (8 dígitos hexadecimais) |
| hm? | string | Assinatura HMAC da URL (64 dígitos hexadecimais) |
Obter mídia externa assinada (Get signed external media)
Seção intitulada “Obter mídia externa assinada (Get signed external media)”GET/external/{signature}/{target}Retorna mídias externas através do proxy seguro do Decoding Chat, opcionalmente transformadas. Utilizada em embeds, prévias de links e GIFs.
Obter CSS de tema (Get theme CSS)
Seção intitulada “Obter CSS de tema (Get theme CSS)”GET/themes/{path}Retorna a folha de estilo de temas personalizados com Content-Type: text/css; charset=utf-8.
Obter som de entrada (Get entrance sound)
Seção intitulada “Obter som de entrada (Get entrance sound)”GET/entrance-sounds/{user_id}/{filename}Retorna o áudio armazenado do som de entrada do usuário (mp3, ogg, m4a ou wav).
Contrato de assets de imagem
Seção intitulada “Contrato de assets de imagem”Assets de imagem são imagens servidas em dimensões e formatos otimizados (avatares, ícones, banners, emojis, figurinhas).
Rotas disponíveis
Seção intitulada “Rotas disponíveis”- Avatar de usuário:
GET /avatars/{user_id}/{hash}.{ext} - Ícone de servidor:
GET /icons/{guild_id}/{hash}.{ext} - Identidade visual da instância:
GET /branding/{entity_id}/{hash}.{ext} - Banner de usuário/servidor:
GET /banners/{owner_id}/{hash}.{ext} - Splash de servidor:
GET /splashes/{guild_id}/{hash}.{ext} - Avatar de membro de servidor:
GET /guilds/{guild_id}/users/{user_id}/avatars/{hash}.{ext} - Banner de membro de servidor:
GET /guilds/{guild_id}/users/{user_id}/banners/{hash}.{ext} - Imagem de emoji:
GET /emojis/{emoji_id}.{ext} - Imagem de figurinha (Sticker):
GET /stickers/{sticker_id}.{ext}
Obter objeto estático (Get static object)
Seção intitulada “Obter objeto estático (Get static object)”GET/{key}Retorna objetos brutos do bucket estático (avatares padrão, assets do cliente web), servido sob endpoints.static_cdn.

