• ガイド
  • Assets API

概要

Table of contents

  1. Assets APIとは
  2. Asset APIのURLと画像・ファイルの取得
  3. CDNを利用した配信
  4. 様々なクエリ
  5. ページごとに最適なサイズ・品質で取得する
  6. ブラウザごとに最適なフォーマットで取得する
  7. ダウンロードリンクを複数用意する
  8. 制限

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を経由して配信されます。
クエリパラメータを利用して加工したファイルについてもキャッシュされるため、高速なレスポンスを返すことができます。

様々なクエリ

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

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

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

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

変換前 変換後
JPEG png, webp, avif, tiff
PNG jpeg, webp, avif, tiff
WEBP jpeg, png, avif, tiff
AVIF jpeg, png, webp, tiff
TIFF jpeg, png, webp, avif
SVG jpeg, png, webp, avif, tiff
MP4 webm
MOV mp4, webm
WEBM mp4
AVI mp4, webm
DOC docx, pdf
DOCX doc, pdf
XLS xlsx, csv, pdf
XLSX xls, csv, pdf
PPT pptx, pdf
PPTX ppt, 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