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(),

        avatar=lemonslice.Avatar(agent_id="your-avatar-id"),
    )

    call = await agent.create_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_AGENT_ID=your_agent_id
# Or, instead of LEMONSLICE_AGENT_ID:
# LEMONSLICE_AGENT_IMAGE_URL=https://example.com/avatar.png

# 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

Avatar Options

lemonslice.Avatar(
    agent_id="your-avatar-id",  # LemonSlice agent ID (or set LEMONSLICE_AGENT_ID env var)
    agent_image_url=None,  # Custom image URL, 368x560px (or set LEMONSLICE_AGENT_IMAGE_URL env var)
    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.6.4.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.6.4.tar.gz.

File metadata

  • Download URL: vision_agents_plugins_lemonslice-0.6.4.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.6.4.tar.gz
Algorithm Hash digest
SHA256 36dcb8cb8ec75c5cc3e6e4aa5416e56914ec671fa501844a196536d1ded94c01
MD5 2b6703b0e0ffc26afb68c838d7568870
BLAKE2b-256 5eef59648637f8b5461f1df67b44261fea3e2030a58408432130c869c29ba2ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vision_agents_plugins_lemonslice-0.6.4-py3-none-any.whl
  • Upload date:
  • Size: 10.1 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.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fb501f1182471c65b86488957a997dca5515cdc0a7462e5280be7812a47db368
MD5 bf2316006ab9e2f144635e372fa4be5b
BLAKE2b-256 411e66d82f4cc215183cf5ed6399f76f896e63bf11dbd2f6921b431b474c66c8

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