跳到正文
cccskills
免费在 GitHub 公开

liveavatar-debug

Troubleshoot and debug LiveAvatar integration issues. Use when the user's LiveAvatar integration isn't working, the avatar is silent, audio is garbled, sessions fail to start, events aren't received, or they're getting API errors.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md4.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

LiveAvatar Debugging Guide

Symptom-based troubleshooting for LiveAvatar integrations. Find your symptom below and follow the fix.

Avatar is silent / not responding to speech

Most likely: Missing context_id in FULL Mode.

Without a context_id, the avatar enters restricted mode — streams video but ignores user input. No error thrown.

Fix: Create a context via POST /v1/contexts with at least a prompt field. Include the returned context_id in your session token's avatar_persona.

Other causes:

  • Browser mic permissions blocked (check allow="microphone" on iframe)
  • Push-to-Talk enabled but PTT events not being sent
  • OS-level mic mute

Audio is garbled or distorted (LITE Mode)

Most likely: Wrong audio format.

Required: PCM 16-bit signed, 24KHz, base64. No error returned for wrong format.

Checklist:

  • Sample rate is exactly 24,000 Hz
  • Raw PCM (no WAV/MP3/OGG headers)
  • 16-bit signed, not 8-bit or 32-bit float
  • Base64 encoded
  • Chunks under 1MB

Quick test: Send a known-good 440Hz test tone. If it works but your TTS doesn't, resample your TTS output.

401 error / session fails to start

Most likely: Wrong auth header.

EndpointCorrect auth
POST /v1/sessions/tokenX-API-KEY: <api_key>
POST /v1/sessions/startAuthorization: Bearer <session_token>

Common mistakes: using API key on /start, using Bearer token on /token, putting API key in Bearer format.

Events not received (FULL Mode)

  • Subscribed to correct topics? Send to agent-control, receive from agent-response
  • LiveKit room connected? Check connection state
  • Parsing JSON correctly? Events have event_type, event_id, session_id

WebSocket events silently dropped (LITE Mode)

Most likely: Sending before connected.

Wait for {"type": "session.state_updated", "state": "connected"} before sending any commands.

Also check:

  • Using correct event names? LITE uses agent.*, not avatar.* (that's FULL)
  • WebSocket still open? 5-min inactivity timeout

Session times out

5 minutes of inactivity kills the session.

  • FULL: POST /v1/sessions/keep-alive with Bearer <session_token>
  • LITE: {"type": "session.keep_alive", "event_id": "..."} via WebSocket

Send every 2-3 minutes.

Sandbox won't start

  • is_sandbox: true set in session token
  • Avatar ID is dd73ea75-1218-4ef3-92ce-606d5f7fbc0a (sessions) or 65f9e3c9-d48b-4118-b73a-4ae2e3cbb8f0 (embeds)
  • Not using a different avatar with sandbox mode

~1 minute auto-termination is expected behavior.

Image avatar fails / no audio

Image avatars have no auto-generated voice. Specify voice_id in avatar_persona. Browse voices at GET /v1/voices.

Custom LLM / TTS not working

LLM checklist:

  • Secret: secret_type: "LLM_API_KEY"
  • Config: correct model, secret_id, base_url
  • llm_configuration_id in session token
  • Endpoint supports OpenAI /chat/completions protocol

TTS checklist:

  • Secret: secret_type: "ELEVENLABS_API_KEY"
  • Voice imported via POST /v1/voices/third_party
  • Using the returned LiveAvatar voice_id (not the ElevenLabs ID)

CORS / network errors

  • API calls should come from backend, not browser
  • Allow outbound wss:// for LiveKit and WebSocket
  • Allow *.livekit.cloud, api.liveavatar.com, embed.liveavatar.com

General approach

  1. Start with sandbox mode to eliminate billing issues
  2. Check session state: GET /v1/sessions/{id}
  3. Check transcript: GET /v1/sessions/{id}/transcript
  4. Check credits: GET /v1/users/credits
  5. Verify you're not mixing FULL and LITE event systems

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Collect and submit developer feedback to the LiveAvatar team. Use when: (1) A LiveAvatar integration is done, working, finished, or complete, (2) The user says "it works", "we're done", "that's it", "ship it", (3) The user is frustrated, stuck, or giving up — "this is broken", "this doesn't work", "I'm stuck", "I give up", "this is frustrating", "I want to report an issue", (4) The user explicitly asks to give feedback, report a bug, file an issue, or share a suggestion about LiveAvatar, (5) You've seen 3+ failed attempts at the same integration step, (6) You just finished writing or generating LiveAvatar integration code for the user.

中文简介正在准备中。当前显示原文说明。

heygen-com/liveavatar-starter-livekit-agent-python32026年8月5日 更新

Build a LiveAvatar integration end-to-end — assesses the user's existing stack, recommends the optimal path, and guides implementation. Use when: (1) Building a new LiveAvatar integration, (2) Adding a real-time avatar to an app or site, (3) Connecting LiveAvatar to an existing AI pipeline, (4) User mentions LiveAvatar, real-time avatar, interactive avatar, conversational avatar, or lip-sync avatar, (5) Deciding between Embed, FULL Mode, and LITE Mode, (6) Migrating from HeyGen Interactive Avatar to LiveAvatar.

中文简介正在准备中。当前显示原文说明。

heygen-com/liveavatar-starter-livekit-agent-python32026年8月5日 更新

Build voice AI agents with LiveKit Cloud and the Agents SDK. Use when the user asks to "build a voice agent", "create a LiveKit agent", "add voice AI", "implement handoffs", "structure agent workflows", or is working with LiveKit Agents SDK. Provides opinionated guidance for the recommended path: LiveKit Cloud + LiveKit Inference. REQUIRES writing tests for all implementations.

中文简介正在准备中。当前显示原文说明。

heygen-com/liveavatar-starter-livekit-agent-python32026年8月5日 更新

查看 heygen-com 的全部技能

报告此技能的问题