HTTP / WebSocket Service

この項では態度認識の HTTP / WebSocket API について述べます。

接続情報

URL: https://service.mimi.fd.ai
URL: wss://service.mimi.fd.ai

概要

態度認識 API のプロトコルは HTTP および WebSocket です。
リクエストのパラメータは HTTP リクエストヘッダとして送ってください。詳細については API Reference 態度認識を行う を参照してください。
態度認識は入力音声に対して、以下の4つの態度それぞれについてスコアを推定します。

  • 肯定・平叙 (agreement)
  • 否定 (disagreement)
  • 考え中 (stalling)
  • 疑問 (question)

実行結果は JSON 形式で返されます。応答の構成については、後述の"応答例"を参照してください。

入力音声中に発話が検知されなかった場合、および入力音声が極端に短い場合には、不正なデータとみなされエラーとなります。

認証

WebSocket APIサービスをご利用の際には実行したいサービスに対応するスコープ( スコープ一覧 )を指定して発行したアクセストークンが必要です。
mimi API Console 画面からの操作で取得するには トークンの取得 を参照ください。
APIの実行で取得するには 認証/認可操作 を参照ください。

クエリ文字列でのリクエスト

ブラウザ上で WebSocket API を利用する場合等、 HTTP ヘッダを使った実行時設定の指定ができない場合は、 HTTP ヘッダの代わりにクエリ文字列を使って実行時設定を指定することができます。
クエリ文字列による HTTP ヘッダの代替 の記述を参照ください。

API Reference

態度認識 API の詳細な情報については、API Reference 態度認識を行う を参照ください。

実行

以下は cURL を使用した HTTP サービスの利用例です。

実行例

curl -X POST https://service.mimi.fd.ai \
-H "Content-Type: audio/x-pcm;bit=16;rate=16000;channels=1" \
-H "x-mimi-process:air" \
-H "Authorization: Bearer <accessToken>" \
--data-binary @/path/to/audio.raw

応答例

以下は、応答例とその構成内容についての簡易な説明です。応答結果の詳細については API Reference 態度認識を行う を参照してください。

この応答例では、スコアが最も高いラベル agreement が 項目 label の値になっていることが確認できます。

# レスポンス内容の要素
#    "type": 態度認識の型
#    "session_id": セッションID
#    "status": 態度認識結果のステータス
#    "response": 態度認識結果配列
#        "time_interval": 入力音声中で態度認識の対象となった区間の開始・終了時間
#           "start": 態度認識の対象となった区間の開始時間
#           "end": 態度認識の対象となった区間の終了時間
#        "label": 結果ラベル(スコアが最も大きかった態度クラスのラベル)
#        "scores": クラス別スコアの配列
#           "question": 疑問クラスのスコア
#           "stalling": 考え中クラスのスコア
#           "agreement": 同意クラスのスコア
#           "disagreement": 否定クラスのスコア

{
  "type": "air",
  "session_id": "12ab572a-df1c-11eb-a0c4-42010a92008e",
  "status": "recog-finished",
  "response": {
    "time_interval": {
      "start": 0,
      "end": 6270
    },
    "label": "agreement",
    "scores": {
      "question": 0.0012281100498512387,
      "stalling": 0.0003516068682074547,
      "agreement": 0.9984184503555298,
      "disagreement": 1.7658468323134002e-06
    }
  }
}