> For the complete documentation index, see [llms.txt](https://docs.stackai.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stackai.com/integrations/catalog/cloudinary.md).

# Cloudinary

Upload, manage, and deliver Cloudinary media assets.

### Connectors

Choose the connector that matches your authentication method. The options below use the names shown in StackAI.

| Connector  | Authentication |
| ---------- | -------------- |
| Cloudinary | API secret     |

#### Cloudinary

Connect to Cloudinary with a cloud name, API key, and API secret.

**Set up in Cloudinary**

1. Prepare the Cloudinary account or service that the workflow will access. Grant access to the required resources and operations.
2. **Cloud name:** Your Cloudinary product-environment cloud name, shown in the Console.
3. **API key:** Your product-environment API key from the Cloudinary Console.
4. **API secret:** Your product-environment API secret from the Cloudinary Console.

**Set up in StackAI**

1. Open **Settings → Connections**, add a connection, and select **Cloudinary**.
2. Enter the credentials and connection details in the fields below.
3. Save the connection and check its connection status. Select this saved connection when configuring an action or feature that uses it.

**Connection fields**

| StackAI field | Required                 | What to enter                                                                       |
| ------------- | ------------------------ | ----------------------------------------------------------------------------------- |
| Cloud name    | Yes                      | Your Cloudinary product-environment cloud name, shown in the Console.               |
| API key       | Yes                      | Your product-environment API key from the Cloudinary Console.                       |
| API secret    | Yes                      | Your product-environment API secret from the Cloudinary Console.                    |
| API region    | Optional / as applicable | Select the API host for your product environment: api (default), api-eu, or api-ap. |

#### Verify the connection

Check that the connection is healthy. Then run a read operation against a resource the connected account can access. A successful connection check confirms authentication; it does not guarantee permission for every action.

If access is denied, check the credential or OAuth permissions, the selected account or environment, and access to the specific resource. Update expired credentials or reconnect after permissions change.

### Use an action

1. Add the required **Cloudinary** action to the workflow.
2. Select a connection when the action requests one.
3. Complete the required fields. Use the reference picker when a value comes from another workflow step.
4. Run the workflow and inspect the action’s output. Check the result before using it in a later step.

### Actions

#### Upload asset

Upload an image, video, or file from a URL, or report that its stable public ID already exists.

**Inputs**

| Field                            | Type            | Required | Description                                                                                                                                   |
| -------------------------------- | --------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Source URL                       | string          | Yes      | Public URL of the image, video, or file to upload.                                                                                            |
| Asset type                       | select (string) | No       | Let Cloudinary detect the file type or restrict the upload to one type. Available values: Auto-detect, Image, Video, Raw file. Default: auto. |
| Public ID                        | string          | Yes      | Choose a stable, unique name that prevents a retried upload from creating duplicate assets.                                                   |
| Asset folder (dynamic mode only) | string          | No       | In dynamic folder mode, place the uploaded asset in this Media Library folder.                                                                |
| Tags                             | string          | No       | Add comma-separated tags that make the asset easier to find.                                                                                  |

**Outputs**

| Field           | Type    | Description                                                                |
| --------------- | ------- | -------------------------------------------------------------------------- |
| Asset ID        | string  | Immutable identifier of the uploaded asset, when returned.                 |
| Public ID       | string  | Delivery identifier used by later Cloudinary actions.                      |
| Already existed | boolean | Whether Cloudinary kept an existing asset instead of uploading the source. |
| Asset type      | string  | Detected Cloudinary asset type, when returned.                             |
| Format          | string  | Stored file format.                                                        |
| Version         | integer | Version number for cache-safe delivery URLs, when returned.                |
| Width           | integer | Uploaded media width in pixels.                                            |
| Height          | integer | Uploaded media height in pixels.                                           |
| Bytes           | integer | Stored asset size in bytes, when returned.                                 |
| Hosted URL      | string  | HTTPS URL for the uploaded asset, when returned.                           |

#### Search assets

Search the Cloudinary media library by tags, folders, context, identifiers, or file properties.

**Required permissions:** `asset_management`.

**Inputs**

| Field             | Type     | Required | Description                                                                                      |
| ----------------- | -------- | -------- | ------------------------------------------------------------------------------------------------ |
| Search expression | textarea | Yes      | Describe which assets to match using Cloudinary search fields.                                   |
| Maximum results   | integer  | No       | Maximum number of assets to return in this workflow call. Minimum: 1. Maximum: 500. Default: 50. |
| Next cursor       | string   | No       | Continue a previous search with the same expression and maximum results.                         |

**Outputs**

| Field         | Type          | Description                                               |
| ------------- | ------------- | --------------------------------------------------------- |
| Assets        | object\_array | Structured assets that matched the search.                |
| Total matches | integer       | Number of assets Cloudinary reports for the search.       |
| Next cursor   | string        | Cursor for the next page, when more assets are available. |

#### Generate transformed URL

Create a signed Cloudinary URL that resizes, crops, and optimizes an asset.

**Inputs**

| Field         | Type            | Required | Description                                                                                                                                      |
| ------------- | --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Public ID     | string          | Yes      | Cloudinary asset to transform.                                                                                                                   |
| Width         | integer         | Yes      | Target width in pixels. Minimum: 1.                                                                                                              |
| Height        | integer         | No       | Optional target height in pixels. Minimum: 1.                                                                                                    |
| Resize mode   | select (string) | No       | Choose how Cloudinary fits the asset into the requested dimensions. Available values: Limit, Fit, Fill, Crop, Pad, Thumb, Scale. Default: limit. |
| Crop focus    | select (string) | No       | Choose which area stays visible when the resize mode crops. Available values: Auto, Face, Center, North, South, East, West.                      |
| Quality       | select (string) | No       | Let Cloudinary balance visual quality and file size. Available values: Auto, Auto: Best, Auto: Good, Auto: Eco, Auto: Low. Default: auto.        |
| Format        | select (string) | No       | Choose the delivered image or video format. Available values: Auto, AVIF, WebP, JPG, PNG, MP4, WebM. Default: auto.                              |
| Version       | integer         | No       | Use a specific uploaded asset version for cache-safe delivery. Minimum: 1.                                                                       |
| Asset type    | select (string) | No       | Cloudinary delivery asset type. Available values: Image, Video. Default: image.                                                                  |
| Delivery type | select (string) | Yes      | Cloudinary storage and delivery type for the asset. Available values: Upload, Private.                                                           |

**Outputs**

| Field           | Type   | Description                                              |
| --------------- | ------ | -------------------------------------------------------- |
| Transformed URL | string | HTTPS delivery URL for the requested transformed asset.  |
| Transformation  | string | Cloudinary transformation component embedded in the URL. |

#### Tag assets

Add searchable tags to one or more Cloudinary assets without replacing existing tags.

**Required permissions:** `upload`.

**Inputs**

| Field         | Type            | Required | Description                                                                                                                                                                                                                                                                                                              |
| ------------- | --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Public IDs    | array           | Yes      | Structured list of exact Cloudinary public IDs to tag.                                                                                                                                                                                                                                                                   |
| Tags          | array           | Yes      | Structured list of tags to add to every selected asset. Each array item is one tag; commas are not permitted.                                                                                                                                                                                                            |
| Asset type    | select (string) | No       | Type shared by the selected assets. Available values: Image, Video, Raw file. Default: image.                                                                                                                                                                                                                            |
| Delivery type | select (string) | No       | Delivery type shared by the selected assets. Available values: Upload, Private, Authenticated, Asset, Fetch, URL2PNG, Facebook, Twitter, Twitter name, Instagram, Instagram name, Gravatar, YouTube, Hulu, Vimeo, Animoto, Dailymotion, WorldStarHipHop, Multi, Sprite, Text, List, Media optimization. Default: upload. |

**Outputs**

| Field             | Type          | Description                                                                                           |
| ----------------- | ------------- | ----------------------------------------------------------------------------------------------------- |
| Tagged public IDs | string\_array | Assets Cloudinary reports as tagged.                                                                  |
| Requested tags    | string\_array | Normalized tags requested for every selected asset; Cloudinary does not return tags in this response. |

#### Delete asset

Permanently delete selected Cloudinary assets by public ID.

**Required permissions:** `asset_management`.

**Inputs**

| Field                 | Type            | Required | Description                                                                                                                                                                                           |
| --------------------- | --------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Public IDs            | array           | Yes      | Structured list of exact Cloudinary public IDs to delete.                                                                                                                                             |
| Asset type            | select (string) | Yes      | Type shared by the selected assets. Available values: Image, Video, Raw file.                                                                                                                         |
| Delivery type         | select (string) | Yes      | Delivery type shared by the selected assets. Available values: Upload, Private, Fetch, Authenticated, Facebook, Twitter, Gravatar, YouTube, Hulu, Vimeo, Animoto, WorldStarHipHop, Dailymotion, List. |
| Invalidate CDN copies | boolean         | No       | Ask Cloudinary to remove cached delivery copies after deletion. Default: false.                                                                                                                       |

**Outputs**

| Field            | Type   | Description                                       |
| ---------------- | ------ | ------------------------------------------------- |
| Deletion results | object | Per-asset deletion status returned by Cloudinary. |

### Important behavior

Actions that create, update, send, or delete data can change the connected service. Review their inputs before running them. A retry can repeat an operation; consider this when configuring retries for actions that change data.

The catalog lists the fields and capabilities available in the supplied provider definition. Availability can also depend on your deployment and organization’s Feature Access settings.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.stackai.com/integrations/catalog/cloudinary.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
