Integrations

Wire MixLens into the tools you already use.

Signed webhooks, bearer-token API, a desktop CLI with watch-folder mode, an MCP server for Claude Desktop / Cursor, and a Discord relay you can fork. Producers stop refreshing the tab.

One-line install

Score any bounce from your terminal.

The CLI ships with watch-folder mode, a CI gate flag, and a macOS Finder Service. Same endpoints the web UI hits.

$ mixlens analyze track.wav --wait
mixlens: score=84 band=pass mix_id=…
Foundation
Bearer-token API

Long-lived bearer tokens unlock every endpoint for desktop apps, scripts, and third-party clients.

ShippedPro+
  • Reveal-once secrets, SHA-256 hashed at rest
  • Per-token last-used timestamps for auditing
  • Same endpoints the web frontend uses — no second-class API
Signed webhooks

POST JSON to your endpoint when analysis lands, a render completes, or anything fails.

ShippedPro+
  • HMAC-SHA256 signed (same scheme as Stripe / GitHub)
  • Retry backoff 1m → 5m → 30m → 2h with delivery log per attempt
  • Subscribe per-event: analysis.complete / .failed, render.complete / .failed
Desktop
MixLens CLI

Analyze, render, and watch-folder from your terminal. macOS Finder Service ships in the same install.

ShippedPro+
  • `mixlens analyze track.wav` — upload + score in one call
  • `mixlens watch ~/Bounces` — auto-upload every new export
  • `--fail-on-band` exit codes for CI gating
  • Token lives in macOS Keychain, never in plaintext
Native DAW plugins (VST3 / AU)

In-DAW analyze + render. Use the watch-folder + CLI today for the same outcome without a plugin install.

Coming
  • Watch-folder mode covers the bounce → analyze path
  • Native plugin is a multi-month commit; demand-gated
AI tools
Claude Desktop & Cursor (MCP)

Drop the MCP server into Claude Desktop or Cursor and say 'fix this bounce' — the model handles upload, analyze, and render.

ShippedPro+
  • Seven tools: whoami, list_mixes, get_mix, analyze_mix, render_corrected, auto_fix, get_render
  • auto_fix mirrors the web UI's defaulting — one call after analysis lands
  • Responses pruned so the LLM gets structured fields, not noise
  • Runs locally; audio bytes go direct to R2
Notifications
Discord notifier

Producers get a Discord ping the moment a render lands, score + before/after included.

ExamplePro+
  • Self-host the FastAPI relay anywhere with HTTP egress
  • Embed color tracks readiness band (green / amber / red)
  • Verifies webhook signatures — no trust in headers alone
Slack

First-class Slack app with channel-picker OAuth — for now use the webhook relay pattern.

Coming
  • Webhook → Slack incoming-webhook works today (clone the Discord relay)
  • First-class app + channel picker on the roadmap
Automation
CI quality gate

Block merges on bounces that don't hit the band you require — pair the CLI with any CI runner.

ShippedPro+
  • `mixlens analyze track.wav --wait --fail-on-band=almost`
  • Exit 2 = gate tripped, exit 1 = upload error, exit 0 = pass
  • Parseable stdout line: score, band, mix URL
Build on this

Same endpoints as the web app. Same audio guarantees.

Everything above is a thin wrapper around the public API: presigned PUT for upload, structured payloads for analysis and renders. Signed webhooks fan events back out. Build whatever bridge you need; we'll keep the schemas stable.