Discussions

Ask a Question
Back to All

How to control the API credits?

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