Docs index: /llms.txt · every page as Markdown: add .md

‹ Overview

Troubleshooting

Where to fix a problem on each platform, and the common session errors.

Every platform and recipe page ends with a Troubleshooting table for its own problems; this page links them all, then covers common session errors.

By platform

PlatformIts Troubleshooting table
iOS & iPadOSSwift package on iPhone and iPad
macOSSwift package on the Mac
AndroidAndroid SDK
FlutterFlutter plugin
WebWeb embed
PythonPython SDK
CLICLI
LiveKitLiveKit plugin
PipecatPipecat service
REST APIREST · every error code: Errors

By task

TaskIts Troubleshooting table
Create an avatarCreate an avatar · creation errors: Errors
A voice agentVoice agent
A companion appCompanion app
A kioskKiosk
A talking videoTalking video
Persona and gesturesPersona · Gestures
Claude, Cursor and other MCP clientsMCP server

Troubleshooting

SymptomCauseFix
The first session on a new agent is slowcapacity is startingwait: up to tens of seconds the first time; later sessions connect in seconds. If sessions keep failing, check status.bithuman.ai
The agent will not launch right after creationit is not ready yet, or its model is still being prepared for servingpoll until ready; retry the first session after a short wait
409 MODEL_NOT_GENERATEDthe session asked for a model the agent does not havecheck supported_models; add the model
The session ends at once with avatar_error: "model_not_generated"a ?model= in the URL named a model the agent does not haveremove ?model=, or add the model
404 on /speak or /add-contextthe agent has no live sessionstart a session first
No microphone prompt in an embedthe iframe lacks allow="microphone *"add it (Web)
In a room with several agents, the avatar stays silent for onethe avatar follows the agent that called AvatarSession.start()start the avatar from the agent it should speak for
Creation stays at lip_sync for a long timethat is the training step for Essence 2 and Expression 2 (about 2–2.5 hours)keep polling

Creation errors and their fixes are on Errors.

Plan and credit refusals

Every SDK and the CLI refuse a render or session the same way, with the service’s reason in the message (the CLI exits 77). Each code, its link field and the exact wording: Errors.

The message saysCauseFix
API and SDK access starts at the Creator planfrom 2026-10-12, a Free account’s API secret (403 PLAN_REQUIRED)choose a plan
the API secret was rejected, was not accepted or account suspendeda revoked or mistyped secret; from 2026-10-12, an older SDK or CLI also says this for a Free accountcreate a new one under API secrets; if a new secret is refused too, choose a plan
Your … plan allows N cloud avatar sessions at once, and N are running (N/N)the plan’s concurrent cloud sessions (403 CONCURRENCY_LIMIT_REACHED); every running session holds a slot until it endsterminate a session to free its slot at once, or choose a plan
as many agents as its plan allows, or 403 AGENT_LIMIT_REACHEDa new agent would pass the plan’s agent limit; existing agents keep workingdelete an agent, or choose a plan
no credits remaining or out of bitHuman creditsno credits left (402 INSUFFICIENT_BALANCE)top up on the Creator plan or higher
this account is suspendedruntime access is suspended (403 RUNTIME_SUSPENDED)contact support; a plan change does not clear it

Voice agent

The voice agent, with the CLI or the Python example.

SymptomCauseFix
bithuman run exits 69: livekit-server 1.8.0 at …/livekit-server is too old for bithuman run“The CLI needs livekit-server 1.13 or newerbrew upgrade livekit (macOS), or reinstall the CLI (Linux: its download includes one)
The video stalls for 1–2 s every 15 s, or a LiveKit Meet tile goes blacklivekit-server older than 1.9.12: the browser leaves and rejoins the room every 15 sbrew upgrade livekit (macOS) or curl -sSL https://get.livekit.io | bash (Linux), then restart livekit-server
livekit-server not found (exit 69)LiveKit is not installedbrew install livekit (macOS) or curl -sSL https://get.livekit.io | bash (Linux)
The avatar never appearsNo or invalid API secretCLI: bithuman login. Python example: set BITHUMAN_MASTER_SECRET in .env
The avatar never appears; the terminal shows essence-2: ffmpeg not foundEssence 2 unpacks its avatar with ffmpegsudo apt install -y ffmpeg, then run again
The page says it could not connectlivekit-server --dev is not runningStart it, then click Start again
Nothing happens after joininglivekit-server --dev or agent.py is not runningStart both, livekit-server first
Another device on your network cannot join--dev listens on localhost onlylivekit-server --dev --bind 0.0.0.0 --node-ip <your LAN IP>; other browsers also need HTTPS for the microphone
On a Mac, your own page with no microphone, on the same machine as the avatar, fails with could not establish pc connectionChrome hides the machine’s local addresses until the page has microphone permissioncall navigator.mediaDevices.getUserMedia({ audio: true }) before connecting, or open the page from another device
OSError: PortAudio library not foundthe system library is missingsudo apt install libportaudio2 (Debian, Ubuntu)
cv2.error: … The function is not implementedthe headless OpenCV build won the installpip install --force-reinstall --no-deps opencv-python
error: externally-managed-environmentoutside the virtualenv. .venv/bin/activate
No microphone input on macOSthe terminal has no microphone permissionSystem Settings → Privacy & Security → Microphone

Next

This section moved: docs.bithuman.ai/resources/troubleshooting#troubleshooting

This section moved: docs.bithuman.ai/resources/troubleshooting#troubleshooting

This section moved: docs.bithuman.ai/resources/troubleshooting#troubleshooting

This section moved: docs.bithuman.ai/resources/troubleshooting#troubleshooting