Release Notes - v0.15.0¶
Release Date: 2026-07-13
Highlights¶
- HeyGen Avatar Integration - Configure HeyGen avatars for panel agents with lip-sync support
- JSON IR for Panel Scheduling - Structured schedule format for defining panel discussions
- JSON IR for Panel Output - Capture panel transcripts and statistics in machine-readable format
- Slide Sharing - Dynamic slide display during panel discussions with keyword triggers
- Recording Manager - LiveKit Egress-based recording with S3 upload support
What's New¶
HeyGen Avatar Integration¶
Panel agents now support HeyGen avatars for realistic AI panelists with lip-synchronized speech.
Configuration:
# Global HeyGen settings
export HEYGEN_API_KEY="your-api-key"
export HEYGEN_SANDBOX=true # Use sandbox for testing
export HEYGEN_VIDEO_QUALITY=high
# Per-participant avatar IDs
export MODERATOR_AVATAR_ID="avatar-id-1"
export PANELIST_1_AVATAR_ID="avatar-id-2"
export PANELIST_2_AVATAR_ID="avatar-id-3"
Features:
- Audio routing to avatar at 24kHz for lip-sync
- Automatic fallback to LiveKit when avatar not configured
- Per-panelist avatar configuration via environment variables
JSON IR for Panel Scheduling¶
Define panel discussion structure using JSON-based schedules.
Schedule Format:
{
"title": "AI Panel Discussion",
"moderator": {
"name": "Alex",
"personality": "Professional moderator",
"avatarId": "heygen-avatar-id"
},
"panelists": [
{
"name": "Sarah",
"personality": "Technical expert",
"expertise": ["AI", "ML"],
"avatarId": "heygen-avatar-id"
}
],
"segments": [
{
"type": "discussion_round",
"topic": "Future of AI",
"duration": "5m",
"responseOrder": "relevance"
}
],
"settings": {
"recording": {
"enabled": true,
"format": "mp4",
"layout": "speaker"
}
}
}
Segment Types:
| Type | Description |
|---|---|
moderator_intro |
Opening remarks by moderator |
panelist_backgrounds |
Brief introductions of panelists |
discussion_round |
Focused discussion on a topic |
open_discussion |
Free-form conversation |
closing |
Closing remarks and summary |
JSON IR for Panel Output¶
Capture panel discussion results in structured format for post-processing.
Output Format:
{
"metadata": {
"sessionId": "panel-123",
"title": "AI Panel Discussion",
"startTime": "2026-07-13T10:00:00Z",
"endTime": "2026-07-13T10:30:00Z",
"statistics": {
"totalEntries": 45,
"totalWords": 3500
}
},
"participants": {
"moderator": { "name": "Alex", "entries": 12, "words": 450 },
"panelists": [
{ "name": "Sarah", "entries": 15, "words": 1200 }
]
},
"segments": [
{
"type": "discussion_round",
"topic": "Future of AI",
"entries": [
{
"speaker": "Sarah",
"text": "...",
"timestamp": "2026-07-13T10:05:00Z",
"wordCount": 85
}
]
}
]
}
Slide Sharing¶
Display slides during panel discussions with automatic keyword triggers.
Features:
- Load slides from local files or URLs
- Keyword-based automatic slide display
- Per-segment slide configuration
- Manual
ShowSlide/HideSlidecontrol
Slide Configuration:
{
"slides": [
{
"id": "intro",
"title": "Introduction",
"imagePath": "/slides/intro.png",
"keywords": ["welcome", "introduction"]
}
]
}
Recording Manager¶
Record panel sessions using LiveKit Egress with local or S3 output.
Environment Variables:
export PANEL_RECORD=true
export PANEL_RECORD_FORMAT=mp4 # mp4 or ogg
export PANEL_RECORD_LAYOUT=speaker # speaker or grid
export PANEL_RECORD_PATH=/recordings # Local path
export PANEL_RECORD_S3_BUCKET=my-bucket
export PANEL_RECORD_S3_REGION=us-east-1
Features:
- Speaker or grid layout options
- Duration tracking and status queries
- Automatic start/stop with panel lifecycle
Added¶
- HeyGen avatar configuration for panel moderator and panelists
- Avatar audio routing at 24kHz for lip-sync synchronization
GetAgent()method on Panelist and Moderator for avatar detectionScheduletype for JSON-based panel definitionLoadSchedule()for reading schedules from JSON files- Segment types: moderator_intro, panelist_backgrounds, discussion_round, open_discussion, closing
- Response ordering: relevance, rotation, random, fixed
Outputtype for structured panel transcriptsOutputMetadata,OutputSegment,OutputEntrytypes- Participant statistics (entry count, total words)
SlideManagerfor dynamic slide sharingLoadSlides(),ShowSlide(),HideSlide(),FindSlideByKeyword()methodsRecordingManagerfor LiveKit Egress-based recording- Recording settings in schedule (format, layout, S3 config)
- Example schedules: AI agents panel, ASDM state-of-the-art panel
Documentation¶
- ASDM state-of-the-art panel schedule (Level 5-7 autonomous delivery)
- AI agents panel schedule with HeyGen avatars
Dependencies¶
- Updated Go module dependencies
Installation¶
Quick Start¶
# Set up HeyGen avatars
export HEYGEN_API_KEY="your-key"
export MODERATOR_AVATAR_ID="avatar-1"
export PANELIST_1_AVATAR_ID="avatar-2"
# Run panel with schedule
livekit-agent-panel --schedule ./panel-schedule.json
# Enable recording
export PANEL_RECORD=true
export PANEL_RECORD_S3_BUCKET=my-recordings
livekit-agent-panel --schedule ./panel-schedule.json