Skip to main content

pipecat-akapulu

Pipecat processor for an Akapulu Labs talking avatar. Maintained by Akapulu Labs.

AkapuluAvatar sits after your speech model. It sends assistant audio to the Akapulu worker. The worker joins the Daily room already stored on the session and publishes the face and the played audio. This processor does not publish either.

Tested with Pipecat 1.12.0.

Install

uv add pipecat-akapulu

Use

Create the Daily room yourself, then POST /api/live-sessions/ from your server with your Akapulu API key before the bot starts. The body is avatar_id, show_ai_label, room_url, and avatar_token. The response is session_id.

from pipecat_akapulu import AkapuluAvatar

avatar = AkapuluAvatar(sample_rate=24000, session_id=session_id)

sample_rate is a positive multiple of 25 and must match the assistant audio frames. Idle becomes speech on the first output chunk above the speaking threshold. tail_secs defaults to 0.6, which is how long assistant audio stays open after TTSStoppedFrame. A loud chunk during that wait keeps the gate open. That chunk is sent as bot_audio kind reopen, and the whole bot utterance is sent as kind utterance. The next websocket message after each header is the raw s16 PCM.

Leave transport audio out and video out off. The worker is the Daily publisher for the face and the played audio.

AKAPULU_API_URL selects the API origin. Unset, the processor uses https://akapulu.com. A set value that is empty or not an http or https origin raises.

On StartFrame the processor posts {} to POST /api/live-sessions/<session_id>/status/. It polls GET on that same route for the worker socket and for loading status, and pushes each status body as an RTVI server message.

Example

examples/foundational.py creates a private Daily room, mints the browser, bot, and avatar tokens, and POSTs /api/live-sessions/. It then runs speech-to-text, a model, speech output, and AkapuluAvatar. It prints a join URL. Open that URL. The bot greets when you join, and it listens only to that browser microphone.

A GPT Live bot, a local server, and a browser page are in akapulu-examples.

uv add "pipecat-ai[daily,deepgram,cartesia,google,silero]==1.12.0" pipecat-akapulu

Set DAILY_API_KEY, AKAPULU_API_KEY, AKAPULU_AVATAR_ID, and AKAPULU_SHOW_AI_LABEL (true or false). Also set DEEPGRAM_API_KEY, GOOGLE_API_KEY, and CARTESIA_API_KEY. Then:

python examples/foundational.py

Metadata

Release files for pipecat-akapulu 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pipecat-akapulu 0.1.3
File Size Uploaded Provenance
pipecat_akapulu-0.1.3.tar.gz 18.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pipecat-akapulu 0.1.3
File Interpreter ABI Platform
pipecat_akapulu-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 28.7 kB

Release files / pipecat_akapulu-0.1.3.tar.gz

Download URL pipecat_akapulu-0.1.3.tar.gz
Size 18.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d24458bc22dbe37e9f3c117e0e55070f01c23650143adc9e90fc670e10dcd5e5
BLAKE2b-256 checksum
How to use checksums
21afa4fcd4da737dfad81645150a4a171effb53856f51329537999ecf1162379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / pipecat_akapulu-0.1.3-py3-none-any.whl

Download URL pipecat_akapulu-0.1.3-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b66281e3eee28a6ddcd2258fdf942e2169f2cbdf7a3e4661f9bfb69e90ff449
BLAKE2b-256 checksum
How to use checksums
43bfc1040862ed24996684b58175edb9d81b1df7745838aeb2fa3bee685229e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for pipecat-akapulu 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page