media-processor API

画像をアップロードし、URL で配信する。画像は内容から決まる image_id で保存され、同じ画像を何度アップロードしても同じ image_id が返る。

POST /upload

画像をアップロードする。リクエストは multipart/form-data

認証

access token を次のどちらかで渡す。

フィールド

名前内容
imagedata画像ファイル。必須
access_tokenaccess token。Authorization ヘッダーを使う場合は不要

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
  -F [email protected] \
  https://media-processor.stream/upload

レスポンス

{
  "image_id": "4ff6ab670a58c14270e034e2090d9a43",
  "url": "https://media-processor.stream/4ff6ab670a58c14270e034e2090d9a43"
}

image_id は画像の SHA-256 の先頭 32 文字。

ステータスコード

コード意味
200成功。すでに同じ画像が保存されている場合も 200
400multipart/form-data として読めない、または imagedata がない
401access token が正しくない
415画像ではない
502ストレージへのアクセスに失敗した

GET /:image_id

画像そのものを返す。認証は不要。Content-Type はアップロードされた画像の形式になる。

curl -O https://media-processor.stream/4ff6ab670a58c14270e034e2090d9a43

キャッシュ

同じ image_id の内容は変わらないので、Cache-Control: public, max-age=31536000, immutableETag を返す。If-None-Match が一致すれば 304 を返す。

ステータスコード

コード意味
200成功
304If-None-Match が一致した
404その image_id の画像はない
502ストレージへのアクセスに失敗した