Docs

Drive ClipWisp headless.

Everything the studio does is callable: a REST API, the clipwisp CLI, and an MCP server your agent talks to directly. Auth is a per-user API key — create one in Settings → API keys (shown once, prefixed cw_).

REST API

One key, every capability.

Send your key as a bearer token. Sources, candidate scans, renders, and packaging are all plain JSON over HTTPS with typed error codes and idempotent renders. Sources: YouTube, TikTok, X/Twitter, Instagram, Twitch & Kick VODs, Vimeo, Reddit — or direct uploads up to 2 GB.

# add a source
curl -X POST https://api.clipwisp.io/api/v1/sources \
  -H "Authorization: Bearer cw_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=..."}'

# scan it for moments, then render candidate #1
POST /api/v1/creator-clips/candidates   { "sourceId": "src_..." }
POST /api/v1/creator-clips/render       { "sourceId": "src_...", "candidateId": "...", "idempotencyKey": "..." }

The full request/response contract lives in docs/platform-api-contract.md in the repo — every endpoint, error code, and quota rule.

CLI

URL → rendered clip in three commands.

$ clipwisp login --api-key cw_YOUR_KEY
$ clipwisp sources add "https://youtu.be/..." --wait
$ clipwisp clips find src_... --preset 30_60
$ clipwisp clips render src_... --candidate 1 --wait --out clip.mp4 --srt clip.srt

Built for scripts and agents: --json on every command prints pure API JSON to stdout, and exit codes are the contract (0 ok, 2 API error, 3 timeout, 4 unsupported input).

Install: npm install -g clipwisp — or run it without installing via npx clipwisp.

MCP server

Give your agent the studio.

Eight tools — list/add sources, find moments, render, download, package — over the Model Context Protocol. One command for Claude Code:

claude mcp add clipwisp -e CLIPWISP_API_KEY=cw_your_key -- npx -y clipwisp-mcp

Or in any MCP client config:

{
  "mcpServers": {
    "clipwisp": {
      "command": "npx",
      "args": ["-y", "clipwisp-mcp"],
      "env": { "CLIPWISP_API_KEY": "cw_your_key" }
    }
  }
}

Renders accept an idempotencyKey, so agent retries never double-charge.