Skip to main content

Connect your AI agent to a Genio avatar — face, voice, and real-time video.

Project description

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 speech
  • turn_id — unique ID for this conversation turn
  • reply — object with:
    • send_token(token) to stream final answer tokens
    • send_status(content) to report progress while your agent is still working
    • done() 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genio_sdk-0.2.2.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genio_sdk-0.2.2-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file genio_sdk-0.2.2.tar.gz.

File metadata

  • Download URL: genio_sdk-0.2.2.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for genio_sdk-0.2.2.tar.gz
Algorithm Hash digest
SHA256 36d4a389685d4490e71723759b1d1a256e26b0fb4dab09bc78b0a48e109212a2
MD5 77c4d0c48344bd1baedfad92a7406205
BLAKE2b-256 a7afbbd0d45008b3c2b162ee20e24bdb0303b8989622a0326b1165d842e70e3d

See more details on using hashes here.

File details

Details for the file genio_sdk-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: genio_sdk-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for genio_sdk-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 21e35a83ece6b2a8a4faf9f403f99b1e5c9616e15ad6f5a05ddcb6bb9efb8d3f
MD5 d7ffffdbd45d924c7badc0cb8487cf6f
BLAKE2b-256 9bd5645623b2c71b6113cf14b4142873a9e842adfdab5a798313fc1f5666394b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page