Metadata-Version: 2.4
Name: livekit-plugins-spatius
Version: 1.5.8
Summary: Agent Framework plugin for Spatius avatars
Project-URL: Documentation, https://docs.spatius.ai
Project-URL: Website, https://www.spatius.ai/
Project-URL: Source, https://github.com/spatius-ai/livekit-plugins-spatius
Author-email: 3DRX <3drxkjy@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: ai,audio,avatar,livekit,realtime,spatius,video,voice,webrtc
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10.0
Requires-Dist: livekit-agents>=1.5.8
Requires-Dist: spatius>=1.0.0
Description-Content-Type: text/markdown

# LiveKit Agents Plugin for Spatius Avatar

LiveKit Agents plugin for [Spatius](https://www.spatius.ai) avatar sessions. It forwards TTS audio from a LiveKit agent session to Spatius and lets the avatar publish synchronized audio/video back into the same room.

## Installation

```bash
pip install livekit-plugins-spatius
```

## Quick Start

Set credentials:

```bash
export SPATIUS_API_KEY=your-api-key
export SPATIUS_APP_ID=your-app-id
export SPATIUS_AVATAR_ID=your-avatar-id

export LIVEKIT_URL=wss://your-livekit-host
export LIVEKIT_API_KEY=your-livekit-api-key
export LIVEKIT_API_SECRET=your-livekit-api-secret
```

Use plugin in your LiveKit agent:

```python
from livekit.agents import Agent, AgentSession, JobContext, WorkerOptions, cli
from livekit.plugins import spatius


class VoiceAssistant(Agent):
    def __init__(self) -> None:
        super().__init__(instructions="You are a helpful voice assistant.")


async def entrypoint(ctx: JobContext) -> None:
    await ctx.connect()

    session = AgentSession(
        vad=vad,
        stt=stt,
        llm=llm,
        tts=tts,
    )

    avatar = spatius.AvatarSession()
    await avatar.start(session, room=ctx.room)

    await session.start(agent=VoiceAssistant(), room=ctx.room)


if __name__ == "__main__":
    cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint))
```

For detailed usage, see [Spatius docs](https://docs.spatius.ai).

## License

MIT
