Migration approach
- Inventory transformations — export your most-used Cloudinary
c_,w_,h_,g_, andf_chains from templates or CMS config. - Upload or origin-link assets — Convertly Storage UUIDs/slugs or
/{namespace}/o/{slug}/{path}for existing HTTPS origins. - Map params (table below) and rebuild URLs as query strings.
- Replace upload SDK calls optionally — Convertly Files and Storage + Transfer API for bulk import; or keep origin fetch only.
- Validate signed AI transforms (
upscale,bgReplace, etc.) on staging with HMAC signing.
URL shape
| Cloudinary | Convertly |
|---|---|
https://res.cloudinary.com/{cloud}/image/upload/{transforms}/{public_id} | https://cdn.convertly.sh/{namespace}/{fileIdOrSlug}?{params} |
| Chained transforms in path | Single query string (order-independent for cache key) |
| Named eager transformations | Named presets (?preset=hero or /p/hero) |
Parameter mapping
Size, crop, and gravity
| Cloudinary | Convertly | Notes |
|---|---|---|
w_800,h_600,c_fill | w=800&h=600&fit=cover | |
c_fit | fit=contain | |
c_scale | fit=inside | |
c_pad | fit=contain&bg=… | Set pad colour with bg |
g_auto | gravity=smart or gravity=auto | smart = heavier content-aware pass |
g_face | gravity=face | |
g_xy_center,x_0.3,y_0.4 | fp=0.3,0.4 | Manual focal point |
ar_16:9,c_fill | ar=16:9&fit=cover |
Format and quality
| Cloudinary | Convertly | Notes |
|---|---|---|
f_auto | format=auto | WebP / AVIF from Accept |
f_webp, q_80 | format=webp&q=80 | |
q_auto | q=auto | Content-aware quality |
dpr_2.0 | dpr=2 |
Effects and adjustments
| Cloudinary | Convertly | Notes |
|---|---|---|
e_brightness:20 | bri=120 | Convertly uses absolute scale (100 = unchanged) |
e_contrast:10 | con=110 | |
e_saturation:-30 | sat=70 | |
e_blur:800 | blur=… | Different scales — tune by eye |
e_sharpen | sharp=… |
Overlays and text
| Cloudinary | Convertly | Notes |
|---|---|---|
l_…, overlay layers | watermark={fileId} | Single mark or markTile=grid |
| Text overlays | text=…&textSize=… | Text overlays |
AI and background
| Cloudinary | Convertly | Notes |
|---|---|---|
| Background removal | bgRemove=1 | All plans |
| Generative replace | bgReplace=… | Forma; signed URL |
| Object removal | objectRemovalRect=… | Forma; signed URL |
| Upscale / enhance | upscale=1 | Forma; signed URL |
Colour metadata
| Cloudinary | Convertly | Notes |
|---|---|---|
colors effect / palette API | ?palette=json on CDN URL | After transforms |
| Persistent palette | POST /api/images/analyze | Once per upload |
Privacy
| Cloudinary | Convertly | Notes |
|---|---|---|
| Face blur / pixelate | blurFaces=1, pixelateFaces=1 | |
| Custom region | blurRegion=x,y,w,h |
What Cloudinary users should expect
Strong fit- URL-based image delivery with global cache
- Smart crop, face crop, focal points, format auto
- Watermarks, text overlays, background removal
- Custom CDN hostname
- No transformation chain in the path — one flat query string; use presets for reuse
- Media platform bundled — conversion, compression, workflows, and Forma AI live in the same workspace as the CDN (Media Platform)
- Analyze endpoint — focal + palette persisted at upload instead of Cloudinary’s separate Admin API colour metadata
- Heavy reliance on Cloudinary video transformation chains (Convertly has video CDN params but a different feature depth)
- Cloudinary DAM UI and folder taxonomy (Convertly has folders and dashboard tools, different UX)
- Complex multi-layer composite templates — map to presets + watermarks or pre-compose in design tools
Example rewrite
CloudinaryNext steps
- Migrate from imgix — overlapping param names if you use both vendors today
- Smart cropping & image analysis
- Setup guide