End CMS Asset Chaos

Reduce CMS bandwidth costs, eliminate overages, and serve assets through your own global edge proxy.

How It Works

A Simple Flow for Teams and Clients

CMS Assets places your edge proxy between your site and CMS provider. Without changing your content workflow, asset URLs are served through your own domain to reduce costs, improve control, and keep performance stable.

1. Connect Your CMS

Add a tenant, choose Prismic or Contentful, and provide repository/space settings.

2. Enable the Proxy

Every tenant gets a dedicated `*.cmsassets.com` domain for serving asset files.

3. Track Savings

Bandwidth is routed through your edge and reduces CMS overage costs.

For Developers

Transform CMS Responses in a Few Lines

`@synchronized-studio/response-transformer` automatically replaces Prismic or Contentful asset URLs with your CMS Assets domain, keeping integrations clean and consistent.

What You Get

  • - One helper for Prismic and Contentful
  • - Support for project-specific custom transformers
  • - Works on any JSON-serializable payload

Install

Add the package once and use the same helper for both CMS providers.

Copy command

npm install @synchronized-studio/response-transformer

Usage

import { transformCmsAssetUrls } from '@synchronized-studio/response-transformer'

const spaceId = 'exampleSpaceId'
const contentfulToken = process.env.CONTENTFUL_DELIVERY_TOKEN

const contentfulResponse = await fetch(
  `https://cdn.contentful.com/spaces/${spaceId}/environments/master/entries`,
  {
    headers: {
      Authorization: `Bearer ${contentfulToken}`,
    },
  }
)
const cmsData = await contentfulResponse.json()

const transformed = transformCmsAssetUrls(cmsData, {
  cms: 'contentful',
  spaceId,
  cmsAssetsUrl: 'https://assets.example.com',
})