Your dashboard for avatars, API keys, and usage. This is where you find the IDs and keys your app needs.
Browse our growing collection of pre-built, optimised Rive characters. Publish one to your account to get the unique ID you pass to your SDK config.
Upload your own animated characters. Design them in-house and bring them to life with the SDK.
Create separate keys for dev, staging, and production. Monitor usage and session quotas in real time.
Session duration, interruption rate, error rates β understand how users interact with your avatars and tune accordingly.
"default"Every code example in these docs uses a special avatar ID:
"default" is a public demo avatar resolved on our server. Drop it into your
config and you'll have a talking avatar on screen in minutes β no publishing, no
setup. It's perfect for prototyping and following the Quickstart.
"default" is meant for trying things out. When you ship to production, publish
your own avatar (below) and use its ID so you control its look, voice, and
personality.
Your own avatar ID isn't copied from the library directly β you publish an avatar to your account first. Publishing forks the library character into a copy you own, which is the avatar your app actually loads.
Open the Platform dashboard and choose a character from the library. Free avatars are available on every plan; some premium avatars require a paid plan (see below).
In the builder you can tune the look, voice, brain, and personality. Skip this if the defaults are fine β you can always come back and edit later. These saved settings act as the avatar's defaults; anything you pass in the SDK config at runtime overrides them (see how settings are resolved).
Click Publish. This creates your own copy of the avatar and assigns it a unique ID. The first publish forks a new avatar; publishing again updates the same one.
Open the Publish panel β your avatar ID is shown there with a copy button.
That's the value you pass to avatar.avatarId:
The library has free avatars and premium (paid) avatars.
Plan limits are enforced on our servers, so a premium avatar can't be used without a qualifying plan even if you have its ID. Manage your plan from the Platform dashboard.
Publishing gives you an ID for your own code. To put the avatar on a site with no backend β a Framer site, a landing page β create a deployment instead: a public, domain-locked credential with its own monthly minute budget.
Open the avatar and use the Deploy tab. See Framer for the full flow, or API keys for how deployments compare to the other credentials.
Keep live keys server-side. Use them on your backend to mint short-lived
session tokens via getSessionToken. Create a separate live key per app or
environment so you can revoke one without stopping everything else. Rotate
immediately if a key is exposed.
There are only two API key environments β af_test_* and af_live_*. "Staging"
is not a separate key type: create a second live key and name it after that
environment.
For local development, use your test key (af_test_*), which the SDK accepts
directly as apiKey and which draws on a separate free allowance. Full details
in API keys.