• ガイド
  • Assets API

Assets APIの概要

Table of contents

Assets APIとは

Newtにアップロードされた画像・動画・書類などのファイルの取得と操作を可能にするAPIです。CDN経由でデータを取得でき、Webサイト・アプリケーションのパフォーマンスを向上させることができます。
またクエリパラメータを利用して、簡単にファイルのフォーマット変更やリサイズを行えます。
詳細については リファレンス をご確認ください。

※ 2023/5/29以前に作成されたスペースでは、デフォルトでAssets APIがオフとなっています。有効化する場合は、こちら のドキュメントをご確認ください。

Asset APIのURLと画像・ファイルの取得

例えば画像フィールドを利用している場合、コンテンツのJSONデータは以下のようになります。

{
  "image": {
    "_id": "610b77253adec80018727d57",
    "src": "https://xxxxx.assets.newt.so/v1/c3da2899-5345-4368-b23b-f7a2b81bc0ab/example.jpeg",
    "fileType": "image/jpeg",
    "fileName": "example.jpeg",
    "fileSize": 2403201,
    "width": 600,
    "height": 400,
    "title": "example",
    "altText": "example image",
    "description": "",
    "metadata": {}
  }
}

この src に設定されている https://xxxxx.assets.newt.so/v1/c3da2899-5345-4368-b23b-f7a2b81bc0ab/example.jpeg のようなURLがAssets APIのURLとなります。
URLの構成要素は以下の通りです。

https://{spaceUid}.assets.newt.so/v1/{assetUid}/{assetName}
https://xxxxx.assets.newt.so/v1/c3da2899-5345-4368-b23b-f7a2b81bc0ab/example.jpeg

このURLにアクセスすることで、画像を表示したり、ファイルをダウンロードすることができます。

CDNを利用した配信

Assets APIを利用すると、画像や動画などのファイルはグローバルに分散されたCDNを経由して配信されます。
クエリパラメータを利用して加工したファイルについてもキャッシュされるため、高速なレスポンスを返すことができます。

様々なクエリ

クエリパラメータを利用することで、以下のことを実現できます。

  • 画像・動画のサイズ変更
  • 画像の品質変更
  • ファイルのフォーマット変更
  • ダウンロード用のリンクの作成

それぞれの詳細については リファレンス をご確認ください。

変換可能なフォーマットは以下の通りです。

変換前変換後
JPEGpng, webp, avif, tiff
PNGjpeg, webp, avif, tiff
WEBPjpeg, png, avif, tiff
AVIFjpeg, png, webp, tiff
TIFFjpeg, png, webp, avif
SVGjpeg, png, webp, avif, tiff
MP4webm
MOVmp4, webm
WEBMmp4
AVImp4, webm
DOCdocx, pdf
DOCXdoc, pdf
XLSxlsx, csv, pdf
XLSXxls, csv, pdf
PPTpptx, pdf
PPTXppt, pdf

これらのクエリを利用することで、Newtには1つだけファイルをアップロードしておき、そこからページごとに最適なサイズやフォーマットに変換してデータを取得できます。

例えば以下のようなことを実現できます。

ページごとに最適なサイズ・品質で取得する

オリジナルで利用する場合、サムネイルで利用する場合、アイコンで利用する場合など、表示サイズに応じて、取得するサイズや品質を設定できます。

// サムネイルで利用する場合
?width=600
// アイコンで利用する場合
?width=100&quality=50

ブラウザごとに最適なフォーマットで取得する

pictureタグを利用して、ブラウザが webp 形式に対応していればwebpの画像を表示し、対応していない場合は jpegpng などで表示できます。

// webp形式に変換
?format=webp
// jpeg形式に変換
?format=jpeg

ダウンロードリンクを複数用意する

ユーザーが選択できるように、複数の形式でダウンロードリンクを用意できます。

// xlsx形式に変換
?format=xlsx&download=example.xlsx
// pdf形式に変換
?format=pdf&download=example.pdf

制限

Assets APIの利用には以下の制限があります。ご注意ください。

  • 外部ストレージを有効にしている場合は、適用されません
  • 20MB以上のファイルの場合は、適用されません
  • 画像・動画以外のファイルで、フォーマット変更を行えるのは有料プランのスペースのみとなります
  • 2023/5/29以前に作成したスペースで有効化する場合は、こちら のドキュメントをご確認ください。

詳細については リファレンス をご確認ください。

NewtMade in Newt