Speech Service の API、特に Text to Speech の API を Entra ID 認証で呼び出す方法について、Azure VM と curl を使用した場合の具体的な手順例をご紹介します。
Speech Service の API を Entra ID 認証で呼び出す方法
Speech Service の API を Entra ID 認証で呼び出すには、他の Azure AI services とは異なり、認証トークンに追加の処理が必要です。
この点を踏まえた具体的な手順例を以下にまとめていますので、アプリケーションへ組み込みいただく際の参考としてご利用ください。
事前準備
(1) のマネージド ID に、Speech Service のリソースに対して Cognitive Services Speech User のロールを割り当てます。
Speech Service のリソースでカスタムサブドメイン名を有効にします。
Entra ID 認証を使用するにはカスタムサブドメイン名を有効にする必要があります。この点は他の Azure AI services と共通です。
API 呼び出し
以降は Azure VM (Linux) に SSH でログインして curl のコマンドで動作確認します。
コマンド例:
1 | curl -X GET "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fcognitiveservices.azure.com" -H "Metadata: true" |
応答例:
1 | { |
- “aad#{resourceId}#{aadToken}” の形式でトークンを成形します。
例:
1 | aad#/subscriptions/<Sub ID>/resourceGroups/<Resource Group>/providers/Microsoft.CognitiveServices/accounts/<Resource>#eyJ0eX...g |
- Text to Speech の API を呼び出します
コマンド例:
1 | curl -v --location --request POST "https://<Custom subdomain>.cognitiveservices.azure.com/tts/cognitiveservices/v1" \ |
応答例:
1 | < HTTP/2 200 |
指定したフォーマット (audio-16khz-128kbitrate-mono-mp3) で音声ファイル (output.mp3) が出力されます。
変更履歴
2025/04/21 created by Nakagami