Use the Cloudinary CLI from KosmoKrator to call Cloudinary tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.
Cloudinary can be configured headlessly with `kosmokrator integrations:configure cloudinary`.
# Install KosmoKrator first if it is not available on PATH.curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash# Configure and verify this integration.kosmokrator integrations:configure cloudinary --set access_token="$CLOUDINARY_ACCESS_TOKEN" --set cloud_name="$CLOUDINARY_CLOUD_NAME" --enable --read allow --write ask --jsonkosmokrator integrations:doctor cloudinary --jsonkosmokrator integrations:status --json
Credentials
Authentication type: Manual OAuth tokenoauth2_manual_token. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Key
Env var
Type
Required
Label
access_token
CLOUDINARY_ACCESS_TOKEN
Secret secret
yes
Access Token
cloud_name
CLOUDINARY_CLOUD_NAME
Text string
yes
Cloud Name
base_url
CLOUDINARY_BASE_URL
URL url
no
API Base URL
Call Cloudinary Headlessly
Use the generic call form when another coding CLI or script needs a stable universal interface.
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Cloudinary.
cloudinary.cloudinary_upload
Write write
Upload an image to Cloudinary. Provide a file URL or base64 data URI, an optional public ID, and an optional folder path. Returns the uploaded asset details.
List media resources in your Cloudinary cloud. Filter by resource type (image, video, raw) and prefix. Supports pagination with max_results and next_cursor.
Get details of a specific Cloudinary resource by its type and public ID. Returns full asset metadata including dimensions, format, URL, tags, and derived resources.
Get the currently authenticated Cloudinary user profile. Returns user name, email, and account details. Use this to verify that credentials are working.
Use these parameter tables when building CLI payloads without calling integrations:schema first.
cloudinary.cloudinary_upload
Upload an image to Cloudinary. Provide a file URL or base64 data URI, an optional public ID, and an optional folder path. Returns the uploaded asset details.
The file to upload — a remote URL (e.g. "https://example.com/photo.jpg") or a base64 data URI (e.g. "data:image/png;base64,...").
public_id
string
no
The public ID to assign to the uploaded asset. If omitted, Cloudinary generates a random ID.
folder
string
no
The folder to store the asset in (e.g. "blog/images").
cloudinary.cloudinary_list_resources
List media resources in your Cloudinary cloud. Filter by resource type (image, video, raw) and prefix. Supports pagination with max_results and next_cursor.
Resource type to list: "image", "video", or "raw". Defaults to "image".
max_results
integer
no
Maximum number of resources to return (max 500, default 10).
next_cursor
string
no
Pagination cursor from a previous response to get the next page.
prefix
string
no
Only include resources whose public ID starts with this prefix (e.g. "blog/").
cloudinary.cloudinary_get_resource
Get details of a specific Cloudinary resource by its type and public ID. Returns full asset metadata including dimensions, format, URL, tags, and derived resources.
Pagination cursor from a previous response to get the next page.
cloudinary.cloudinary_get_current_user
Get the currently authenticated Cloudinary user profile. Returns user name, email, and account details. Use this to verify that credentials are working.
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.