Awesome-claude-skills Cloudinary Automation
Automate Cloudinary media management including folder organization, upload presets, asset lookup, transformations, and usage monitoring through natural language commands
git clone https://github.com/ComposioHQ/awesome-claude-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComposioHQ/awesome-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/composio-skills/cloudinary-automation" ~/.claude/skills/composiohq-awesome-claude-skills-cloudinary-automation && rm -rf "$T"
composio-skills/cloudinary-automation/SKILL.mdCloudinary Automation
Automate Cloudinary media management workflows -- create folders, configure upload presets, look up assets, manage transformations, search folders, and monitor usage -- all through natural language.
Toolkit docs: composio.dev/toolkits/cloudinary
Setup
- Add the Rube MCP server to your environment:
https://rube.app/mcp - Connect your Cloudinary account when prompted (API key auth via Composio)
- Start issuing natural language commands for Cloudinary automation
Core Workflows
1. Organize Assets with Folders
Create folder structures for organizing hosted images, videos, and raw files.
Tool:
CLOUDINARY_CREATE_FOLDER
Key parameters:
-- full path of the new asset folder (required), e.g.,folderimages/events/2023
Supporting tools:
-- search folders by name, path, or creation date using Lucene-like expressionsCLOUDINARY_SEARCH_FOLDERS
-- search filter (e.g.,expression
)name:sample AND path:events
-- 1-500 results (default 50)max_results
-- list of sort objects (e.g.,sort_by
)[{"created_at": "desc"}]
-- pagination cursornext_cursor
-- list assets within a specific folderCLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDER
Example prompt:
"Create a folder called 'marketing/campaigns/spring-2026' in Cloudinary"
2. Configure Upload Presets
Define centralized upload behavior including target folder, allowed formats, transformations, tags, and overwrite rules.
Tool:
CLOUDINARY_CREATE_UPLOAD_PRESET
Key parameters:
-- preset name (auto-generated if omitted)name
-- target folder path for uploads (e.g.,folder
)samples/
-- comma-separated list (e.g.,allowed_formats
)jpg,png,webp
-- comma-separated tags to apply (e.g.,tags
)marketing,thumbnail
-- incoming transformation (e.g.,transformation
)c_limit,w_500
-- eager transformations to generate on upload (e.g.,eager
)c_fill,g_face,h_150,w_150
-- allow unsigned uploads (unsigned
/true
)false
-- overwrite existing assets with same public_id (cannot beoverwrite
whentrue
)unsigned=true
--resource_type
,image
, orvideo
(defaultraw
)image
-- append random suffix to avoid collisions (defaultunique_filename
)true
-- use original filename (defaultuse_filename
)false
-- moderation type:moderation
,manual
,webpurify
, etc.aws_rek
-- confidence threshold 0.0-1.0 for AI auto-taggingauto_tagging
-- webhook URL for upload notificationsnotification_url
Example prompt:
"Create an upload preset called 'product-images' that only allows JPG and PNG, stores in 'products/' folder, and auto-tags with 0.7 confidence"
3. Look Up Asset Details
Retrieve full details for a specific asset by its public ID, including metadata, derived assets, and related resources.
Tool:
CLOUDINARY_GET_RESOURCE_BY_PUBLIC_ID
Key parameters:
-- the asset's public ID (required)public_id
--resource_type
,image
, orvideo
(required)raw
-- delivery type:type
,upload
,private
,authenticated
, etc. (required)fetch
-- include color histogram and predominant colorscolors
-- include detected face coordinatesfaces
-- include IPTC, XMP, and detailed metadatamedia_metadata
-- include quality analysis scoresquality_analysis
-- include perceptual hash for similarity detectionphash
-- include backed-up versionsversions
-- include related assetsrelated
-- max derived/related assets to return (1-500)max_results
Example prompt:
"Get full details for the image 'products/hero-banner' including color analysis and quality scores"
4. Manage Transformations and Derived Assets
List existing transformations, apply eager transformations to uploaded assets, and clean up derived resources.
Tools:
-- list all named and unnamed transformationsCLOUDINARY_GET_TRANSFORMATIONS
-- 1-500 (default 10)max_results
-- pagination cursornext_cursor
-- update an existing asset: pre-generate transformations, update metadata, move to new folders, or modify tagsCLOUDINARY_EXPLICIT_RESOURCE
-- target asset (required)public_id
-- list of transformation strings to pre-generate (e.g.,eager
)["c_fill,w_300,h_200", "c_thumb,w_100,h_100,g_face"]
-- generate transformations asynchronouslyeager_async
-- replace existing tagstags
-- move asset to a new folderasset_folder
-- set display namedisplay_name
-- key-value metadata (e.g.,context
){"alt": "Mountain view"}
-- invalidate CDN cache (takes up to 1 hour)invalidate
-- delete specific derived assets by IDs (up to 100 per call)CLOUDINARY_DELETE_DERIVED_RESOURCES
Example prompt:
"Pre-generate a 300x200 fill crop and a 100x100 face-detection thumbnail for asset 'products/hero-banner'"
5. Monitor Usage and Configuration
Check account-level usage limits, environment configuration, and tag inventory.
Tools:
-- monitor storage, bandwidth, requests, and quota limitsCLOUDINARY_GET_USAGE
-- fetch environment config detailsCLOUDINARY_GET_CONFIG
-- set tosettings
to include configuration settings liketruefolder_mode
-- list all tags for a resource typeCLOUDINARY_GET_TAGS
Example prompt:
"Show me my Cloudinary account usage and remaining quota"
6. Set Up Webhook Triggers
Create webhook notifications for specific Cloudinary events.
Tool:
CLOUDINARY_CREATE_TRIGGER
Use to receive callbacks when uploads complete, transformations finish, or other events occur.
Example prompt:
"Create a webhook trigger that notifies https://my-app.com/hook on upload events"
Known Pitfalls
| Pitfall | Details |
|---|---|
| Folder creation idempotency | may error or no-op if the path already exists -- design idempotent folder naming |
| Preset-upload alignment | Upload preset options like , , and must match the actual upload method or uploads will be rejected |
| Strict asset lookup | fails if any of , , or is incorrect, even when the asset exists |
| Folder path sensitivity | only lists assets in the exact folder specified; typos return empty results |
| Quota blocking | reflects account-level limits -- hitting caps silently blocks uploads until usage is checked and addressed |
| CDN invalidation delay | Setting on takes up to 1 hour to propagate |
| Unsigned vs overwrite conflict | Cannot set when in upload presets |
Quick Reference
| Action | Tool Slug | Key Params |
|---|---|---|
| Create folder | | |
| Search folders | | , |
| List folder assets | | folder path |
| Create upload preset | | , , , |
| Get asset details | | , , |
| List transformations | | , |
| Update/transform asset | | , , |
| Delete derived assets | | |
| Get usage | | (none) |
| Get config | | |
| List tags | | resource_type |
| Create webhook | | event type, URL |
Powered by Composio