genio-sdk
Connect your AI agent to a Genio avatar. Your agent handles the conversation logic; Genio handles the face, voice, and real-time video.
Install
pip install genio-sdk
Quick Start (CLI)
export GENIO_API_KEY="gk_..."
export GENIO_AVATAR_ID="your_avatar_id"
# Test connectivity (placeholder agent)
genio-bridge --backend stub
# Hermes (requires run_agent on PYTHONPATH)
genio-bridge --backend hermes --model "provider/model"
# Custom agent module
export GENIO_AGENT_MODULE="my_agent.bridge:stream_reply"
genio-bridge --backend custom
Create a .env file in your working directory — the CLI loads it automatically via python-dotenv.
You should see SSE connected in the logs; the Genio dashboard shows Agent Connected within a few seconds.
One-click install (macOS / Linux)
curl -sL https://genio.works/bridge.sh | bash -s -- \
--api-key "gk_..." \
--avatar-id "your_avatar_id" \
--backend stub
Library usage
from genio import GenioBridge
bridge = GenioBridge(api_key="gk_xxx", avatar_id="your_avatar_id")
@bridge.on_user_speech
async def handle(text, turn_id, reply):
async for token in my_agent.stream(text):
await reply.send_token(token)
await reply.done()
bridge.run() # blocks, auto-reconnects
API
GenioBridge(api_key, avatar_id, base_url?)
| Param | Type | Required | Description |
|---|---|---|---|
api_key |
str |
Yes | Your BYOA API key (starts with gk_) |
avatar_id |
str |
Yes | The avatar document ID |
base_url |
str |
No | Genio API base URL (default: https://genio.works) |
@bridge.on_user_speech
Decorator to register the handler. The handler receives:
text— transcribed user speechturn_id— unique ID for this conversation turnreply— object with:send_token(token)to stream final answer tokenssend_status(content)to report progress while your agent is still workingdone()to end the turn
StatusConfig / run_with_status_updates
For long-running agents, use run_with_status_updates to send periodic status heartbeats while your worker streams tokens (see genio.backends.hermes).
bridge.run() / await bridge.disconnect()
run() blocks and auto-reconnects. disconnect() stops the bridge.
CLI reference
| Flag / env | Description |
|---|---|
--api-key / GENIO_API_KEY |
BYOA key |
--avatar-id / GENIO_AVATAR_ID |
Avatar ID |
--base-url / GENIO_BASE_URL |
API base (default https://genio.works) |
--backend / GENIO_BRIDGE_BACKEND |
stub, hermes, or custom |
--model / HERMES_GENIO_MODEL |
Hermes model |
--agent-module / GENIO_AGENT_MODULE |
package.module:callable for custom backend |
Release files for genio-sdk 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| genio_sdk-0.2.2.tar.gz | 16.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| genio_sdk-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.0 kB
Release files / genio_sdk-0.2.2.tar.gz
| Download URL | genio_sdk-0.2.2.tar.gz |
|---|---|
| Size | 16.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36d4a389685d4490e71723759b1d1a256e26b0fb4dab09bc78b0a48e109212a2
|
|
BLAKE2b-256 checksum How to use checksums |
a7afbbd0d45008b3c2b162ee20e24bdb0303b8989622a0326b1165d842e70e3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / genio_sdk-0.2.2-py3-none-any.whl
| Download URL | genio_sdk-0.2.2-py3-none-any.whl |
|---|---|
| Size | 17.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21e35a83ece6b2a8a4faf9f403f99b1e5c9616e15ad6f5a05ddcb6bb9efb8d3f
|
|
BLAKE2b-256 checksum How to use checksums |
9bd5645623b2c71b6113cf14b4142873a9e842adfdab5a798313fc1f5666394b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|