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.
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.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pipecat_akapulu-0.1.1.tar.gz | 17.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pipecat_akapulu-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.9 kB
Release files / pipecat_akapulu-0.1.1.tar.gz
| Download URL | pipecat_akapulu-0.1.1.tar.gz |
|---|---|
| Size | 17.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6dfe9a7ad9a5e001bcde8528b80028b0e5a99eabccd82299948e184eea7891fe
|
|
BLAKE2b-256 checksum How to use checksums |
1d7136d11bc1507eadd4f888d9699613a1c5aad6c56d116078f9b613d38d4fc7
|
| 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.1-py3-none-any.whl
| Download URL | pipecat_akapulu-0.1.1-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f1eb40927448d1bfd48cce16b15bd397b9b21759d12d1531a649da6cac67aa6a
|
|
BLAKE2b-256 checksum How to use checksums |
cea3e87f30aa76fdc98207358cd2903954dce572ee83de725e65d3332c787035
|
| 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.1
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.