LiveAvatar vs HeyGen Interactive Avatar

This doc describes the main differences between the two and recommendations for different sets of endpoints.

When we rebranding LiveAvatar, we asked ourselves what the biggest pain points our customers. We then aimed to overhaul our APIs accordingly. Our goal is to create a cleaner abstraction that will not only make developer's lives easier, but also to make it possible to build new and better features on top of.

Here is are the differences between the two APIs and our recommendation on how to migrate.

Starting a Session

Previously, starting a session required a combination of three API calls:

We realized that having to call three APIs in a specific order to configure and initiate the session was a tad confusing. We’ve simplified it down to two API calls in LiveAvatar.

We've also cut out several of the configuration settings that LiveAvatar will no longer support (i.e. version). Some settings, we will also soon support depending on demand and interest.

Migration Recommendation

For your existing implementation, you transition to calling the two endpoints above to start the session. We strongly recommend calling Create Session Token on your backend, passing the session start data to your client instance, and letting users start the session with the client token instance on your frontend.


Session Management

Some HeyGen session APIs have direct equivalents in LiveAvatar:

For the List Sessions endpoint, we've consolidated the two into a single LiveAvatar endpoint

  • List Sessions (Active) / (History) ⇒ One List Sessions.
    • You can differentiate between the two using the session type parameter.

For the two task-based REST endpoints, we've ultimately decided to deprecate them.

We've migrated LiveAvatar to using a fully event-driven architecture for controlling sessions. This approach improves responsiveness and significantly reduces latency during live interactions.

All tasks above are now executable via Command Events. We recommend switching over these edge cases to instead calling command events.

More specifically

  • repeatavatar.speak_text
  • chatavatar.speak_response
  • interruptavatar.interrupt

Migration Recommendation.

For most of the session APIs mentioned above, they have a straightforward equivalent. For the Task-recommendation endpoints, we recommend switching to our event architecture for performing these tasks.

Avatars

We’ve split the list streaming avatars into a public and custom owned avatar list.

We recommend calling both endpoints together to now fetch all accessible avatars.

Knowledge Base ⇒ Context

We've renamed Knowledge Base to Context in LiveAvatar.

The migration between the two should hopefully be straightforward.

What's next?

We're working on migrating and adding a few additional changes. This includes:

  • Transcriptions
  • and more

If there's any questions, please let us know in the forums.