Cloudinary Automation

Automate Cloudinary media management including folder organization, upload presets, asset lookup, transformations, and usage monitoring through natural language commands

Install

Hot:0

Download and extract to your skills directory

Copy command and send to OpenClaw for auto-install:

Download and install this skill https://openskills.cc/api/download?slug=composiohq-composio-skills-cloudinary-automation&locale=en&source=copy
name:Cloudinary Automationdescription:"Automate Cloudinary media management including folder organization, upload presets, asset lookup, transformations, and usage monitoring through natural language commands"requires:mcp:

Cloudinary 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:

  • folder -- full path of the new asset folder (required), e.g., images/events/2023
  • Supporting tools:

  • CLOUDINARY_SEARCH_FOLDERS -- search folders by name, path, or creation date using Lucene-like expressions

  • - expression -- search filter (e.g., name:sample AND path:events)
    - max_results -- 1-500 results (default 50)
    - sort_by -- list of sort objects (e.g., [{"created_at": "desc"}])
    - next_cursor -- pagination cursor
  • CLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDER -- list assets within a specific 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:

  • name -- preset name (auto-generated if omitted)

  • folder -- target folder path for uploads (e.g., samples/)

  • allowed_formats -- comma-separated list (e.g., jpg,png,webp)

  • tags -- comma-separated tags to apply (e.g., marketing,thumbnail)

  • transformation -- incoming transformation (e.g., c_limit,w_500)

  • eager -- eager transformations to generate on upload (e.g., c_fill,g_face,h_150,w_150)

  • unsigned -- allow unsigned uploads (true/false)

  • overwrite -- overwrite existing assets with same public_id (cannot be true when unsigned=true)

  • resource_type -- image, video, or raw (default image)

  • unique_filename -- append random suffix to avoid collisions (default true)

  • use_filename -- use original filename (default false)

  • moderation -- moderation type: manual, webpurify, aws_rek, etc.

  • auto_tagging -- confidence threshold 0.0-1.0 for AI auto-tagging

  • notification_url -- webhook URL for upload notifications
  • 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:

  • public_id -- the asset's public ID (required)

  • resource_type -- image, video, or raw (required)

  • type -- delivery type: upload, private, authenticated, fetch, etc. (required)

  • colors -- include color histogram and predominant colors

  • faces -- include detected face coordinates

  • media_metadata -- include IPTC, XMP, and detailed metadata

  • quality_analysis -- include quality analysis scores

  • phash -- include perceptual hash for similarity detection

  • versions -- include backed-up versions

  • related -- include related assets

  • max_results -- max derived/related assets to return (1-500)
  • 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:

  • CLOUDINARY_GET_TRANSFORMATIONS -- list all named and unnamed transformations

  • - max_results -- 1-500 (default 10)
    - next_cursor -- pagination cursor
  • CLOUDINARY_EXPLICIT_RESOURCE -- update an existing asset: pre-generate transformations, update metadata, move to new folders, or modify tags

  • - public_id -- target asset (required)
    - eager -- list of transformation strings to pre-generate (e.g., ["c_fill,w_300,h_200", "c_thumb,w_100,h_100,g_face"])
    - eager_async -- generate transformations asynchronously
    - tags -- replace existing tags
    - asset_folder -- move asset to a new folder
    - display_name -- set display name
    - context -- key-value metadata (e.g., {"alt": "Mountain view"})
    - invalidate -- invalidate CDN cache (takes up to 1 hour)
  • CLOUDINARY_DELETE_DERIVED_RESOURCES -- delete specific derived assets by IDs (up to 100 per call)
  • 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:

  • CLOUDINARY_GET_USAGE -- monitor storage, bandwidth, requests, and quota limits

  • CLOUDINARY_GET_CONFIG -- fetch environment config details

  • - settings -- set to true to include configuration settings like folder_mode
  • CLOUDINARY_GET_TAGS -- list all tags for a resource type
  • 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

    PitfallDetails
    Folder creation idempotencyCLOUDINARY_CREATE_FOLDER may error or no-op if the path already exists -- design idempotent folder naming
    Preset-upload alignmentUpload preset options like allowed_formats, folder, and unsigned must match the actual upload method or uploads will be rejected
    Strict asset lookupCLOUDINARY_GET_RESOURCE_BY_PUBLIC_ID fails if any of resource_type, type, or public_id is incorrect, even when the asset exists
    Folder path sensitivityCLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDER only lists assets in the exact folder specified; typos return empty results
    Quota blockingCLOUDINARY_GET_USAGE reflects account-level limits -- hitting caps silently blocks uploads until usage is checked and addressed
    CDN invalidation delaySetting invalidate=true on CLOUDINARY_EXPLICIT_RESOURCE takes up to 1 hour to propagate
    Unsigned vs overwrite conflictCannot set overwrite=true when unsigned=true in upload presets


    Quick Reference

    ActionTool SlugKey Params
    Create folderCLOUDINARY_CREATE_FOLDERfolder
    Search foldersCLOUDINARY_SEARCH_FOLDERSexpression, max_results
    List folder assetsCLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDERfolder path
    Create upload presetCLOUDINARY_CREATE_UPLOAD_PRESETname, folder, allowed_formats, tags
    Get asset detailsCLOUDINARY_GET_RESOURCE_BY_PUBLIC_IDpublic_id, resource_type, type
    List transformationsCLOUDINARY_GET_TRANSFORMATIONSmax_results, next_cursor
    Update/transform assetCLOUDINARY_EXPLICIT_RESOURCEpublic_id, eager, tags
    Delete derived assetsCLOUDINARY_DELETE_DERIVED_RESOURCESderived_resource_ids
    Get usageCLOUDINARY_GET_USAGE(none)
    Get configCLOUDINARY_GET_CONFIGsettings
    List tagsCLOUDINARY_GET_TAGSresource_type
    Create webhookCLOUDINARY_CREATE_TRIGGERevent type, URL


    Powered by Composio