Discussions
How to control the API credits?
about 1 month ago by Stalin Raj
I am using the custom interactive avatar with API key (Free trial).
When I used for 1 min, my API credits is reduced to 1. But as per the plan, 1 credit = 5 mins of Interactive avatar
I got some suggestion from the support team to set test=false in my code.
But I don't know where to set this. This is my code:
const fetchAccessToken = async () => {
const apiKey = "********************";
const response = await fetch("https://api.heygen.com/v1/streaming.create_token", {
method: "POST",
headers: { "x-api-key": apiKey },
});
const { data } = await response.json();
return data.token;
};
const handleStartSession = async () => {
if (!videoEl) {
console.error("Video element not found.");
return;
}
try {
setLoading(true);
const accessToken = await fetchAccessToken();
const avatar = new StreamingAvatar({ token: accessToken });
avatarRef.current = avatar;
const sessionData = await avatar.createStartAvatar({
avatarName: 'Stalin',
quality: "high",
language: "en"
});
setSessionId(sessionData.session_id);
avatar.on(StreamingEvents.STREAM_READY, handleStreamReady);
avatar.on(StreamingEvents.STREAM_DISCONNECTED, handleStreamDisconnected);
avatar.on(StreamingEvents.USER_STOP, () => {
setVoiceStatus("processing");
});
avatar.on(StreamingEvents.AVATAR_START_TALKING, () => {
setVoiceStatus("speaking");
});
avatar.on(StreamingEvents.AVATAR_STOP_TALKING, () => {
setVoiceStatus("");
});
avatar.on(StreamingEvents.AVATAR_TALKING_MESSAGE, (message) => {
handleAvatarMessage(message);
});
} catch (error) {
console.error("Error starting session:", error);
setLoading(false);
}
};