What Is Akapulu Labs?
Akapulu Labs is an AI research lab building a managed platform for real-time conversational AI avatars in your app.
Build the conversation visually, then launch a live video agent with one API call.
Think of it like n8n for AI avatar conversations.
Follow the Quickstart to build your first scenario and start a live conversation.

How Do You Tell the Avatar What to Do?
Under the hood, the avatar is powered by an LLM.
A scenario is the framework you use to instruct it.
You start with one persona for the whole call (tone, role, and guardrails that apply everywhere).
Then you split the instructions into stages (we call them nodes).
These are like short chapters (i.e. “intro,” “collect details,” or “wrap up.”)
In each stage you give a focused task for what to do right now, plus only the tools that stage needs, so the model isn't overwhelmed by the full script at once.
The conversation will dynamically branch from one stage to another as the call unfolds.
See Scenarios overview for how personas, stages, and branching fit together.

What’s Inside Each Stage?
The Role instruction is the persona for the whole conversation (set once per scenario), used across stages.
Inside each stage:
Task instruction: what to do here.
Functions: the tools the avatar can use here.
This helps the avatar keep focus on whatever stage it’s on, without juggling the whole scenario at once.
For how role instructions and task instructions work together, see Role and task instructions. For the node JSON shape, see Node basics.
{
"role_instruction": "You are a helpful assistant...",
"nodes": {
"intro": {
"task_instruction": "Greet the user and...",
"functions": [ /* tools for this stage */ ]
}
}
}What Tools Can the Avatar Use?
Each stage can have its own set of tools.
There are four types
moves to another stage.
calls an endpoint in your backend.
pulls from a knowledge base.
sees through the user’s camera.
Tools are scoped per stage. The avatar only has access to what the current stage needs.
How Do You Test a Scenario?
Testing Mode simulates your scenario with text-only chat.
No avatar, no speech, just the LLM.
Iterate on your flow quickly without burning your avatar call minutes.
Useful for making sure the conversation flows right before going live.
See Testing Mode for setup, limits, and how to iterate on your flow before going live
How Do Avatars Work?
Akapulu Labs provides publicly available, professional avatars to bring your scenarios to life.
Pair any avatar with any scenario.
Pick from our public catalog to talk to your users, and guide the underlying LLM with whatever scenario you’ve built.
For more information, see the Avatar Catalog

How Does a Live Conversation Work?
Pass a scenario ID, avatar ID, and any runtime variables into our Web SDK.
A live session opens in your frontend, and you’re connected to the avatar.
Use the Server SDK to connect from your backend, and read Conversation lifecycle for transcripts, recordings, and what happens when a call ends.
import { createAkapuluServerClient } from "@akapulu/server";
const akapulu = createAkapuluServerClient();
// Easy to use web sdk for starting conversations
await akapulu.connectConversation({
scenario_id: "YOUR_SCENARIO_ID",
avatar_id: "YOUR_AVATAR_ID",
// Custom runtime variables and configuration
runtime_vars: {
customer_name: "Jordan",
account_id: "acct_01HZY...",
},
});When the call ends, we save a full transcript (what was said, which tools ran, and how the flow moved between stages).
As well as (optionally) the conversation recording.
Use that record in your own product however you like (CRM, summaries, coaching, analytics, and so on).
That's Akapulu in a nutshell.
A managed platform where you design conversational avatar flows visually, test them before going live, and launch real-time voice and video experiences with a single API call,
all without stitching together STT, LLM, TTS, and avatar rendering yourself.
Check out some examples for end to end walk throughs,
and when you’re ready, sign in to start building yourself!

