Python server SDK for creating Spatius avatar sessions.
pip install spatiusInstall the optional Ogg Opus encoder support when you want the SDK to encode raw PCM before sending:
pip install "spatius[opus]"import asyncio
from datetime import datetime, timedelta, timezone
from spatius import new_avatar_session
async def main():
session = new_avatar_session(
api_key="your-api-key",
app_id="your-app-id",
avatar_id="your-avatar-id",
expire_at=datetime.now(timezone.utc) + timedelta(minutes=5),
transport_frames=lambda frame, last: print(
f"Received frame: {len(frame)} bytes, last={last}"
),
on_error=lambda err: print(f"Session error: {err}"),
on_close=lambda: print("Session closed"),
)
await session.init()
connection_id = await session.start()
print(f"Connected: {connection_id}")
audio_data = b"..." # mono PCM s16le audio bytes
request_id = await session.send_audio(audio_data, end=True)
print(f"Sent audio request: {request_id}")
await asyncio.sleep(10)
await session.close()
if __name__ == "__main__":
asyncio.run(main())See the full Python SDK guide at docs.spatius.ai/sdk-reference/python-sdk/python-sdk.
MIT