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. TTSStoppedFrame starts that wait, and another loud chunk starts it over. The gate locks when the wait finishes.

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.2

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.2
File Size Uploaded Provenance
pipecat_akapulu-0.1.2.tar.gz 17.6 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 27.5 kB

Release files / pipecat_akapulu-0.1.2.tar.gz

Download URL pipecat_akapulu-0.1.2.tar.gz
Size 17.6 kB
Tags Source
SHA-256 checksum
How to use checksums
837f396766352432cbeff7c89475c1ae99c6fdadc722821c050fc521a2e47f0d
BLAKE2b-256 checksum
How to use checksums
6c57c7140c458b6d19990c9f69bf8c116b38d9e0084491de623c6bb28eb69829
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.2-py3-none-any.whl

Download URL pipecat_akapulu-0.1.2-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
431f5b9dbbb5cd15053313f3b03880be60c79c47707f1dc3e698d0a027bb0dbb
BLAKE2b-256 checksum
How to use checksums
202cae67d3d7cde3825d649d50f827d86881aa628864b7af6bed292d2d462e4a
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.2

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