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.3.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.3.tar.gz.

File metadata

  • Download URL: vision_agents_plugins_lemonslice-0.5.3.tar.gz
  • Upload date:
  • Size: 8.0 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.3.tar.gz
Algorithm Hash digest
SHA256 d40e07d794d204529ec78caca548658a3928af2d08ed7db64efa10fe9077d6ad
MD5 fb6bdebb8160fb3a3c6e2a4899f09986
BLAKE2b-256 fde3aa26f728257ab9f27915587fb2bfb2a948042668e9364aa6e9de1c3d80b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vision_agents_plugins_lemonslice-0.5.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ae27db959f37e9babe2047de0f52c87e895cbbea66d1fc75ca17d3967d02e250
MD5 772363964d896724a751dccefe687962
BLAKE2b-256 393b596767726af4d5d81db54a1eb397580f21a436f9ea66a50aa2bc8c991ec1

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