Quickstart

There are two ways to start and they take about the same time. Connect the MCP server to your agent and paste a link into the chat, or send one HTTP request and read the sheets back yourself. A free account starts with 60 credits and needs no card.

Last updated

From an agent

Nothing installs. The server runs on our infrastructure and your client connects to a URL — which is also why this route works from a phone.

  1. Add the connector

    Use the button below, or paste the server URL into your client's MCP settings. There is no API key in the link, so it is safe to share or bookmark.
  2. Sign in

    Claude sends you through a consent screen naming exactly which scopes are being granted. Approving takes one click and lands you back in the chat.
  3. Paste a link and ask

    Any YouTube, TikTok, Instagram, X, Facebook, Vimeo, Twitch, Dailymotion or Reddit URL. The agent calls watch_video and answers from the frames rather than from the description.
Or, in the terminal with Claude Codebash
claude mcp add --transport http playhead https://mcp.tryplayhead.com/mcp
# then /mcp to sign in
A first question worth askingtext
https://www.tiktok.com/@user/video/730… — what is the hook here,
and exactly when does it end?

Every other client — ChatGPT, Cursor, VS Code, Codex, LM Studio — is on the connect page, with a button or a config block for each.

From your own code

The same engine, called directly. One bearer token, JSON in and JSON out.

  1. Create an API key

    In the dashboard under Keys. It is shown once — we store only a hash, so a lost key is replaced rather than recovered.
  2. Install the SDK, or skip it

    npm install @playhead/sdk if you are in Node. Everything it does is one HTTP request, so curl or any other language works just as well.
  3. Make one call

    Omit start and end and the answer covers the complete video. Read coverage.is_full_video on the response to confirm it.
Install the TypeScript SDKbash
npm install @playhead/sdk
Analyse a whole video and print its cutsts
import { Playhead } from "@playhead/sdk";

const playhead = new Playhead();          // reads PLAYHEAD_API_KEY

const video = await playhead.watch({
  url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
});

console.log(video.coverage.is_full_video);   // true
console.log(video.technical?.scene_cuts);    // [3.4, 7.8, 12.1, …]
console.log(video.transcript?.text);

for (const sheet of video.sheets) {
  console.log(sheet.t0, "→", sheet.url);
}
The same thing with curlbash
curl -X POST https://api.tryplayhead.com/v1/frames \
  -H "Authorization: Bearer $PLAYHEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'