> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloudinary

> Connect Cloudinary to your Atako agents — 9 read and 4 write actions.

Let your agents browse, search and organize your Cloudinary media library — assets, folders, tags, named transformations, upload presets and account usage — and import files from a URL.

## Connection

* **Authentication**: API key (API key and API secret, joined by a colon).
* **Required settings**:
  * **Cloud name** — Your product environment identifier, shown at the top of the Cloudinary Dashboard.

<Note>
  Cloudinary Console → Settings → API Keys (needs the Master admin, Admin or Technical admin role) → Generate New Access Key, confirm with the code sent by email, then copy the API Key and the API Secret. Paste them joined by a colon: API\_KEY:API\_SECRET. Your cloud name is shown at the top of the Dashboard (Product Environment section) and in the API environment variable on the API Keys page — enter it in the Cloud name field.

  See [Cloudinary's documentation](https://console.cloudinary.com/app/settings/api-keys).
</Note>

## Read actions (9)

| Action | Description |
| - | - |
| `get_resource` | Get the details of one asset by public ID (size, format, URLs, tags, context, derived assets). Arguments: public\_id (string, required, may contain folder slashes such as "product/shoe"), resource\_type ("image" \| "video" \| "raw", optional, default "image"), type (delivery type, optional, default "upload"), colors / media\_metadata / faces / pages / coordinates / related (booleans, optional: include those details), max\_results (integer 1–100, optional: derived assets returned). |
| `get_usage` | Get the account plan and current usage report: storage, bandwidth and transformation usage and limits, Admin API rate limits and other product environment usage data. No arguments. |
| `list_resources` | List assets of one resource type and delivery type, newest first. Arguments: resource\_type ("image" \| "video" \| "raw", optional, default "image"; use "video" for audio too), type (delivery type, optional, default "upload": "upload" \| "private" \| "authenticated" \| "fetch" \| …), prefix (string, optional: public IDs starting with it, then sorted by public ID), max\_results (integer 1–500, optional, default 10), next\_cursor (string, optional, from the previous page), start\_at (ISO 8601 date, optional, not with prefix), direction ("asc" \| "desc", optional), tags / context / metadata (booleans, optional: include them per asset). |
| `list_root_folders` | List the root folders (name, path and external\_id of each, up to 2000). No arguments. |
| `list_subfolders` | List the subfolders of a folder. Arguments: folder (string, required: full path of the parent folder, e.g. "product/shoe"), max\_results (integer 1–500, optional, default 10), next\_cursor (string, optional, from the previous page). |
| `list_tags` | List the tag names used on assets of one resource type. Arguments: resource\_type ("image" \| "video" \| "raw", optional, default "image"), prefix (string, optional: tags starting with it), max\_results (integer 1–500, optional, default 10), next\_cursor (string, optional, from the previous page). |
| `list_transformations` | List stored transformations. Arguments: named (boolean, optional: true = named transformations only, false = unnamed only, omitted = both), max\_results (integer 1–500, optional, default 10), next\_cursor (string, optional, from the previous page). |
| `list_upload_presets` | List upload presets (name, signed or unsigned, settings such as tags, folder, allowed formats, eager transformations). Arguments: max\_results (integer 1–500, optional, default 10), next\_cursor (string, optional, from the previous page). |
| `search_resources` | Search assets with a Lucene-like query expression (read-only query). Arguments, all optional: expression (string: field:value tokens combined with AND / OR / NOT or a leading "-", e.g. "resource\_type:image AND tags=sale AND uploaded\_at>1d", "shirt AND -tags:blue", "asset\_folder=product/shoes" (that folder only), "asset\_folder:product/\*" (and its subfolders), "format=png AND bytes>100000"; "=" is an exact match, ":" a token match; without it the newest assets are listed), sort\_by (array of one-key objects, e.g. \[\{"created\_at": "desc"}], values "asc" \| "desc"), max\_results (integer 1–500, default 10), next\_cursor (string, from the previous page, with the same other arguments), fields (string, comma-separated fields to return), with\_field (string: "context" or "tags", extra attribute to include). |

## Write actions (4)

| Action | Description |
| - | - |
| `create_folder` | Create an empty asset folder. Arguments: folder (string, required: full path of the new folder, e.g. "product/test"). |
| `rename_resource` | Change the public ID of an asset (its delivery URL changes). Arguments: from\_public\_id (string, required: current public ID), to\_public\_id (string, required: new public ID, may contain folder slashes), resource\_type ("image" \| "video" \| "raw", optional, default "image"), type (delivery type, optional, default "upload"), overwrite (boolean, optional: replace an existing asset with the target public ID), invalidate (boolean, optional: also invalidate CDN cached copies). |
| `update_resource` | Update one asset by public ID. Arguments: public\_id (string, required, may contain folder slashes), resource\_type ("image" \| "video" \| "raw", optional, default "image"), type (delivery type, optional, default "upload"), tags (string, optional: comma-separated tag names to assign, e.g. "summer,sale"), context (string, optional: pipe-separated key=value pairs, e.g. "alt=Red shoe\|caption=New"), display\_name (string, optional, no "/"), asset\_folder (string, optional: moves the asset to that folder path, not in legacy fixed folder mode). |
| `upload_from_url` | Import a file into Cloudinary from a public URL (Cloudinary fetches it; no binary upload). Arguments: file (string, required: http(s) URL of the file), resource\_type ("image" \| "video" \| "raw" \| "auto", optional, default "auto"), public\_id (string, optional), asset\_folder (string, optional: target folder path), tags (string, optional: comma-separated tag names), context (string, optional: pipe-separated key=value pairs), upload\_preset (string, optional: a preset name from list\_upload\_presets), overwrite (boolean, optional). |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.