Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

制限とフォーマット

最終更新 Markdown で表示Agent セットアップ

このセクションでは、Images の制限と対応フォーマットを説明します。


制限

Images で最適化するときに、次の制限を守ってください。

Enterprise プランの場合は、アカウントチームに連絡して、制限が要件に合うように調整できます。

リモート画像

Images の外に保存したリモート画像を変換する場合の制限です。

項目 制限
画像ファイルサイズ 100 MB
画像面積(アニメーション GIF を除く) 100 MP(例: 10,000x10,000 ピクセル)
アニメーション GIF の画像面積 100 MP*
画像の一辺(WebP と AVIF を除く) 12,000 ピクセル
画像の一辺(AVIF) 1,200 ピクセル

ホスト済み画像

Images ストレージへアップロードする場合の制限です。

項目 制限
画像ファイルサイズ 10 MB
画像面積(アニメーション GIF を除く) 100 MP(例: 10,000x10,000 ピクセル)
アニメーション GIF の画像面積 100 MP*
画像の一辺(WebP と AVIF を除く) 12,000 ピクセル
画像の一辺(AVIF) 1,200 ピクセル
画像のメタデータ 1024 バイト

アニメーション画像の制限

GIF/WebP アニメーションは、全フレームの合計メガピクセル(各フレームの面積の合計)で制限されます。たとえば、500x500、10 フレームの GIF の画像面積は 2,500,000 ピクセル(2.5 メガピクセル)です。

アニメーション GIF/WebP を配信できる上限は 100 メガピクセルです。ただし、50 メガピクセルを超えるアニメーションは、変換を適用せずに配信します。

アニメーションを配信するときは、パフォーマンスのため MP4 や WebM などの動画形式を推奨します。GIF は圧縮効率が低いため、高解像度のアニメーションはファイルサイズが大きくなり、圧縮にも時間がかかります。

リモート動画を最適化するには、メディア変換 を使えます。

Images binding の制限

Images binding で最適化する場合、.input() の最大入力サイズは 20 MB です。

対応フォーマット

入力フォーマット

Images は、リモート画像とホスト済み画像の両方で、幅広い入力フォーマットに対応しています。

  • PNG
  • JPEG
  • GIF(アニメーションを含む)
  • WebP(アニメーションを含む)
  • SVG
  • AVIF*
  • HEIC

*Enterprise プランで利用できます。

出力フォーマット

次の出力フォーマットで画像を配信できます。

  • PNG
  • JPEG
  • GIF(アニメーションを含む)
  • WebP(アニメーションを含む)
  • SVG
  • AVIF

リクエスト元のブラウザーに最適な出力フォーマットを選ぶとき、Cloudflare は画像の生成時間と、ブラウザーへの配信時間のバランスを取ります。

とくに AVIF のエンコードは、他のフォーマットより桁違いに遅くなることがあります。画像が大きくて AVIF へすばやくエンコードできない場合、Cloudflare は WebP または JPEG にフォールバックします。

Progressive JPEG

JPEG へトランスコードするとき、Cloudflare はインターレースの Progressive JPEG 形式で画像を生成します。

Progressive JPEG と Baseline JPEG のどちらを使うかは、format パラメーターで指定できます。

ただし、次のいずれかに当てはまる場合は、Progressive JPEG を指定しても Baseline JPEG にフォールバックします。

  • 出力画像の面積が 50x50 未満
  • 出力画像の面積が 3000x3000 超

SVG

Cloudflare は SVG ファイルをリサイズしません。最適化パラメーターも無視します。

Images に保存している場合は、事前定義した variant をプレースホルダーとして使い、サニタイズ済み SVG を配信できます。たとえば、デフォルトの public variant を適用すると、リサイズや切り抜きなしで SVG を配信できます。

imagedelivery.net/account_hash/svg_id/public

同様に、R2 など自前のオリジンに保存した SVG も、Images でサニタイズして配信できます。

SVG ファイルは、Cloudflare が安全性を高めるために開発したオープンソースツール svg-hush でサニタイズしてから配信します。バッファリングせずにストリーム処理するため、その場ですばやくフィルタできます。SVG ファイルは XML ドキュメントであり、リンクや JavaScript の機能を含められるため、セキュリティ上の懸念になることがあります。

svg-hush は SVG をフィルタし、次のようなリスクのある機能を取り除きます。

  • スクリプト。 SVG をクロスサイトスクリプティング攻撃に使えないようにします。ブラウザーは <img> タグ内のスクリプトを許可しませんが、SVG をトップレベルのドキュメントとして直接開いた場合はスクリプトを許可します。
  • 他ドキュメントへのハイパーリンク。 ハイパーリンクを除くと、SEO スパムやフィッシングに SVG が使われにくくなります。
  • クロスオリジンリソースへの参照。 第三者が、誰が画像を見ているかを追跡できないようにします。

役に立ちましたか?