Skip to main content
Embeds let visitors talk to a ready avatar, custom or stock. Protoface hosts the conversation, so there is no agent to build and no API key on the page, only a public embed ID. All three options share the same settings, credits, and limits.

Default embed

Every ready avatar has a default embed, enabled on any origin until restricted.
  1. Open Avatars in the dashboard.
  2. Select a ready avatar, then Embed.
  3. Find the default embed under Current Embed.
That panel sets the intro, placement, conversation limits, and domain restrictions. Voice and instructions live on the avatar under Avatar Settings and apply everywhere it is used.

Additional embeds

New Embed creates a second configuration for another site, environment, or campaign. It starts enabled, with domain restrictions off. To restrict it, open Advanced Options, turn on Domain Restrictions, and add origins under Allowed Website Origins. An origin is scheme, host, and optional port. Paths, query strings, fragments, and wildcards are rejected. One origin per line. Each domain and subdomain is separate, so https://acme.com does not allow https://www.acme.com. With restrictions off, the embed works on any website, which is convenient while testing. Restrict production embeds to the origins you actually use. The share link in the Embed panel opens a Protoface-hosted page. Nothing is added to your site.

iframe embed

Copy Embed Code from the panel:
Set Placement before copying. The placement saves on the embed, so it applies anywhere you use that ID. Inline sits in document flow. The four corner placements stay visible as visitors scroll. An inline embed fills the available width, and the snippet carries an aspect ratio taken from the portrait. Override either with CSS.

Embed events

The <protoface-avatar> element dispatches browser events as the conversation progresses, which you can use to update your own page. They report state and do not control it, and the embed works whether or not you listen.
Listen on the element or a parent. detail carries the payload. On transcripts, role is either user or agent, and final is true once that part of the transcript is complete. room identifies the individual conversation.

Custom UI

With protoface-client, you own consent, controls, placement, transcripts, errors, and status in your own layout. Start from the conversations quickstart and swap in the public ID from the Embed panel. The frontend needs nothing beyond that ID. Embed settings and account limits still apply server-side.

What visitors see

The iframe and share link show the portrait and intro, then consent and microphone access. A custom UI presents the same steps in its own design. Visitors can end a conversation at any time, and the hosted UIs explain a disabled embed, an exhausted limit, or an outage.

Access and limits

Every conversation spends the embed owner’s credits and counts against their concurrent-session limit.

Troubleshooting