UNPKG

ai-slot-web-sdk

Version:

Effortlessly incorporate lifelike digital beings into your web applications, offering real-time conversations, actions, and facial expressions. They support a wide range of voices, languages, and emotional tones.

65 lines (64 loc) 2.33 kB
import { GetResponseResponse } from '../../Proto/service/service_pb'; import { ActionConfigParamsType, AiSlotGRPCClientConfigType } from './types'; import * as narrativeDesign from "./narrativeDesign"; import * as sessions from "./sessions"; export interface AiSlotClientParams { host: string; apiKey: string; characterId: string; speaker: string; enableAudio: boolean; speakerId: string; sessionId: string; languageCode?: string; enableFacialData?: boolean; faceModel?: 0 | 1 | 2 | 3; narrativeTemplateKeysMap: Map<string, string>; textOnlyResponse?: boolean; micUsage?: boolean; } export declare class AiSlotClient { private host; private sessionId; private responseCallback; private errorCallback; private apiKey; private characterId; private speaker; private speakerId; private languageCode; private enableAudio; private enableAddingChunk; private finalChunkReceived; private audioRecorder; private audioPlayer; private aiSlotGrpcClient; private disableAudioGeneration; private enableFacialData; private faceModel; private micUsage?; private narrativeTemplateKeysMap; private actionConfig; aiSlotConfig: AiSlotGRPCClientConfigType; constructor(params: AiSlotClientParams); private validateBeforeRequest; resetSession(): void; setResponseCallback(fn: (response: GetResponseResponse) => void): void; setErrorCallback(fn: (type: string, statusMessage: string, status: string) => void): void; sendTextChunk(text: string): void; startAudioChunk(): void; invokeTrigger(name: string | null, message?: string | null, preload?: boolean): void; sendFeedback(interaction_id: string, character_id: string, session_id: string, thumbs_up: boolean, feedback_text: string): void; endAudioChunk(): void; toggleAudioVolume(): void; getAudioVolume(): number; stopCharacterAudio(): void; onAudioPlay(fn: () => void): void; onAudioStop(fn: () => void): void; pauseAudio(): void; resumeAudio(): void; onAudioStateChange(fn: () => void): void; playAudio(): void; setActionConfig(actionConfig: ActionConfigParamsType): void; } export { narrativeDesign, sessions };