mcpField
C
cloudinary-upload

cloudinary-upload

github.com/mnhkahnクラウド・DevOps096 回インストール3 日前に更新
リポジトリ

cloudinary-upload について

cloudinary-upload は、公式の `cld` CLI を使って Cloudinary にファイルをアップロードするスクリプトです。個別ファイルと階層を保たないディレクトリのアップロードに対応し、画像は既定で WebP に変換し、ほかのファイルはそのまま扱います。

主な機能

  1. 01`cld` によるファイルのアップロード
  2. 02ディレクトリを単一フォルダーへアップロード
  3. 03画像を既定で WebP に変換
  4. 04画像の元形式を保持可能
  5. 05同じ public_id のアセットを上書き

活用シーン

  1. 01画像を Cloudinary のフォルダーへアップロード
  2. 02ブログ画像のディレクトリをアップロード
  3. 03元の形式を保ってアップロード

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mnhkahn/cyeam-cli --skill cloudinary-upload

インストール後、Claude Code で/cloudinary-uploadを入力して読み込まれたか確認します。

同梱ファイルscripts/upload-dir.shscripts/upload.sh

詳細

Cloudinary アップロード(公式 CLI)

公式 Cloudinary CLI(cld)を使用して、/admin/upload の処理(controllers/admin_controller.go と util/file_util.go を参照)を再現します。画像は保存時に webp に変換され、指定したフォルダーにアップロードされます(フラット形式で、フォルダー構造は保持されません)。

前提条件

  1. 公式 CLI(cld)がインストールされていない場合、初回使用時に自動でインストールされます(pip3 install --user cloudinary-cli を使用)。
  2. 認証情報には CLOUDINARY_URL を使用します(シークレットをハードコードしないでください)。
    export CLOUDINARY_URL=cloudinary://<api_key>:<api_secret>@<cloud_name>
    
    このプロジェクトのクラウド名は cyeam です。キー/シークレットは controllers/admin_controller.go 内の定数から取得するか、ユーザーに確認し、実行前に上記の URL をエクスポートしてください。 cld config で確認してください(cyeam クラウドが表示されます)。

単一/複数ファイルのアップロード

bash .agents/skills/cloudinary-upload/scripts/upload.sh -f uploads file1.png file2.jpg
  • -f FOLDER — Cloudinary のアップロード先アセットフォルダー(デフォルト:uploads)
  • -r — 元の形式を保持します(webp 変換をスキップします)

各ファイルは、拡張子を除いたファイル名を public_id としてアップロードされ、overwrite=True が設定されます(既存のバックエンドと同じです)。画像には format=webp が適用され、画像以外のファイルはそのままアップロードされます。

ディレクトリのアップロード(フラット形式)

bash .agents/skills/cloudinary-upload/scripts/upload-dir.sh -f blog-images ./my-images

ディレクトリ内の最上位にあるすべてのファイルを、1 つのアップロード先フォルダーにアップロードします。プロジェクトの方針により、フォルダー構造は保持されません。webp 変換をスキップするには -r を追加してください。

スクリプトの動作

動作方法
webp 変換画像に format=webp アップロードパラメーターを指定
アップロード先フォルダーfolder=<FOLDER>
上書きoverwrite=True(既存の /admin/upload と同じ)
public_id拡張子を除いたファイル名
画像以外のファイル変更せずにアップロード

内部で実行されるコマンドは次のとおりです。

cld uploader upload <path> public_id=<name> asset_folder=<folder> overwrite=True format=webp

よくある間違い

  • CLOUDINARY_URL が設定されていない → スクリプトはエラーで終了します。先にエクスポートしてください。
  • ディレクトリ構造を保持する → 代わりに cld upload_dir <dir> -f <folder> を直接使用してください。これらのスクリプトは意図的にフラット化します。
  • 画像以外を変換する → webp 変換は画像の拡張子にのみ適用されます。それ以外のファイルは変更せずにアップロードされます。

コメント