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.9.tar.gz (8.0 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.9.tar.gz.

File metadata

  • Download URL: vision_agents_plugins_lemonslice-0.5.9.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","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.9.tar.gz
Algorithm Hash digest
SHA256 bc0244eda99df3def44a4e82ec6b837b8b321457e351064d5586b2396d3a0ecb
MD5 3314457557d36d61ab9d851bdb02af00
BLAKE2b-256 0b1259d702f83651cc6426f10f4f6e1cbef038397cf06d7e2803081f5592cf10

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vision_agents_plugins_lemonslice-0.5.9-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 0074359fa052fb55869ad8baf0daf30db6922047432891acabea318c546acb97
MD5 590aa294d9987e2375c265e819bdb77a
BLAKE2b-256 a3ae52aeaae2245d2fc1618e0344c1c7de4feafb2d3f17fb46d3b2b9f083c7c2

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