Skip to content

メッセージング

sendMessage(text)

アバターにテキストメッセージを送信します。アバターがLLM応答を生成し、音声で返答します。

js
SDK.sendMessage('こんにちは');
パラメータ説明
textstring送信するメッセージ

speak(text)

アバターが指定されたテキストをそのまま読み上げます(LLM処理なし)。

js
SDK.speak('この文章をそのまま読み上げてください');
パラメータ説明
textstringアバターが読み上げるテキスト

stopSpeaking() の直後にメッセージを送信する場合の注意

stopSpeaking() の直後に speak()sendMessage() を呼び出すと、サーバーがリクエストをドロップする場合があります。RESPONSE_ENDED シグナルを受信してから呼び出してください。

js
let pendingText = null;

SDK.onSignal((data) => {
  if (data.signal === 'RESPONSE_ENDED' && pendingText) {
    SDK.speak(pendingText);
    pendingText = null;
  }
});

function stopAndSpeak(text) {
  pendingText = text;
  SDK.stopSpeaking();
}

sendSpeakAudio(audio)

Base64エンコードされたオーディオデータを送信し、アバターが該当音声でlip-syncします。

js
SDK.sendSpeakAudio(base64AudioData);
パラメータ説明
audiostringBase64エンコードされたオーディオデータ(最大0.1MB)

0.1MB超過または無効なBase64形式は拒否されます。複数回呼び出してチャンク単位で送信でき、送信完了後に endSpeakAudio() を呼び出してください。

endSpeakAudio()

オーディオエコー送信を終了します。サーバーがこの信号を受け取ると、受信したオーディオでlip-sync処理を開始します。

js
// チャンク単位で送信後に終了
for (const chunk of audioChunks) {
  SDK.sendSpeakAudio(chunk);
}
SDK.endSpeakAudio();

clearMessages()

<chat-container> 使用時の会話メッセージリストをクリアします。

js
SDK.clearMessages();