Basic
To transform and optimize your images and videos on delivery, you can pass the following fields to options.transformations in each build url method call or options in Transformer.transform call.
The list below is basic transformations for both videos and images. See additional image-only fields for image handling, or video-only fields for video handling.
You can use pre-defined constants for some transformation fields from @cld-apis/utils package.
resize
- Type:
Resizewidth:number | string- Target width
height:number | string- Target height
type:string- Mode to determine how to fit the image/video into the desired size.
- Accepted value for
type:imaggaScale|imaggaCrop|crop|fill|scale|minimumPad|fit|pad|limitFit|thumbnail|limitFill|minimumFit|limitPad|fillPad
aspectRatio:string- To determine how the asset is adjusted to the new size.
To resize an image/video according a certain width, height, aspect ratio and the desired crop mode.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
resize: {
type: "scale",
width: 500,
height: 500,
aspectRatio: "1.5",
},
},
});
See Resize type for more information.
background
- Type:
String
The background color to apply when using pad crop mode or converting to .jpg format.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
background: "#fffff",
format: "jpg",
},
});
effect
- Type:
EffectorVEffect(for video) - An available effect or array of effects to apply to asset.
Apply a filter or an effect on the desired asset. SeeEffects for images or Effects for videos for the full list of syntax and available effects.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
effect: {
name: "grayscale",
},
},
});
radius
- Type:
String|Number - Accepted value:
maxfor circular corner, or any pixels.
Round the specified corners of the desired image. If pass only a number or max, all corners will be applied. The syntax for other use cases is as below:
- Using 2 values:
top_left_bottom_right_radius:top_right_bottom_left_radius(Example:20:40) - Using 3 values:
top_left:top_right_bottom_left:bottom_right(Example:20:30:40) - Using 4 values:
top_left:top_right:bottom_left:bottom_right(Example:20:0:40:40)
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
radius: "20:0:40:40",
},
});
gravity
- Type:
String
Detemine which part of the image to cropped or to place the overlay. See Gravity documentation for list of accepted values and syntax.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
//apply AI to detect the main subject in the image.
gravity: "auto:subject",
},
});
rotate
- Type:
Rotation - Accepted values: any degree number, or
auto_right|auto_left|ignore|vflip|hflip
To rotate or flip a given asset by certain degrees, or automatically based on orientation.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
rotate: 90,
},
});
You can use import ROTATION_MODES from cloudinary-build-url to choose the desired rotation mode.
dpr
- Type:
String|Number
The target device pixel ratio for the asset. auto means automatically matching the DPR settings in user's device.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
dpr: "2.0",
},
});
overlay
- Type:
String
Create a layer over the base image. This can be use with position.x, position.y, gravity to customize the position of the overlay.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("face_top", {
cloud: {
cloudName: "demo",
},
transformations: {
gravity: "north",
overlay: "text:default_style:Hello+World",
},
});
format
- Type:
String - Default:
auto
Force format conversion of the desired asset to the given format.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
format: "png",
},
});
quality
- Type:
String|Number - Default:
auto
Control the compression quality of the target asset. Scale: 1 to 100 (%)
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
quality: 10,
},
});
if
Deprecated
- Type:
String
.Deprecated in 0.1.0. Please use condition instead.
Apply the transformation only if a condition is met.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
if: "w_gt_300",
effect: {
name: "e_oil_paint",
},
},
});
condition
v0.1.0+
- Type:
Conditionif-required- Type:
ConditionExpressionexpression-Expression[]characteristic- A string or array of strings with image characteristicsoperator- Conditional operators ()value- Value of the expression (StringorNumber)
transformations-TransformerOption[]- A set of transformations to apply when condition is met.
Required
- Type:
elsetransformations-TransformerOption[]- A set of transformations to apply when condition is met.
Required
Apply the transformation only if a condition is met.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
condition: {
if: {
expression: [{
characteristic: "width",
operator: "greaterThan",
value: 300
}],
transformations: [{
effect: {
name: "e_oil_paint",
}
}]
}
},
},
});
flags
v0.1.0+
- Type:
Flag|VFlag(video)
One of more flags to alter the default transformation behavior. See Flags for Images and Flags for Videos for more information.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
flags: "cutter",
},
});
colorSpace
- Type:
String
Color space to use for the delivery image url. See Color space Documentation for accepted values details.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
colorSpace: "srgb",
},
});
chaining
- Type:
TransfomerOption[]|TransformerVideoOption[](video)
An array of group transformations to apply to the asset.
import { buildImageUrl } from "cloudinary-build-url";
const url = buildImageUrl("example", {
cloud: {
cloudName: "demo",
},
transformations: {
resize: {
width: 500,
type: "scale",
height: 500,
},
chaining: [
{
effect: {
name: "grayscale",
},
},
],
},
});