which are the free livekit avatar ?
# ask-ai
n
which are the free livekit avatar ?
t
Thanks for reaching out, Darshak. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — you’re asking which LiveKit avatar integrations are free. I can help with that. I can confirm which avatar integrations LiveKit documents (examples include Avatario, LemonSlice, Hedra, Tavus, Simli, bitHuman, Beyond Presence, Anam, and LiveAvatar), and the docs explain how to integrate each one and that each requires an API key from the respective provider. What I cannot confirm from the LiveKit docs is whether any of those third‑party avatar providers offer a free tier or free usage—the documentation does not include pricing or free/paid status for the providers themselves. Some LiveKit plugins are open source and available via npm/PyPI, but that only speaks to the plugin code, not the provider service pricing. Would you like me to: • Look up which specific providers you’re most interested in (for example, Avatario or LemonSlice) so I can check whether those providers offer free tiers? • Or, if you already have a provider in mind, tell me which one and I’ll outline the integration steps shown in the LiveKit docs and what API keys or setup you’ll need? Tell me which option you prefer or which provider(s) you care about and I’ll proceed. Sources: Avatario Realtime Avatar integration guide | LiveKit Documentation | LemonSlice virtual avatar integration guide | LiveKit Documentation | Virtual avatar models overview | LiveKit Documentation | Hedra Realtime Avatar integration guide | LiveKit Documentation
n
Copy code
raceback (most recent call last):
  File "/livekit-agent/.venv/lib/python3.13/site-packages/aiohttp/connector.py", line 1313, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs, sock=sock)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "python3.13/asyncio/base_events.py", line 1201, in create_connection
    transport, protocol = await self._create_connection_transport(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        ssl_shutdown_timeout=ssl_shutdown_timeout)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "lib/python3.13/asyncio/base_events.py", line 1234, in _create_connection_transport
    await waiter
  File "asyncio/sslproto.py", line 581, in _on_handshake_complete
    raise handshake_exc
  File "asyncio/sslproto.py", line 563, in _do_handshake
    self._sslobj.do_handshake()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "python3.13/ssl.py", line 951, in do_handshake
    self._sslobj.do_handshake()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1032)
how can i disable this ?
t
Thanks — I see you’re getting an
ssl.SSLCertVerificationError: self-signed certificate in certificate chain
and want to disable verification so your Python code can connect. Quick answer (development only): you can disable SSL verification for aiohttp by creating a connector that skips checks. Example:
Copy code
import aiohttp

connector = aiohttp.TCPConnector(ssl=False)
async with aiohttp.ClientSession(connector=connector) as session:
    async with session.get("<https://your-server>") as resp:
        print(await resp.text())
Alternative (equivalent): create an insecure SSLContext:
Copy code
import ssl
import aiohttp

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

connector = aiohttp.TCPConnector(ssl=ctx)
Important security note: Do not use these settings in production. Disabling verification exposes you to man‑in‑the‑middle attacks. Safer recommendation (best practice): • Add the self‑signed certificate (or your internal CA) to a trusted CA bundle and point Python to it via
SSL_CERT_FILE
or
REQUESTS_CA_BUNDLE
environment variable, or configure your system trust store. That preserves TLS validation while trusting your certificate. If you’re using the LiveKit Python SDK: the SDK does not document a built‑in flag to turn off SSL verification, so you’ll need either to: • Trust the certificate at the OS / env level (recommended), or • If the SDK exposes a way to pass an
aiohttp
connector or custom HTTP client, pass a connector like above (only for development). If you tell me: • Are you running this locally or in a container/VM? • Which LiveKit client or SDK code path you’re using (raw
aiohttp
, LiveKit Python SDK, or another wrapper)? I can provide specific commands to export the certificate, add it to a CA bundle, or show how to configure the environment for your runtime. Sources: Python SDKs | livekit/livekit_composite | DeepWiki | Running LiveKit on AWS
n
is there any way such that i can disable ssl for all requests for particular room job ?
t
Thanks — I hear you want to disable SSL verification for all requests associated with a particular LiveKit “room job.” Short answer: No — there’s no documented or supported way to turn off TLS/SSL verification globally for a specific LiveKit room job. The Agents framework and SDKs are built to use secure connections (HTTPS/WSS) and do not provide a job‑scoped global disable for certificate verification. What you can do instead (safe options and development workarounds): • Trust the certificate (recommended) ◦ Add your self‑signed certificate (or your internal CA) to the host/container trust store or a custom CA bundle. ◦ Point Python/other runtimes at the bundle (e.g., set
SSL_CERT_FILE
or
REQUESTS_CA_BUNDLE
) so all requests still validate but trust your cert. • Configure the specific client making the requests ◦ If you control the code that makes the HTTP/WebSocket calls (for example, direct
aiohttp
calls), you can disable verification per client by passing a connector/SSLContext with verification turned off. ◦ Use this only for development or trusted internal networks — it is insecure. • Component-specific flags ◦ Some plugins/components may expose their own
use_ssl
or similar flags (for example, certain TTS plugins). Check the individual component’s config to see if it accepts an option to bypass or alter SSL behavior. • Proxy or internal gateway ◦ Terminate TLS at a trusted gateway or reverse proxy that you control, with that proxy talking to your LiveKit components over an internal trusted network. Why I don’t recommend a global “disable for a room”: • Disabling verification for a room/job would create a significant security risk for other traffic and isn’t supported by the framework’s security model, which expects TLS for signaling and media. If you’d like, tell me: • Which SDK or agent you’re using (LiveKit Python agent, Node agent, direct aiohttp calls, etc.), and • Whether this is for development or a production environment. With that I can give exact commands or code snippets to (a) add your cert to a trust bundle, or (b) show the exact place to set an insecure connector for development only. Sources: Agents (Node.js) | livekit/livekit_composite | DeepWiki | How to build an agent with speech-to-text input and text-only output | Live... | server-sdk-go | livekit/livekit_composite | DeepWiki | Agents Framework | livekit/livekit_composite | DeepWiki | Security | LiveKit