MEDIA INFRASTRUCTURE
Open-source media service with on-the-fly image transforms, video processing, and a dead-simple API. One endpoint to upload. One CDN URL to serve. No vendor branding.
$ curl -X POST api.medialabs.app/v1/files/upload \
-H "Authorization: Bearer ml_abc..." \
-F "file=@hero.png"
{
"id": "ml_img_k9Xm2nQ8",
"cdnUrl": "https://cdn.medialabs.app/...",
"fileSize": 284102
}CAPABILITIES
Resize, crop, convert format on-the-fly via URL params. Powered by Cloudflare Image Resizing at the edge.
?w=300&h=200&f=webp&q=80Upload video, get HLS streaming automatically. Thumbnails, encoding status, and adaptive bitrate — all from your domain.
cdn.medialabs.app/video/{id}.m3u8One endpoint to upload. One URL to serve. API key auth via header. Built for AI agents that need zero onboarding.
Authorization: Bearer ml_...Nested folders, bulk operations, search, and filtering. Keep millions of assets organized across teams.
POST /v1/foldersServed from Cloudflare's network — 300+ locations. Aggressive caching, WebP/AVIF auto-negotiation, immutable URLs.
Cache-Control: immutable, 1yEverything served from your domain. No third-party branding anywhere. Fully white-labeled.
cdn.yourdomain.comINTEGRATION
A single REST API. Upload from any language, framework, or AI agent.
# Upload a file
curl -X POST https://api.medialabs.app/v1/files/upload \
-H "Authorization: Bearer ml_your_api_key" \
-F "file=@photo.jpg"
# Response
{
"id": "ml_img_a8kD3nX9qW2m",
"name": "photo.jpg",
"cdnUrl": "https://cdn.medialabs.app/acc_01/ml_img_a8kD.../original.jpg",
"fileType": "image",
"fileSize": 284102
}HOW IT WORKS
POST a file to the API or use a presigned URL for large uploads. Images, videos, documents — anything.
Add URL params for on-the-fly resizing, format conversion, and quality control. Cached at 300+ edge locations.
Get a CDN URL on your domain. Sub-50ms globally. WebP/AVIF auto-negotiated. Immutable cache headers.
Free tier included. No credit card required.