Platform Features

Everything your app needs for media

Upload images and videos via API. Get back optimized files delivered from a global CDN. No infrastructure to build or maintain.

Images

Automatic image optimization

Upload JPEG, PNG, HEIC, or GIF. We convert to WebP and generate thumbnails automatically. Reduce file sizes by up to 80% without visible quality loss.

  • WebP conversion with configurable quality
  • Thumbnails at 150px and 300px widths
  • EXIF metadata preserved or stripped
  • Original file always preserved
variants.json

  "original": "/abc123/photo.png",
  "webp": "/abc123/photo.webp",
  "thumb_150": "/abc123/thumb_150.webp",
  "thumb_300": "/abc123/thumb_300.webp"
video_variants.json

  "original": "/xyz789/video.mp4",
  "480p": "/xyz789/video_480p.mp4",
  "720p": "/xyz789/video_720p.mp4",
  "1080p": "/xyz789/video_1080p.mp4",
  "poster": "/xyz789/poster.jpg"
Video

Video transcoding built-in

Upload MP4, MOV, or WebM. We transcode to H.264 at multiple resolutions and extract poster frames. No FFmpeg setup required.

  • H.264 transcoding at 480p, 720p, 1080p
  • Automatic poster frame extraction
  • Web-optimized fast start (moov atom)
  • Duration and dimension metadata
Delivery

Global CDN delivery

All files served from Cloudflare's edge network. Sub-100ms response times from 300+ locations worldwide.

300+
Edge locations
<100ms
Typical latency
99.9%
Uptime SLA
Security

Presigned upload URLs

Generate secure upload URLs server-side. Clients upload directly to our infrastructure without exposing API keys. URLs expire after 15 minutes.

  • No API keys exposed to clients
  • Direct browser-to-CDN uploads
  • No file proxying through your servers
  • Configurable file size limits
presign.sh

# 1. Request presigned URL (server-side)

curl -X POST \
  -H "Authorization: Bearer $KEY" \
  /api/v1/upload/presign

# 2. Upload file (client-side, no auth)

curl -X PUT \
  --data-binary @photo.jpg \
  "$upload_url"
webhook_payload.json

  "event": "file.ready",
  "file_uuid": "abc-123...",
  "status": "ready",
  "variants": [
    "original", "webp",
    "thumb_150", "thumb_300"
  ],
  "timestamp": "2024-..."
Webhooks

Real-time notifications

Receive HTTP POST notifications when file processing completes. All webhooks are HMAC-SHA256 signed for verification.

  • HMAC-SHA256 signature verification
  • Automatic retries with exponential backoff
  • Configurable per API key
  • Delivery logs in dashboard
Management

API key management

Create multiple API keys with custom settings. Track usage per key, configure webhooks, set limits. Revoke anytime.

Multiple keys

Separate keys for dev, staging, production

Usage tracking

Monitor uploads, storage, bandwidth

Custom limits

Set max file size, storage quotas

Instant revoke

Disable compromised keys immediately

Ready to get started?

Sign in with GitHub and upload your first file in under 5 minutes.