What changed
Glide has migrated image delivery from Cloudinary to ImageKit.io across all plans. For most apps, this is invisible. However, if you built your own image URLs by hand (for example, in a Template or If > Then > Else column to auto-focus on faces) using the res.cloudinary.com/glide/image/fetch/... format, some of those custom URLs may stop displaying in your published app. They often still open in a browser or in the Builder, which can make the problem look inconsistent.
This guide shows how to convert those custom URLs to the ImageKit format.
Quick fix
A Cloudinary fetch URL looks like this:
https://res.cloudinary.com/glide/image/fetch/TRANSFORMS/IMAGE_URL
The ImageKit equivalent looks like this:
https://ik.imagekit.io/glideapps/fetch/tr:TRANSFORMS/IMAGE_URL
To convert a URL:
Replace
https://res.cloudinary.com/glide/image/fetch/withhttps://ik.imagekit.io/glideapps/fetch/tr:Convert each transformation token using the table below (keep them comma-separated).
Leave the image URL at the end unchanged.
Example: face focus and cropping
This is the most common custom recipe. The old Cloudinary version was:
https://res.cloudinary.com/glide/image/fetch/c_thumb,g_faces/{IMAGE}
How you convert it depends on your photos:
Single person (tight, face-centered square):
https://ik.imagekit.io/glideapps/fetch/tr:w-500,h-500,fo-face/{IMAGE}
Photos that may contain more than one person (resize only, keep everyone in frame):
https://ik.imagekit.io/glideapps/fetch/tr:w-500,c-at_max/{IMAGE}
Replace {IMAGE} with your photo URL, exactly as you did before. Adjust w-500 / h-500 to suit your layout.
Supported transformation tokens
Cloudinary | ImageKit | What it does |
|
| Width in pixels |
|
| Height in pixels |
|
| Scale down to fit, never upscale, no cropping |
| (omit) | ImageKit crops to fill automatically when both width and height are set |
|
| Focus the crop on a detected face |
|
| Focus the crop on the center |
| (omit) | ImageKit optimizes format and quality automatically |
|
| Force a specific output format |
Important limitations
Only the tokens above are supported. Any other Cloudinary token (for example
c_thumb,c_crop,c_scale,c_pad, the singularg_face, effects likee_..., or radius liker_...) will not convert, and the image will fail to load. Rebuild the URL using only the supported tokens.Use
fo-face, notfo-auto. ImageKit'sfo-autois not supported by Glide's image delivery and will break the image. Onlyfo-faceandfo-centerwork for focus.Focus only applies when the image is actually cropped. For
fo-faceto take effect, you must set both a width (w-) and a height (h-). With only one dimension, the image is resized rather than cropped, so focus has no visible effect.Face focus targets a single person.
fo-faceZooms to the most prominent face in the image, so a square crop of a group photo will cut other people out. For photos that may contain more than one person, use a resize-only recipe (w-500,c-at_max) so everyone stays in frame.
Simplest and most future-proof option
If you only need the image resized to fit your component, you do not need a custom URL at all. Point the field directly at the plain photo URL and let the Card component size it. This avoids hardcoding any CDN URL and keeps your app insulated from future changes to image delivery.
