// the find
muxinc/mux-ts
Official Mux API wrapper for Node projects, supporting both Mux Data and Mux Video.
The official server-side TypeScript/JavaScript client for Mux's Video and Data APIs — asset creation, live streams, playback, analytics, webhooks. For anyone building video hosting/streaming on top of Mux who wants typed request/response shapes instead of hitting the REST API raw.
The JWT helpers are genuinely useful: signPlaybackId covers playback/thumbnail/gif/storyboard/DRM tokens and can batch-sign all of them in one call in a shape that drops straight into mux-player props. Webhook handling (mux.webhooks.unwrap/verifySignature) does real HMAC verification with specific, actionable error messages rather than a generic throw. Auto-pagination via async iterators and sane retry/timeout defaults (2 retries, 1 min timeout, both configurable per-request) are built in rather than left to the user. Runtime support is unusually wide — Node, Deno, Bun, Cloudflare Workers, Vercel Edge — because it's generated against a real fetch abstraction instead of Node-only APIs.
This is a Stainless-generated SDK (like the OpenAI/Anthropic clients) — nearly everything outside jwt.ts and webhooks.ts is boilerplate CRUD wrappers over the OpenAPI spec, so there isn't much hand-written logic to evaluate. It's a recent rename/major rewrite from mux-node-sdk (the README points to a MIGRATION.md for v14), so anyone upgrading from the old package has real work to do, and the naming churn (@mux/ts) suggests the package identity isn't settled yet. Tests are the standard generated per-resource mock tests against a local mock server — there's no visible integration suite hitting real Mux endpoints, so request-shape bugs could slip through until someone hits them in production. The webhook example only shows a Next.js route; anyone on Express or another framework has to piece together header/raw-body handling themselves from a shorter secondary snippet.