Public Media Endpoints
These endpoints are publicly accessible and serve transformed media from S3 storage.Avatar Images
Retrieve and transform user avatar images.User ID
Avatar filename (e.g.,
avatar.png)Desired size in pixels (square output). Supported: 16, 32, 64, 128, 256, 512, 1024, 2048
Output format:
jpeg, png, webp, avif. Defaults to original format.JPEG/WebP quality (1-100). Default: 80
Example
Guild Icons
Retrieve and transform guild (server) icon images.Guild ID
Icon filename
Guild Banners
Retrieve and transform guild banner images.Guild ID
Banner filename
Desired width in pixels
Desired height in pixels
Guild Splashes
Retrieve guild splash images (invite backgrounds).Custom Emojis
Retrieve custom emoji images.Emoji ID with extension (e.g.,
123456789.png)Desired size in pixels
Stickers
Retrieve sticker images and animations.Sticker ID with extension (e.g.,
123456789.png)Guild Member Avatars
Retrieve guild-specific member avatars.Guild ID
User ID
Avatar filename
Guild Member Banners
Retrieve guild-specific member banners.Attachments
Retrieve message attachments with optional transformations.Channel ID
Attachment ID
Original filename
For images: resize to this size
Force download with
Content-Disposition: attachmentExample
Themes
Retrieve custom theme CSS files.Theme ID
Content-Type: text/css.
External Media Proxy
Proxy and cache external images with optional transformations.HMAC-SHA256 signature of the URL (hex encoded)
Base64-encoded external URL
Resize to this size (for images)
Convert to this format:
jpeg, png, webp, avifSignature Generation
Internal Endpoints
These endpoints require authentication via theX-Internal-Secret header and are used for server-side media processing.
Metadata Extraction
Extract metadata from uploaded media files.Media URL to process (S3 URL or external URL)
Media type hint:
image, video, audioRequest Example
Response Example
Thumbnail Generation
Generate video thumbnails.Video URL (must be in S3 uploads bucket)
Timestamp in seconds for thumbnail extraction. Default: 0
Thumbnail width. Default: 320
Thumbnail height. Default: 180
Request Example
Response
Returns the thumbnail image directly withContent-Type: image/jpeg.
Frame Extraction
Extract multiple frames from a video for preview/timeline generation.Video URL (must be in S3 uploads bucket)
Number of frames to extract
Frame width. Default: 160
Frame height. Default: 90
Request Example
Response Example
Health and Status
Health Check
Check if the media proxy is healthy and accepting requests.200 OK
Telemetry
Get service telemetry information.Image Transformation Parameters
Most image endpoints support these transformation parameters:Size Parameters
Square size (width = height). Common values: 16, 32, 64, 128, 256, 512, 1024, 2048
Width in pixels (use with height for aspect ratio control)
Height in pixels
Format Parameters
Output format:
jpeg, png, webp, avifQuality for lossy formats (1-100). Default: 80 for JPEG, 85 for WebP
Advanced Parameters
How to fit the image:
cover, contain, fill, inside, outside. Default: coverPosition when cropping:
center, top, bottom, left, right, entropy, attentionResponse Headers
All media responses include appropriate headers:Error Responses
Error responses are plain text for performance:400 Bad Request- Invalid parameters403 Forbidden- IP not allowed (Cloudflare protection)404 Not Found- Media not found500 Internal Server Error- Processing error
Next Steps
Media Proxy Overview
Learn about media proxy architecture
API Introduction
Return to API documentation