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();