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.
- Create Session Token
- Unifies the logic between the old
Create Session TokenandNew Session.
- Unifies the logic between the old
- Start Session
- Same as
New Sessionabove.
- Same as
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
typeparameter.
- You can differentiate between the two using the session
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
repeat⇒avatar.speak_textchat⇒avatar.speak_responseinterrupt⇒avatar.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.
- Create a Knowledge Base ⇒ Create Context
- List Knowledge Bases ⇒ List User Contexts
- Update Knowledge Base ⇒ Update Context
- Delete Knowledge Base ⇒ Delete Context
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.
Updated 1 day ago