Media

Upload, transform, and deliver images at scale with Serbices

Upload images through the Serbices API and serve them through our optimized delivery layer. On-the-fly resizing, format conversion, and long-lived CDN caching are built in.

1 year
Cache TTL
JPEG, PNG, WebP
Formats
inside, cover
Resize modes

Key capabilities

Built for production workloads with enterprise requirements.

API-based uploads with immediate acknowledgement

Optional wait-for-upload when you need confirmation

Fast delivery via cdn.serbices.com

On-the-fly resizing and format conversion

Automatic cache headers for long-lived assets

Supports base64 and URL-based ingestion

Background CDN warm-up for frequently used sizes

Features

Everything you need to integrate and scale with confidence.

API Uploads

Send base64 payloads or source URLs through the Serbices API. The upload response returns the filename and delivery URL.

Media Inventory

List uploaded items per account or scope using the media listing endpoint.

Delivery Layer

Images are served from cdn.serbices.com with long-lived cache headers and optimized content types.

Transformations

Resize images with width/height, choose output format, and use fit modes without changing the stored original.

CDN Warm-up

Optionally specify target sizes to pre-warm the CDN right after upload for instant first render.

Consistent URLs

Stable filenames make caching predictable and simplify asset management across environments.

Observability

Requests include timing and status metadata to keep asset pipelines transparent.

Use cases

How teams use this service to solve real problems.

E-commerce

Product Catalogs

Resize and deliver product imagery across web and mobile experiences.

SaaS

User Uploads

Process avatars, profile headers, and UGC with consistent sizing rules.

Marketing

Marketing Assets

Generate multiple aspect ratios for ads, landing pages, and emails.

Media

Content Platforms

Serve editorial imagery with predictable performance and cache behavior.

API Reference

API documentation

Simple REST API with consistent patterns across all endpoints.

Endpoints

POST/media/v1/upload
GET/media/v1/items
GEThttps://cdn.serbices.com/:storedFilename

Example request

cURL
curl -X POST https://api.serbices.com/media/v1/upload \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk_live_xxx" \
  -d '{
    "filename": "hero-banner.jpg",
    "reference": "usr_93b1a2",
    "base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...",
    "scopeKey": "connection_123",
    "waitForUpload": false,
    "sizes": [
      { "width": 640, "height": 360, "mode": "fill" },
      { "width": 1280, "height": 720 }
    ]
  }'

Example response

JSON
{
  "success": true,
  "filename": "hero-banner.jpg",
  "storedFilename": "acc_example__connection_123__hero-banner.jpg",
  "reference": "usr_93b1a2",
  "url": "https://cdn.serbices.com/acc_example__connection_123__hero-banner.jpg",
  "status": "pending"
}

Simple, transparent pricing

Pay only for what you use. No hidden fees, no surprises.

Per GB stored + delivery
Starting at $0.02

Pricing depends on storage and CDN egress. Volume tiers available.

Ready to get started?

Talk with our team to learn how Media can help your platform scale.