Reference
Use-Case Catalog
A "what can you build" catalog for orienting a new integration — read it once, then use API-REFERENCE.md for the mechanism details behind each entry. Each use case maps to a runnable script/example in this repo, or the equivalent SDK call. UC-1 has a quickstart script; UC-7/12 use the browser example app; UC-13 is exercised by an integration test.
| # | Use case | Key mechanism | Script / SDK entry point |
|---|---|---|---|
| UC-1 | Agent Factory | generateAgentProfile → intellect/add → configure → avatar/create → agent/create → resolveWidgetId |
node quickstart/create-agent.mjs "Your brief" |
| UC-2 | Personalized Concierge | Prompts with {{firstName}}/{{plan}} + allow_client_variables:true; pass request_vars per message |
mgmt.converse(configId, msg, { request_vars }) |
| UC-3 | Memory Chatbot | First converse returns threadId; pass it back. v1/thread/get_transcripts for the full record |
mgmt.converse(...) + mgmt.threads.list/transcript |
| UC-4 | GenUI Experiences | force_experience hint + capabilities; render unisphere-tool segments by metadata.runtimeName |
mgmt.converse(...) + ./experience/genui |
| UC-5 | Avatar Fleet / A-B Personas | avatar/create variants, avatar/clone to fork, agent/update avatarIds to swap |
mgmt.avatars.clone(id, ks) |
| UC-6 | Quality / Feedback Loop | Capture messageId from converse → mgmt.feedback.add() → reportSummary |
mgmt.feedback.add(...) + mgmt.messages.reportSummary(ks) |
| UC-7 | Interactive Video Avatar | resolveWidgetId → widget KS → appInit → socket.io + WHEP runtime |
examples/browser-experience.html |
| UC-8 | Headless Streaming Text | assistant/converse (sse:true or NDJSON); stream type:"text" chunks; persist threadId server-side |
mgmt.converse(...) (or mgmt.conversations.stream(opts, ks) directly) |
| UC-9 | Custom Voice Clone | catalog-item/create (multipart, ~6 s+ audio) → itemId → avatar/create voice.id |
mgmt.catalog.createVoice(...) |
| UC-10 | Slide-Deck Walkthrough | Deck talking points in prompts; deterministic navigate_to_slide client-command tool call for nav; optional GenUI widget via show_widget |
examples/deck-presenter.html |
| UC-11 | Usage Analytics | Aggregated client-side; includes _meta provenance receipt |
mgmt.messages.reportSummary(ks) |
| UC-12 | Anonymous End-User Embed | resolveWidgetId once (server) → sessions.createWidgetToken (browser, no secret) → appInit → enriched KS |
examples/browser-experience.html |
| UC-13 | Custom Portrait Avatar | catalog-item/create with portrait JPEG → catalogItemId → avatar/create visual.id → appInit → KalturaAvatarSession connects with the portrait animating live |
§ End-to-end recipe + test/integration/avatars-catalog.test.js |
Composition patterns
| Pattern | Built from |
|---|---|
| Knowledge-grounded support bot | UC-3 + capabilities.use_knowledge_base:on + § Ground the Agent |
| Multi-brand personas | UC-5 (voice) + UC-2 ({{locale}} var) |
| Lead-capture avatar | UC-7 + user_properties_forms |
| Scheduled / proactive avatar | UC-7 + your scheduler calls speak() on the socket |