Skip to main content

LemonSlice avatar plugin for Vision Agents

Project description

LemonSlice Avatar Plugin for Vision Agents

Add real-time interactive avatar video to your AI agents using LemonSlice's self-managed API.

Features

  • Real-time avatar video synchronized with TTS audio
  • Works with any TTS provider (Cartesia, ElevenLabs, etc.)
  • Supports both standard and Realtime LLMs
  • Customizable avatar expressions via agent prompts

Installation

uv add "vision-agents[lemonslice]"
# or directly
uv add vision-agents-plugins-lemonslice

Quick Start

import asyncio
from uuid import uuid4
from dotenv import load_dotenv

from vision_agents.core import User, Agent
from vision_agents.plugins import cartesia, deepgram, getstream, gemini, lemonslice

load_dotenv()


async def start_avatar_agent():
    agent = Agent(
        edge=getstream.Edge(),
        agent_user=User(name="AI Assistant with Avatar", id="agent"),
        instructions="You're a friendly AI assistant.",

        llm=gemini.LLM(),
        tts=cartesia.TTS(),
        stt=deepgram.STT(),

        processors=[
            lemonslice.LemonSliceAvatarPublisher(
                agent_id="your-avatar-id",
            )
        ]
    )

    call = agent.edge.client.video.call("default", str(uuid4()))

    async with agent.join(call):
        await agent.simple_response("Hello! I'm your AI assistant with an avatar.")
        await agent.finish()


if __name__ == "__main__":
    asyncio.run(start_avatar_agent())

Configuration

Environment Variables

LEMONSLICE_API_KEY=your_lemonslice_api_key
# LemonSlice uses Livekit as a transport for audio and video
LIVEKIT_URL=wss://your-livekit-server.com
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret

AvatarPublisher Options

lemonslice.LemonSliceAvatarPublisher(
    agent_id="your-avatar-id",  # LemonSlice agent ID
    agent_image_url=None,  # Or provide a custom image URL (368x560px)
    agent_prompt=None,  # Prompt to influence avatar expressions/movements
    api_key=None,  # Optional: override LEMONSLICE_API_KEY env var
    idle_timeout=None,  # Session timeout in seconds
    livekit_url=None,  # Optional: override LIVEKIT_URL env var
    livekit_api_key=None,  # Optional: override LIVEKIT_API_KEY env var
    livekit_api_secret=None,  # Optional: override LIVEKIT_API_SECRET env var
    width=1920,  # Output video width in pixels
    height=1080,  # Output video height in pixels
)

How It Works

  1. LemonSlice Session: Creates a session via LemonSlice API, and joins the LiveKit room as a participant
  2. Audio Forwarding: TTS audio is captured and sent to LemonSlice via the room
  3. Avatar Generation: LemonSlice generates synchronized avatar video and audio
  4. Video Streaming: Avatar video is streamed to call participants via GetStream Edge

Requirements

  • Python 3.10+
  • LemonSlice API key (get one at lemonslice.com)
  • LiveKit server (cloud or self-hosted)
  • GetStream account for video calls
  • TTS provider (Cartesia, ElevenLabs, etc.) or Realtime LLM

License

MIT

Links

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

vision_agents_plugins_lemonslice-0.5.5.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file vision_agents_plugins_lemonslice-0.5.5.tar.gz.

File metadata

  • Download URL: vision_agents_plugins_lemonslice-0.5.5.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vision_agents_plugins_lemonslice-0.5.5.tar.gz
Algorithm Hash digest
SHA256 039bbd1739c962bef68cd1e953a213ce7670c052eaf5e82e3a8a23f631e2d4a6
MD5 6b116592b3658d16979263677a0d0d90
BLAKE2b-256 a7b3f940eea1f459dfc9226043da9d5c1df38a6038b45ad613c8139f126c2bab

See more details on using hashes here.

File details

Details for the file vision_agents_plugins_lemonslice-0.5.5-py3-none-any.whl.

File metadata

  • Download URL: vision_agents_plugins_lemonslice-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vision_agents_plugins_lemonslice-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 21fa21975bc94c99c1e9133b491bcc7ed004601cb9f74c8de03b65ca03467c4b
MD5 63b659993387a0be184a415c2f4453d4
BLAKE2b-256 227a13e9b02151461eab33b450676ddd384f0685f5fdf4f554fd2191fdc63a62

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