메시징
sendMessage(text)
아바타에게 텍스트 메시지를 전송합니다. 아바타가 LLM 응답을 생성하여 음성으로 답합니다.
js
SDK.sendMessage('안녕하세요');| 파라미터 | 타입 | 설명 |
|---|---|---|
text | string | 전송할 메시지 |
speak(text)
아바타가 주어진 텍스트를 그대로 읽도록 합니다 (LLM 처리 없이).
js
SDK.speak('이 문장을 그대로 읽어주세요');| 파라미터 | 타입 | 설명 |
|---|---|---|
text | string | 아바타가 읽을 텍스트 |
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);| 파라미터 | 타입 | 설명 |
|---|---|---|
audio | string | Base64 인코딩된 오디오 데이터 (최대 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();