Cloudinary Automation
Cloudinaryのメディア管理ワークフローを自動化します。フォルダの作成、アップロードプリセットの設定、アセットの検索、変換の管理、フォルダの検索、使用状況の監視など、すべて自然言語で行えます。
ツールキットドキュメント: composio.dev/toolkits/cloudinary
セットアップ
- Rube MCPサーバーを環境に追加します:
https://rube.app/mcp - プロンプトに従ってCloudinaryアカウントを接続します(Composio経由のAPIキー認証)
- Cloudinary自動化のための自然言語コマンドを発行し始めます
コアワークフロー
1. フォルダでアセットを整理する
ホストされている画像、動画、生ファイルを整理するためのフォルダ構造を作成します。
ツール: CLOUDINARY_CREATE_FOLDER
主なパラメータ:
folder-- 新しいアセットフォルダのフルパス(必須)。例:images/events/2023
関連ツール:
CLOUDINARY_SEARCH_FOLDERS-- Luceneライクな式を使用して、名前、パス、作成日でフォルダを検索しますexpression-- 検索フィルター(例:name:sample AND path:events)max_results-- 1~500件の結果(デフォルト50)sort_by-- ソートオブジェクトのリスト(例:[{"created_at": "desc"}])next_cursor-- ページネーションカーソル
CLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDER-- 特定のフォルダ内のアセットを一覧表示します
プロンプト例:
「Cloudinaryに 'marketing/campaigns/spring-2026' というフォルダを作成して」
2. アップロードプリセットを設定する
対象フォルダ、許可される形式、変換、タグ、上書きルールなど、アップロードの中央集権的な動作を定義します。
ツール: CLOUDINARY_CREATE_UPLOAD_PRESET
主なパラメータ:
name-- プリセット名(省略時は自動生成)folder-- アップロード先のフォルダパス(例:samples/)allowed_formats-- カンマ区切りのリスト(例:jpg,png,webp)tags-- 適用するカンマ区切りのタグ(例:marketing,thumbnail)transformation-- 受信時の変換(例:c_limit,w_500)eager-- アップロード時に生成する即時変換(例:c_fill,g_face,h_150,w_150)unsigned-- 署名なしアップロードを許可するかどうか(true/false)overwrite-- 同じpublic_idの既存アセットを上書きするかどうか(unsigned=trueの場合はtrueにできません)resource_type--image、video、またはraw(デフォルトはimage)unique_filename-- 衝突を避けるためにランダムなサフィックスを追加するかどうか(デフォルトtrue)use_filename-- 元のファイル名を使用するかどうか(デフォルトfalse)moderation-- モデレーションタイプ:manual、webpurify、aws_rekなどauto_tagging-- AI自動タグ付けの信頼度しきい値 0.0~1.0notification_url-- アップロード通知用のWebhook URL
プロンプト例:
「'product-images' というアップロードプリセットを作成して。JPGとPNGのみ許可し、'products/' フォルダに保存し、信頼度0.7で自動タグ付けするように」
3. アセットの詳細を検索する
特定のアセットの詳細(メタデータ、派生アセット、関連リソースを含む)をpublic IDで取得します。
ツール: CLOUDINARY_GET_RESOURCE_BY_PUBLIC_ID
主なパラメータ:
public_id-- アセットのpublic ID(必須)resource_type--image、video、またはraw(必須)type-- 配信タイプ:upload、private、authenticated、fetchなど(必須)colors-- カラーヒストグラムと主要色を含めるかどうかfaces-- 検出された顔の座標を含めるかどうかmedia_metadata-- IPTC、XMP、詳細なメタデータを含めるかどうかquality_analysis-- 品質分析スコアを含めるかどうかphash-- 類似性検出のための知覚ハッシュを含めるかどうかversions-- バックアップされたバージョンを含めるかどうかrelated-- 関連アセットを含めるかどうかmax_results-- 返す派生/関連アセットの最大数(1~500)
プロンプト例:
「画像 'products/hero-banner' の詳細を、カラー分析と品質スコアを含めて取得して」
4. 変換と派生アセットを管理する
既存の変換を一覧表示し、アップロード済みのアセットに即時変換を適用し、派生リソースをクリーンアップします。
ツール:
CLOUDINARY_GET_TRANSFORMATIONS-- 名前付きおよび名前なしの変換をすべて一覧表示しますmax_results-- 1~500(デフォルト10)next_cursor-- ページネーションカーソル
CLOUDINARY_EXPLICIT_RESOURCE-- 既存のアセットを更新します: 変換の事前生成、メタデータの更新、新しいフォルダへの移動、タグの変更public_id-- 対象アセット(必須)eager-- 事前生成する変換文字列のリスト(例:["c_fill,w_300,h_200", "c_thumb,w_100,h_100,g_face"])eager_async-- 変換を非同期で生成するかどうかtags-- 既存のタグを置き換えますasset_folder-- アセットを新しいフォルダに移動しますdisplay_name-- 表示名を設定しますcontext-- キーと値のメタデータ(例:{"alt": "Mountain view"})invalidate-- CDNキャッシュを無効化します(最大1時間かかります)
CLOUDINARY_DELETE_DERIVED_RESOURCES-- 特定の派生アセットをIDで削除します(1回の呼び出しで最大100個)
プロンプト例:
「アセット 'products/hero-banner' に対して、300x200のフィルクロップと100x100の顔検出サムネイルを事前生成して」
5. 使用状況と設定を監視する
アカウントレベルの使用制限、環境設定、タグの在庫を確認します。
ツール:
CLOUDINARY_GET_USAGE-- ストレージ、帯域幅、リクエスト、クォータ制限を監視しますCLOUDINARY_GET_CONFIG-- 環境設定の詳細を取得しますsettings--trueに設定すると、folder_modeなどの構成設定を含めます
CLOUDINARY_GET_TAGS-- リソースタイプのすべてのタグを一覧表示します
プロンプト例:
「Cloudinaryアカウントの使用状況と残りクォータを表示して」
6. Webhookトリガーを設定する
特定のCloudinaryイベントに対するWebhook通知を作成します。
ツール: CLOUDINARY_CREATE_TRIGGER
アップロード完了時、変換終了時、またはその他のイベント発生時にコールバックを受信するために使用します。
プロンプト例:
「アップロードイベントが発生したときに https://my-app.com/hook に通知するWebhookトリガーを作成して」
既知の落とし穴
| 落とし穴 | 詳細 |
|---|---|
| フォルダ作成の冪等性 | CLOUDINARY_CREATE_FOLDERは、パスが既に存在する場合、エラーになるか何もしない可能性があります。冪等なフォルダ命名を設計してください |
| プリセットとアップロードの整合性 | allowed_formats、folder、unsignedなどのアップロードプリセットオプションは、実際のアップロード方法と一致している必要があります。一致しないとアップロードが拒否されます |
| 厳格なアセット検索 | CLOUDINARY_GET_RESOURCE_BY_PUBLIC_IDは、resource_type、type、public_idのいずれかが間違っていると、アセットが存在していても失敗します |
| フォルダパスの区別 | CLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDERは、指定された正確なフォルダ内のアセットのみを一覧表示します。タイプミスがあると空の結果が返ります |
| クォータによるブロック | CLOUDINARY_GET_USAGEはアカウントレベルの制限を反映します。上限に達すると、使用状況を確認して対応するまでアップロードが静かにブロックされます |
| CDN無効化の遅延 | CLOUDINARY_EXPLICIT_RESOURCEでinvalidate=trueを設定すると、反映までに最大1時間かかります |
| 署名なしと上書きの競合 | アップロードプリセットでunsigned=trueの場合、overwrite=trueを設定できません |
クイックリファレンス
| アクション | ツールスラッグ | 主なパラメータ |
|---|---|---|
| フォルダを作成 | CLOUDINARY_CREATE_FOLDER | folder |
| フォルダを検索 | CLOUDINARY_SEARCH_FOLDERS | expression、max_results |
| フォルダ内のアセットを一覧表示 | CLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDER | フォルダパス |
| アップロードプリセットを作成 | CLOUDINARY_CREATE_UPLOAD_PRESET | name、folder、allowed_formats、tags |
| アセットの詳細を取得 | CLOUDINARY_GET_RESOURCE_BY_PUBLIC_ID | public_id、resource_type、type |
| 変換を一覧表示 | CLOUDINARY_GET_TRANSFORMATIONS | max_results、next_cursor |
| アセットを更新/変換 | CLOUDINARY_EXPLICIT_RESOURCE | public_id、eager、tags |
| 派生アセットを削除 | CLOUDINARY_DELETE_DERIVED_RESOURCES | derived_resource_ids |
| 使用状況を取得 | CLOUDINARY_GET_USAGE | (なし) |
| 設定を取得 | CLOUDINARY_GET_CONFIG | settings |
| タグを一覧表示 | CLOUDINARY_GET_TAGS | resource_type |
| Webhookを作成 | CLOUDINARY_CREATE_TRIGGER | イベントタイプ、URL |
Powered by Composio