Azure Computer Vision APIをcurlで試す

はじめに

Azure Computer Vision APIをcurlで試してみます.
普通に適当な言語でコードを書いた方が楽なんですがちょっと諸事情あってシェルスクリプト書かないといけなくなったのでメモ.

事前準備

予めコンソールの方でAPIを有効化しておきAPIキーを取得しておきます.

curlで取得してみる

1行で書くとわかりにくいのでシェルスクリプトにしておきます.

スクリプト内のLOCATION変数はAPI有効化の時に選択したロケーションと一致している必要があります.

 1IMAGE="./sample.jpg"
 2LOCATION="southeastasia"
 3VISUALFEATURES="Categories"
 4DETAILS=""
 5LANGUAGE="en"
 6APIKEY="取得したキー"
 7
 8curl -s -X POST \
 9  "https://${LOCATION}.api.cognitive.microsoft.com/vision/v1.0/analyze?visualFeatures=${VISUALFEATURES}&details=${DETAILS}&language=${LANGUAGE}" \
10  -H "Content-Type: application/octet-stream" \
11  -H "Ocp-Apim-Subscription-Key: ${APIKEY}" \
12  --data-binary "@${IMAGE}"

レスポンスはjsonなのでjqコマンドとかでパースすると良い感じです.
カテゴリ名とスコアが欲しかったら

1$ curl ~省略~ | jq -r '.categories[] | "\(.name), \(.score)"'
2abstract_nonphoto, 0.23828125
3abstract_texture, 0.53515625

とかでとれます.

参考記事