SpeakAPI(スピークAPI)
SpeakAPI(スピークAPI)はデジタルヒューマンを非同期(ユーザーからのリクエストなしに)で喋らせたいときに利用できます。下記のAPI経由あてに発話させたい文字列をPOSTしてください。
このAPIはデジタルヒューマン株式会社が提供するオーケストレーションレイヤーにデジタルヒューマンと会話AIが接続され、DHXが読み込まれている場合のみ有効です。コードスニペットに
dhx.js
とdhx.css
を新たに読み込み、 dhxOptions
connectionBaseUrl
personaIdentifier
を指定する必要があります。通常はコードスニペットサンプルをそのままご利用いただければ気にする必要はありません。 <link rel="stylesheet" href="https://hosted-experience.jp/css/dhx.css"> <script> window.dhxOptions = { "personaIdentifier": 'デジタルヒューマン株式会社から提供', "uneeq": uneeq, "showCaption": true, "showWaitingSpinner": true, "useDhxCustomEvent": true, "cameraAnchorDuration": 2000, } </script> <script src="https://hosted-experience.jp/js/dhx.js"></script>
APIエンドポイントは国内のリージョンにホストされています。
メソッド
POST
/api/v1/<uuid>/speak
エンドポイント
デジタルヒューマンが稼働するプラットフォームによって変わります。DIP上か担当に確認してください。
エンドポイント識別 | URL(Connection BaseUrl) | パス |
ai-orch-001 | https://ai-orch-001.digitalhumans.ne.jp | /api/v1/<uuid>/speak |
例: https://ai-orch-001.digitalhumans.ne.jp/api/v1/<uuid>/speak
リクエストパラメータ
キー | 値 | 必須 | 備考 |
uuid | DHKKが発行した識別子( persona Identifier ) | ○ | デジタルヒューマン株式会社から提供しない限り確認する方法はありません。 |
POSTデータ(JSON形式)
キー | 値 | 必須 | 備考 |
session_id | アバターのセッションID | ○ | |
speak_text | 発話させたい文字列 | ○ | プレーンな発話文字列に追加して、SynAnim (シンアニム) - シンセティック アニメーションエンジン の制御タグやSSMLが利用可能です。 |
instructions | インストラクション | 任意、JSON文字列をセットしてください。ただしフロントエンドの種類によって異なります。
・ ホステッドエクスペリエンスの場合 |
レスポンス(JSON形式)
キー | 値 | 備考 |
result | success または error | |
speak_text | DHKK内で処理が行われた後の発話リクエスト文字列 | |
metadata | DHKK内で処理が行われた後の発話リクエストメタデータ | |
type | resultがerrorの場合にエラーの原因を特定する値。 | 以下のエラーが存在します。
- PersonaNotFoundError : 指定したpersonaIdentifierのペルソナが存在しません。
- PersonaSuspendError : ペルソナがサスペンドされています。
- SessionNotLiveError : 指定した session_id と接続できません。
- SpeakQueryError : Bodyの内容に誤りがあります。 |
detail | resultがerrorの場合にエラーの詳細を特定する値。 |
Crulサンプル
標準的なリクエスト例
curl -X POST 'https://ai-orch-001.digitalhumans.ne.jp/api/v1/<uuid>/speak' \
-H 'Content-Type: application/json' \
-d '{
"session_id": "ブラウザのJavaScriptコンソールからUneeQ Session IDを取得",
"speak_text": "サンプルSpeak発話文",
"instructions": "<インストラクション>"
}'
発話文にカメラ制御タグとアクションが混在している場合のリクエスト例
curl -X POST 'https://ai-orch-001.digitalhumans.ne.jp/api/v1/<uuid>/speak' \
-H 'Content-Type: application/json' \
-d '{
"session_id": "ブラウザのJavaScriptコンソールからUneeQ Session IDを取得",
"speak_text": "こんにちは<uneeq:custom_event name=\"camera_close_up\" />今日は<uneeq:action_bow />良い天気ですね",
"instructions": "<インストラクション>"
}'
セキュリティについて
このAPIはフロントエンドアプリからではなく、常にバックエンドサービスからリクエストしてください。フロントエンドから制御したい場合はホステッドエクスペリエンスのメソッドを使用してください。
お役に立ちましたか?
😞
😐
🤩
最終更新日 April 1, 2025