Discussions

Ask a Question
Back to All

As Paid user I still get avatar disconnected after 2 minutes even if I disableIdleTimer

Hey guys, here is my code for createStartAvatar:


async function initializeAvatarSession() {
console.log("Initializing Avatar session...");
const token = await fetchAccessToken();
avatar = new StreamingAvatar({ token });
const avatarNames = ["c20f4bdddbe041ecba98d93444f8b29b", "ef08039a41354ed5a20565db899373f3", "Judy_Lawyer_Sitting2_public"];
const randomAvatarName = avatarNames[Math.floor(Math.random() * avatarNames.length)];

sessionData = await avatar.createStartAvatar({
quality: AvatarQuality.High,
avatarName: randomAvatarName,
knowledgeId: "", // Or use a custom knowledgeBase.
voice: {
rate: 0.9, // 0.5 ~ 1.5
emotion: "excited" as VoiceEmotion,
},
language: "en",
disableIdleTimeout: true
});

console.log("Avatar Initialized. Session data:", sessionData);
setTimeout(() => {
startInterview()
}, 3000);

avatar.on(StreamingEvents.STREAM_READY, handleStreamReady);
avatar.on(StreamingEvents.STREAM_DISCONNECTED, handleStreamDisconnected);
avatar.on(StreamingEvents.AVATAR_START_TALKING, handleAvatarStartTalking);
avatar.on(StreamingEvents.AVATAR_STOP_TALKING, handleAvatarStopTalking);
avatar.on(StreamingEvents.AVATAR_TALKING_MESSAGE, handleAvatarTalkingMessage);
}

As you can see I have set disableIdleTimeout: true
I have also reinstalled and updated my packages so I am sure that HeyGEn SDK is the latest version.
I can see this parameter declared in HeyGen's SDK StreamingAvatar and it looks like this:
export interface StartAvatarRequest {
quality?: AvatarQuality;
avatarName: string;
voice?: {
voiceId?: string;
rate?: number;
emotion?: VoiceEmotion;
elevenlabsSettings?: ElevenLabsSettings;
};
knowledgeId?: string;
language?: string;
knowledgeBase?: string;
disableIdleTimeout?: boolean;
}

But even with this, and being a payed user, my stream gets disconnected after 2 minutes of listening to user's speach (users can speak around 5 minutes in my app use case so I need the stream to remain active and listening no matter how long)

here is an example of a sessionData I got returned for the above mentioned avatar.createStartAvatar:
Avatar Initialized. Session data:
{
session_id: '9f3faed9-057a-11f0-aa4f-92ee5263b52e',
sdp: null,
access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3N…WV9fQ.cXWgeJ8r82BoGZbvfbQm8ew4jEO_uM7DWKwmzxlHbbk',
url: 'wss://heygen-feapbkvq.livekit.cloud',
ice_servers: null, …}
access_token:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDI1NTQ4ODAsImlzcyI6IkFQSUplMjZaamg4YUFYRCIsIm5iZiI6MTc0MjQ2ODQ4MCwic3ViIjoiY2xpZW50IiwidmlkZW8iOnsiY2FuUHVibGlzaCI6dHJ1ZSwiY2FuUHVibGlzaERhdGEiOnRydWUsImNhblN1YnNjcmliZSI6dHJ1ZSwiY2FuVXBkYXRlT3duTWV0YWRhdGEiOmZhbHNlLCJyb29tIjoiOWYzZmFlZDktMDU3YS0xMWYwLWFhNGYtOTJlZTUyNjNiNTJlIiwicm9vbUpvaW4iOnRydWV9fQ.cXWgeJ8r82BoGZbvfbQm8ew4jEO_uM7DWKwmzxlHbbk"
ice_servers:null
ice_servers2:null
is_paid:true
realtime_endpoint:"wss://webrtc-signaling.heygen.io/v2-alpha/interactive-avatar/session/9f3faed9-057a-11f0-aa4f-92ee5263b52e"
sdp:null
session_duration_limit:2147483647
session_id:"9f3faed9-057a-11f0-aa4f-92ee5263b52e"
url:"wss://heygen-feapbkvq.livekit.cloud"
}

Can you please help me out?
You can check my user ([email protected]) , I recently purchased Pro Streaming API plan (maybe a week ago, so it's still active).
Please let me know what else should I do in order for my avatar silence not to be broken after ~2minutes?

Thanks,
Stefan