Skip to main content
The public example is akapulu-examples. Deepgram Flux (flux-general-multi) hears the caller. OpenAI gpt-5.4-mini speaks, with reasoning off. Cartesia Sonic 3.6 speaks each finished sentence. It creates a private Daily room, mints the three meeting tokens, and calls POST /api/live-sessions/. The page joins with the browser token. Your voice bot joins with its token, speaks first, and listens to the browser. Leave audio out and video out off on your voice bot. It does not publish a camera or a microphone into the room. The avatar publishes the face and the played audio.

Run

Copy .env.example to .env and set:
  • DAILY_API_KEY
  • AKAPULU_API_KEY
  • OPENAI_API_KEY
  • DEEPGRAM_API_KEY
  • CARTESIA_API_KEY
The example uses Clara, leaves This is AI off, and calls the Akapulu Labs production API.
Open http://127.0.0.1:7860 and choose Start call. The server handles one call at a time. A second start while a call is running returns an error. The API key stays in that process. The page receives the Daily room URL and the browser token. The room, the live-session body, and AkapuluAvatar are described in Your bot. create_akapulu_call is the function that creates the room and the live session.