Cloudinary の料金体系を理解しよう ― クレジット・ユニットの仕組みと利用量の確認方法
ベルリンより、クラスメソッド・ヨーロッパの伊藤です。
Cloudinary の料金には「クレジット」や「ユニット」が使われますが、その料金体系が分かりづらかったり、今どれくらい使っているのか確認したい場面があります。本記事では料金体系の仕組みを整理し、コンソールや API を使った利用量の確認方法を紹介します。
Cloudinary の料金プラン
Cloudinary の料金体系は、契約プランによって大きく2つに分かれます。
通常プランの場合
Free・Plus・Advanced などのセルフサービスプランは「クレジット」ベースの料金体系です。クレジットは以下3つの項目と換算レートでそれぞれ消費されます。
- 1クレジット =
- Transformations(変換) 1,000回(※ 動画は解像度に応じた特定の変換秒数でカウント)
- Storage(ストレージ) 1 GB
- Bandwidth(帯域幅) 1 GB
たとえば無料プランで25クレジットが付与されていると、最大で「変換5,000回 + ストレージ10 GB + 帯域幅10 GB」のように自由に組み合わせて利用できます。
月間クレジットは月初に 25 へリセットされるわけではなく、常に過去30日間で計測します。
参考:How do Cloudinary credits work?、How does Cloudinary count my plan's quotas and what does every quota mean?
Enterprise プランの場合
弊社からリセールする場合はお客様にこの Enterprise プランを提供しています。
Enterprise プランも似た料金体系ですが、「ユニット」という単位が使われ、1ユニットあたりの換算レートは契約内容によって異なります。
Transformations・Storage・Bandwidth に加え、契約によっては以下の項目で換算されます。
- Image Impressions:画像が正常に配信された回数(画像の Bandwidth の代わりに換算)
- Video Seconds:動画の配信秒数(動画の Bandwidth の代わりに換算)
具体的な形態は契約により異なりますが、基本的には暦月でなく billing cycle (請求サイクル)でユニット数を取り決めて使用し、もしサイクル期間内で利用上限を超えた場合は超過料を支払うという仕組みです。
参考:How do Cloudinary units work?
Cloudinary コンソールで利用量を確認
Cloudinary コンソールの Dashboard を開くと利用量の概要を確認できます。

[Credit Details] をクリックすると、適用される換算レートを確認することができます。(確認には Master admin 権限が必要)
今回検証に使用した環境は無料プランなので、上述「通常プラン」の換算レートの通りです。

Usage Reports や Delivery Reports では最大過去12ヶ月間の項目ごと利用量を具体的に確認できます。グラフで詳しく分析でき、各結果をCSVやPDF形式でエクスポートできます。

なお、Dashboard 冒頭のクレジット(ユニット)の消費バランスはアカウント全体のものですが、 Usage & Delivery Reports は各環境(クラウド)単位で出力されるので、ひとつのアカウント内で複数環境を保有する場合は左上から環境を切り替えてそれぞれ確認します。
API で利用量を取得
usage() は日次の利用量と消費ユニット(クレジット)を取得するメソッドです。
const cloudinary = require("cloudinary").v2;
const fs = require("fs");
cloudinary.config({ cloud_name: "...", api_key: "...", api_secret: "..." }); // 認証
cloudinary.api.usage().then((r) => {
fs.writeFileSync("latest_usage.json", JSON.stringify(r, null, 2));
});
結果:
{
"plan": "Free",
"last_updated": "2026-04-01",
"date_requested": "2026-04-02T00:00:00Z",
"transformations": {
"usage": 26,
"credits_usage": 0.03,
"breakdown": {
"transformation": 26
}
},
"objects": {
"usage": 541
},
"bandwidth": {
"usage": 9227721,
"credits_usage": 0.01
},
"storage": {
"usage": 295753639,
"credits_usage": 0.28
},
"impressions": {
"usage": 41,
"credits_usage": 0
},
"seconds_delivered": {
"usage": 0,
"credits_usage": 0
},
"credits": {
"usage": 0.32,
"limit": 25,
"used_percent": 1.28
},
"resources": 130,
"derived_resources": 411,
"requests": 43,
"aws_rek_tagging": {
"usage": 1,
"limit": 50
},
"cloudinary_ai": {
"usage": 20,
"limit": 15
},
"media_limits": {
"image_max_size_bytes": 10485760,
"video_max_size_bytes": 104857600,
"raw_max_size_bytes": 10485760,
"image_max_px": 25000000,
"asset_max_total_px": 50000000
},
"rate_limit_allowed": 500,
"rate_limit_reset_at": "2026-04-02T09:00:00.000Z",
"rate_limit_remaining": 499
}
呼び出しは date オプションで取得日を指定できます(例:usage({ date: "2026-04-01" }))。省略した場合は最新データが返されます。
credits.usage にリクエスト日のユニット消費数が返されますが、オプション指定なしの場合にのみ limit (クレジット上限/契約ユニット数)と used_percent(クレジット/ユニット使用率)も含まれるようです。
使用量から換算レートを元に手動で計算してみると:
transformations: 26 / 1,000 (1K) = 0.026 → 0.03 ✅bandwidth: 9227721 / 1,073,741,824 (1GiB) = 0.008… → 0.01 ✅storage: 295753639 / 1,073,741,824 (1GiB) = 0.275.. → 0.28 ✅
クレジットの消費数も正しいようです。
なお、換算レートには「1 GB」とありますが、今回計算が合わなかったためサポートに確認したところ、実際には「1 GiB」で計算されているとのことでした。(つまりちょっとお得)
Quota Dashboard でユニット消費をまとめて確認
Enterprise Plan ではベータ版の Quota Usage (Quota Dashboard) というページが提供されており、最も簡単にユニット数を分析できます。
現時点でコンソールの Home > Quota Dashboard または Settings > Billing > Quota Usage からアクセスできます。
※ 確認には Master admin 権限が必要

こちらのアカウントの例では請求サイクル(2025年6月17日〜2026年6月16日)で契約ユニット数60のうち、24.72 がすでに使用されていることになります。
「Cycle Progress」では請求サイクル期間における経過率とユニット消費率を比較できて分かりやすいです。
他にも現時点で以下のような情報が確認できました。
- Usage by Product Environment (環境別の消費ユニット数)
- Usage Summary (月別の消費ユニット数)
- Units Used by Metric(月別・メトリクス別の消費ユニット数)
- Storage Usage by Asset Type(アセットタイプ別のストレージ消費ユニット数)

サポートに問い合わせたところ、現時点ではまだ Beta 版のため請求・監査目的で使用する値としては保証できないとのことでしたが、推奨された API usage() メソッドを請求サイクルの期間で繰り返し実行して合計したところ、数値が一致することを確認しました。
Python スクリプト
from datetime import date, timedelta
import cloudinary, cloudinary.api
cloudinary.config(
cloud_name="クラウド名",
api_key="APIキー",
api_secret="APIシークレット",
)
START = "2026-02-17"
END = "2026-03-16"
d0, d1 = date.fromisoformat(START), date.fromisoformat(END)
dates = [(d0 + timedelta(n)).isoformat() for n in range((d1 - d0).days + 1)]
rows = []
for day in dates:
r = cloudinary.api.usage(date=day)
t, b, s, i = r["transformations"], r["bandwidth"], r["storage"], r["impressions"]
rows.append({
"t_credits": t["credits_usage"],
"b_credits": b["credits_usage"],
"s_credits": s["credits_usage"],
"i_credits": i["credits_usage"],
})
total_t = sum(r["t_credits"] for r in rows)
total_b = sum(r["b_credits"] for r in rows)
total_s = max(r["s_credits"] for r in rows)
total_i = sum(r["i_credits"] for r in rows)
print(f"t_credits: {total_t:.2f}")
print(f"b_credits: {total_b:.2f}")
print(f"s_credits: {total_s:.2f} (max)")
print(f"i_credits: {total_i:.2f}")
print(f"total: {total_t + total_b + total_s + total_i:.2f}")
※ Storage だけは合計でなく期間中の最大値で計算
結果(環境①)
t_credits: 0.00
b_credits: 0.00
s_credits: 0.12 (max)
i_credits: 1.80
total: 1.92
結果(環境②)
t_credits: 0.00
b_credits: 0.00
s_credits: 0.02 (max)
i_credits: 0.50
total: 0.52
→アカウント合計 2.44 ✅
usage() は API キーを発行した環境単位で実行されるため、複数環境ある場合は合計する必要がありますが、逆に Quota Usage では環境ごとの詳細な分析はできないため、柔軟な分析をするにはスクリプトが便利です。
以上、ユーザの皆様が少しでも安心して Cloudinary をご利用できますよう!






