| Layer | Default | Optional upgrade | What it controls |
|---|---|---|---|
| Hostname | cdn.convertly.sh | Custom domain (cdn.yourdomain.com) | Branding in browser devtools, emails, and social previews |
| Delivery key | cvly_pub_… token | Delivery alias (marketing, site, products) | Which workspace + key rotation without moving files |
| File identifier | Stored file UUID | CDN slug (hero-summer, catalog-card-01) or origin path | Which asset the URL resolves to |
Storage files: UUID by default
When you upload to Convertly Storage, every file gets an immutable internal id (UUID). CDN URLs use that id in the path:- Stable caching — the URL never changes when you rename the display filename in the file manager.
- Not enumerable — scrapers cannot guess other files in your workspace.
- Immutable asset pattern — upload a new version as a new file id when you want a fresh cache (see Replacing a file).
PATCH /api/files/{id} with filename) updates the label in Convertly Storage only. It does not change the CDN URL.
Optional CDN slugs
When you want a readable path segment instead of a UUID, set an optional CDN slug on the stored file. Slugs are off by default — nothing changes until you opt in.marketing as your delivery alias)
Slug rules
- 3–80 characters
- Lowercase letters, digits, hyphens, underscores
- Must start with a letter or digit
- Unique per workspace (409 if already taken)
- Reserved names (
api,cdn,v1, …) are blocked - Set
cdnSlug: nullto remove a slug and fall back to the UUID URL
UUID URLs still work
When a slug is set, both URLs resolve to the same file:Slugs vs folders
Folders organize files in the Convertly file manager. They do not appear in CDN URLs today.| Feature | In file manager | In CDN URL |
|---|---|---|
| Folder tree | Yes | No (not yet) |
| Display filename | Yes | No — use slug or UUID |
| Optional CDN slug | Yes (flat, one segment) | Yes — {slug} only, not folder/slug |
catalog/products/hero.jpg on Convertly Storage, use an origin source pointed at a public HTTPS bucket or site today. Folder-aware CDN paths for storage-backed files are on the roadmap.
Origin sources: path-based URLs
For assets on a public HTTPS origin (deployed site, public bucket, existing CDN) or a private bucket connected as an origin source, use origin sources:/o/{originSlug}/. This is the right choice when:
- Images live in your repo’s
public/folder on a deployed site - You already publish assets to a bucket with folder structure
- You want SEO-friendly paths without uploading to Convertly Storage
- Assets live in a private S3/R2/GCS/Azure bucket (connect with encrypted credentials in Image CDN → Sources)
Video poster URLs
Video files uploaded to Convertly Storage can serve poster images through the same delivery URL shape as images:Video clip URLs
Trim, resize, and transcode stored videos from the CDN — same delivery key, same file id:Delivery aliases
Delivery aliases replace the longcvly_pub_… token in URLs:
Custom domains
On Pro and above, bindcdn.yourdomain.com (or similar) to your workspace. The path structure is identical — only the hostname changes.
Set the hostname in your SDK config:
baseUrl (or NEXT_PUBLIC_CONVERTLY_CDN_HOST) in your app environment. See Custom domain.
Choosing an approach
Convertly Storage + UUID
Simplest default. Upload, copy file id, embed. Best when URLs stay internal or you rotate ids on updates.
Storage + CDN slug
Same as above but readable paths when you opt in. Good for marketing assets with stable public names.
Origin source + path
Assets stay on your site or bucket. Full folder paths. No Convertly upload required.
Alias + custom domain
Brand the hostname and key prefix. Works with UUID or slug file identifiers.
Next steps
Operations
Delivery keys, aliases, purge, security.
Custom domain
CNAME setup and SSL provisioning.