External URL Image Transform#
Transform images from external URLs without uploading them to Snapkit. Fetch and process images from Slack profile pictures, external CDN images, and other sources with resizing, format conversion, and more.
Use Cases#
- Slack/Discord Avatars: Convert profile images to optimized sizes and formats
- External CDN Images: Transform images from other services to WebP/AVIF
- Quick Image Processing: Test image transformations without uploading
URL Format#
Basic Format#
GET https://cdn.snapkit.studio/external?url={encodedExternalURL}&transform={parameters}Important: The external URL in the
urlparameter must be URL-encoded. Without encoding, query parameters will not be parsed correctly.
| Plan | CDN Domain |
|---|---|
| Standard | cdn.snapkit.studio |
| Enterprise | Custom domain (e.g., cdn.yourcompany.com) |
Usage Examples#
Basic Transform (WebP)#
# Convert Slack avatar to WebP
# Original URL: https://ca.slack-edge.com/T04MAT2PXJ4-U0953CM4ZV3-ea508a85b199-512
curl "https://cdn.snapkit.studio/external?url=https%3A%2F%2Fca.slack-edge.com%2FT04MAT2PXJ4-U0953CM4ZV3-ea508a85b199-512&transform=format:webp"Resize + Format Conversion#
# Resize to 800px width + AVIF conversion
# Original URL: https://example.com/photo.jpg
curl "https://cdn.snapkit.studio/external?url=https%3A%2F%2Fexample.com%2Fphoto.jpg&transform=w:800,format:avif,quality:85"Complex Transform (Crop + Effects)#
# Square crop + grayscale
# Original URL: https://example.com/photo.jpg
curl "https://cdn.snapkit.studio/external?url=https%3A%2F%2Fexample.com%2Fphoto.jpg&transform=w:400,h:400,fit:cover,grayscale"Enterprise Custom Domain#
# Enterprise customers use their own CDN domain
# Original URL: https://example.com/image.jpg
curl "https://cdn.yourcompany.com/external?url=https%3A%2F%2Fexample.com%2Fimage.jpg&transform=w:600,format:webp"Transform Parameters#
External URL transforms support the same parameters as regular image transforms:
| Parameter | Type | Description |
|---|---|---|
w | number | Width (1-16384px) |
h | number | Height (1-16384px) |
format | string | jpeg, png, webp, avif, auto |
quality | number | Quality (1-100) |
fit | string | contain, cover, fill, inside, outside |
dpr | number | Device Pixel Ratio (1.0-4.0) |
View all transform parameters →
Limitations#
- File Size: Maximum 50MB
- Timeout: 60 seconds (including external server response)
- External Server Dependency: May fail depending on external URL server availability
- Content-Type Accuracy: External server's Content-Type should be accurate for optimal processing
Next Steps#
- Image Transform API - Full transform parameters reference
- Size & Layout - Detailed resize guide
- Best Practices - Optimization strategies
