Latest Threat ResearchGlassWorm Loader Hits Open VSX via Developer Account Compromise.Details
Socket
Book a DemoInstallSign in
Socket

@livekit/agents-plugin-hedra

Package Overview
Dependencies
Maintainers
42
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@livekit/agents-plugin-hedra

Hedra avatar plugin for LiveKit Node Agents

latest
Source
npmnpm
Version
1.0.42
Version published
Weekly downloads
225
11.39%
Maintainers
42
Weekly downloads
 
Created
Source

Hedra plugin for LiveKit Agents

Support for avatar generation and animation with Hedra.

See https://docs.livekit.io/agents/integrations/avatar/hedra/ for more information.

Installation

npm install @livekit/agents-plugin-hedra
# or
pnpm add @livekit/agents-plugin-hedra
# or
yarn add @livekit/agents-plugin-hedra

Pre-requisites

You'll need an API key from Hedra. It can be set as an environment variable: HEDRA_API_KEY

Usage

Using an Avatar ID

import { AvatarSession } from '@livekit/agents-plugin-hedra';

// Create an avatar session with an avatar ID
const avatar = new AvatarSession({
  avatarId: 'your-avatar-id',
  apiKey: 'your-hedra-api-key', // or set HEDRA_API_KEY env var
});

// Start the avatar session after creating your agent session
await avatar.start(agentSession, room);

Using a Custom Avatar Image

import { AvatarSession } from '@livekit/agents-plugin-hedra';
import fs from 'node:fs';

// Read an image file
const imageBuffer = fs.readFileSync('path/to/avatar.jpg');

// Create an avatar session with a custom image
const avatar = new AvatarSession({
  avatarImage: {
    data: imageBuffer,
    mimeType: 'image/jpeg',
    filename: 'avatar.jpg',
  },
  apiKey: 'your-hedra-api-key',
});

// Start the avatar session
await avatar.start(agentSession, room);

Full Example

import {
  type JobContext,
  type JobProcess,
  WorkerOptions,
  cli,
  defineAgent,
  voice,
} from '@livekit/agents';
import * as deepgram from '@livekit/agents-plugin-deepgram';
import * as hedra from '@livekit/agents-plugin-hedra';
import * as openai from '@livekit/agents-plugin-openai';
import * as silero from '@livekit/agents-plugin-silero';

export default defineAgent({
  prewarm: async (proc: JobProcess) => {
    proc.userData.vad = await silero.VAD.load();
  },
  entry: async (ctx: JobContext) => {
    const vad = ctx.proc.userData.vad as silero.VAD;

    const assistant = new voice.Agent({
      instructions: 'You are a helpful voice AI assistant.',
    });

    const session = new voice.AgentSession({
      vad,
      stt: new deepgram.STT(),
      llm: new openai.LLM(),
      tts: new openai.TTS(),
    });

    // Create and start the Hedra avatar
    const avatar = new hedra.AvatarSession({
      avatarId: 'your-avatar-id',
    });

    await session.start({
      agent: assistant,
      room: ctx.room,
    });

    // Start the avatar session after connecting
    await avatar.start(session, ctx.room);

    session.generateReply({
      instructions: 'Greet the user and offer your assistance.',
    });
  },
});

Configuration Options

AvatarSessionOptions

OptionTypeDescription
avatarIdstringThe Hedra avatar ID to use. Either avatarId or avatarImage must be provided.
avatarImageAvatarImageA custom avatar image. Either avatarId or avatarImage must be provided.
apiUrlstringThe Hedra API URL. Defaults to HEDRA_API_URL env var or the default Hedra API endpoint.
apiKeystringThe Hedra API key. Defaults to HEDRA_API_KEY env var.
avatarParticipantIdentitystringThe identity of the avatar participant in the room. Defaults to 'hedra-avatar-agent'.
avatarParticipantNamestringThe name of the avatar participant in the room. Defaults to 'hedra-avatar-agent'.
connOptionsAPIConnectOptionsConnection options for API requests (retry count, timeout, etc.).

AvatarImage

PropertyTypeDescription
dataBufferThe raw image data.
mimeTypestringThe MIME type of the image (e.g., 'image/jpeg', 'image/png').
filenamestringOptional filename for the image.

Environment Variables

VariableDescription
HEDRA_API_KEYYour Hedra API key
HEDRA_API_URLCustom Hedra API URL (optional)
LIVEKIT_URLYour LiveKit server URL
LIVEKIT_API_KEYYour LiveKit API key
LIVEKIT_API_SECRETYour LiveKit API secret

FAQs

Package last updated on 05 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts