Both API clients are generated from the same OpenAPI document and expose the
same operations under the same names, so an example in one translates to the
other by mechanical substitution —
talqing.agents.versions.rollback is that
call in both. Only the argument style differs, and it differs uniformly.
The browser entrypoint ships inside the npm package. There is no second install
and no livekit-client for you to add.
Install and make a call
import and require both work. The Python package
ships a py.typed marker, so your type checker sees every shape it declares.
Talqing.from_env() takes TALQING_API_KEY and TALQING_BASE_URL, and
anything you pass wins over both.
What both clients agree on
The base URL is required and has no default
Neither client will start without one. That is deliberate: a bundler inlinesNEXT_PUBLIC_* at build time, so a client that quietly fell back to localhost
would ship a production bundle calling a server that is not there — and it would
fail as a connection error three layers down, at runtime, on a customer’s
machine. A client that refuses to start says what is actually wrong, at the line
that is wrong.
The base URL is also how you choose a region: one token reaches every region, so
working in a second one is the same token and a different base URL. See
regions.
One error type
Every non-2xx raises one exception carrying the API’s one error envelope. There is nothing to branch on. Full detail on errors.One paging helper
All twenty-five list endpoints return the same envelope, so each SDK ships onepaginate rather than a listAll per resource. See
pagination.
Typed streams
The six server-sent-events endpoints come back as typed frames discriminated onevent — an async iterable in TypeScript, a context manager in Python. See
streaming.
Types named as the API names them
Every request and response shape is exported under the API’s own name:AgentConfig, AgentResponse, CallOutcome, OperationRequest. In TypeScript
they are TypeScript types; in Python they are TypedDicts, which describe a plain
dict at runtime and cost nothing when you run.
Where each resource lives
The namespace path is identical in both languages. TypeScript spells it in camel case, Python in snake case; only the four names below actually differ.What the SDKs do not cover
Sign-in, workspaces, members, roles, personal access tokens and payments live on a separate control host and are outside this surface — see what is not here. Create a token in the dashboard and everything above is reachable.TypeScript
Client options, the call shape, errors, pagination and streams.
Browser
Every hook and component in the web-call layer, with signatures.
Python
Sync and async clients, the omit rule, streams and typing.
MCP server
The same surface, for a coding agent in your terminal.