Documentation Index

Fetch the complete documentation index at: https://cloudinary.com/documentation/llms.txt

Use this file to discover all available pages before exploring further.

Image & Video APIs

Transformation delivery types and flags

Last updated: Jun-03-2026

This page covers details of the Cloudinary video transformation URL that go beyond the basics: the delivery types that control how and where a video is stored and accessed, the transformation flags that modify default transformation behavior, and the verbose and non-verbose syntaxes available for specifying transformation option values.

Delivery types

The delivery type element of the URL provides an indication about the way the asset will be delivered, although in most cases, the delivery type value is determined at the time that the asset is stored in Cloudinary.

The following delivery type values are supported:

Delivery type Description Learn more
upload The default delivery type for uploaded assets. In most cases, this delivery type indicates that the asset is publicly available. However, there are options you can use to restrict access to assets with an upload delivery type. This includes strict transformations and access mode settings) Upload API
private The URL for the original asset can be accessed only with a signed URL. Transformed versions of the asset are publicly available (unless strict transformations are also defined). Uploading private assets
authenticated Both original and transformed versions of the asset can be accessed only with a signed URL or an authentication token. Uploading authenticated assets

Delivering authenticated assets
list Generates a list of assets that have a specified tag.
Note: This isn't a delivery type in the classic sense, in that it doesn't relate to an individual asset. However, to use this feature, you specify list in the delivery type element of the URL.
Client-side asset lists
fetch Enables transforming and delivering remote assets on the fly. Fetch remote media files

Tip
You can search for assets by delivery type using the Advanced Search in the Media Library. The most common types can be selected directly in the Type section of the General search tab. All other types can be selected from the More types list.

Transformation flags

Transformation flags alter default transformation behavior. In some cases, they alter the default behavior of the transformation URL as a whole. In other cases, they alter the behavior of one or more specific transformation parameters that must be used together in the same URL component.

In general, tens of flags are available that can alter delivery and format, cropping and positioning, overlays, and video-specific behaviors, such as concatenating, streaming, and animation, just to name a few.

For example:

  • fl_attachment alters the normal behavior of the overall transformation. Instead of delivering an asset in a web page, it causes the transformed media file to be downloaded as an attachment. This flag can be used independently of other transformations.

  • fl_relative modifies the way overlay resize parameters are evaluated. This flag can only be used in conjunction with the overlay (l_) parameter.

  • fl_layer_apply tells Cloudinary to apply all chained transformations, until a transformation component that includes this flag, on the last added overlay or underlay asset instead of applying them on the base asset. This flag acts as an indicator to close the layer section of the transformation, similar to a closing bracket. Placement definitions for how the layer should be applied, such as gravity and offsets are also defined in the component with this flag.

For details on all available transformation flags, see the flag section of the Transformation Reference.

Verbose vs non-verbose syntax

Some transformation parameters with multiple options offer two alternative syntaxes for defining the option values:

  • Verbose, unordered: Each option of the transformation (whether required or optional) is specified in the verbose format name_value and each option is separated by a colon (:) or semicolon (;) depending on the transformation.

    The options can be specified in any order, and you only need to include those that you want (or are required) to define.

    With this syntax, you can also choose to specify only the options for which you don't want to use default values and default values will be applied for the others.

  • Non-verbose, ordered: Transformation options are specified only by values, and must be entered in the pre-defined option order for that transformation. All values from the syntax to the left of the value you want to supply must also be entered.

Transformations that support both verbose and non-verbose URL syntax are indicated as such in the Transformation Reference. When both are supported, SDKs always output the verbose syntax.

Verbose vs non-verbose example

The progressbar effect supports the type, color, and width options, but you can specify them in a different order using verbose syntax. For example:

e_progressbar:width_5:type_frame:color_FF0000

Additionally, if you only want to change default behavior for the width (last) parameter, you could just specify:

e_progressbar:width_5

However, when using non-verbose syntax, you must specify the parameters in order. Therefore, even if you only want to change the default behavior of the color (second) option, you must still specify the value to use for the type (first) option:

e_progressbar:bar:FF0000

This applies the bar (default) type, your custom color, and also the default width (third option) of 10 pixels.

✔️ Feedback sent!

Rate this page:

one star two stars three stars four stars five stars