画像をアップロードし、URL で配信する。画像は内容から決まる image_id で保存され、同じ画像を何度アップロードしても同じ image_id が返る。
画像をアップロードする。リクエストは multipart/form-data。
access token を次のどちらかで渡す。
Authorization: Bearer <access_token> ヘッダーaccess_token フォームフィールド| 名前 | 内容 |
|---|---|
imagedata | 画像ファイル。必須 |
access_token | access 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 |
| 400 | multipart/form-data として読めない、または imagedata がない |
| 401 | access token が正しくない |
| 415 | 画像ではない |
| 502 | ストレージへのアクセスに失敗した |
画像そのものを返す。認証は不要。Content-Type はアップロードされた画像の形式になる。
curl -O https://media-processor.stream/4ff6ab670a58c14270e034e2090d9a43
同じ image_id の内容は変わらないので、Cache-Control: public, max-age=31536000, immutable と ETag を返す。If-None-Match が一致すれば 304 を返す。
| コード | 意味 |
|---|---|
| 200 | 成功 |
| 304 | If-None-Match が一致した |
| 404 | その image_id の画像はない |
| 502 | ストレージへのアクセスに失敗した |