Most social analytics tools hand your dashboard a pile of numbers. None of them let your AI agent look at a video and reason about why it underperformed. I wanted Claude and Cursor to be able to take a Reel URL and tell me what's wrong with the hook - so I exposed the engine behind Reelyze as a plain HTTP API and packaged a drop-in agent skill.
Here's how it works and how to wire it into your own agent.
What the API does
Give it a public Instagram Reel, TikTok, or YouTube Short URL, and it can:
- Analyze the video frame-by-frame - hook strength, the first-3-second retention, scene-by-scene signals, and the exact seconds viewers are predicted to drop off, with a verdict and specific fixes.
- Transcribe the spoken audio.
- Download a clean MP4, or extract the audio as MP3.
- Generate a full timed script (hooks → body → CTA, caption, hashtags, shot list) or a batch of content ideas from a topic.
The transcript, download, and audio tools are free and metered (50 calls/day per key), so you can build against them with nothing but an API key. Analyze, script, and ideas are on paid plans.
Auth
One Bearer key (rk_live_...), created in the Reelyze dashboard under API keys. Base URL is https://api.getreelyze.com. CORS is open, so it works from a backend, a browser tool, or any agent.
export REELYZE_API_KEY=rk_live_xxx
export REELYZE_BASE_URL=https://api.getreelyze.com
The video tools are async (submit → poll)
The analysis isn't instant - it pulls frames, OCRs on-screen text, transcribes, and scores retention - so you submit a job and poll for it.
# 1) Submit
curl -s -X POST "$REELYZE_BASE_URL/v1/analyze" \
-H "Authorization: Bearer $REELYZE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.instagram.com/reel/XXXX/"}'
# → {"job_id":"abc...","status":"queued","tool":"analyze","poll":"/v1/jobs/abc..."}
# 2) Poll every ~3s until completed
curl -s "$REELYZE_BASE_URL/v1/jobs/abc..." \
-H "Authorization: Bearer $REELYZE_API_KEY"
# → {"job_id":"abc...","status":"completed","report_markdown":"# ...full report..."}
The completed analyze job returns report_markdown - verdict, hook assessment, scene-by-scene retention, and the drop-off timestamps. Transcript/download/audio use the identical submit-then-poll shape; you just read transcript_text or artifact_url instead.
A tiny Node poller:
async function analyze(url) {
const base = process.env.REELYZE_BASE_URL, key = process.env.REELYZE_API_KEY;
const h = { Authorization: `Bearer ${key}`, "Content-Type": "application/json" };
const { job_id } = await fetch(`${base}/v1/analyze`, {
method: "POST", headers: h, body: JSON.stringify({ url }),
}).then(r => r.json());
for (let i = 0; i < 60; i++) {
const job = await fetch(`${base}/v1/jobs/${job_id}`, { headers: h }).then(r => r.json());
if (job.status === "completed") return job.report_markdown;
if (job.status === "failed") throw new Error(job.error);
await new Promise(r => setTimeout(r, 3000));
}
throw new Error("timed out");
}
The content tools are synchronous
/v1/script and /v1/ideas return the result directly - no polling.
curl -s -X POST "$REELYZE_BASE_URL/v1/script" \
-H "Authorization: Bearer $REELYZE_API_KEY" -H "Content-Type: application/json" \
-d '{"topic":"how I edit reels in 10 minutes","duration_seconds":30,"language":"English"}'
# → {"script":{ "hooks":[...], "script":[{timecode,label,spoken,on_screen}...],
# "caption":"...", "hashtags":[...], "shot_list":[...] }}
The agent skill (Claude / Cursor)
Instead of writing the poll loop yourself, drop in the skill file. It's a single self-contained SKILL.md (MIT-0) that teaches the agent the endpoints, the async pattern, and how to read the analysis report. Set one env var and the agent does the rest:
REELYZE_API_KEY=rk_live_xxx
Then you just talk to your agent:
> audit this reel and tell me why it flopped: <url>
→ Verdict: strong concept, buried payoff.
→ Hook: weak - lost ~62% by 0:03.
→ Drop-off at 0:11: 3s of B-roll with no narration.
→ Fix: cold-open on the result; cut the intro.
Because it's plain HTTP behind a Bearer key with open CORS, the same skill works from Claude, Cursor, a browser tool, or your own backend - no SDK, no install.
Why expose it as a skill, not just an API
The point isn't one call - it's chaining. An agent with this skill can transcribe → analyze → rewrite the hook → generate the next script in one flow, or compare two reels' hooks, or audit a competitor's winner and then draft your version informed by what the report found. The analysis becomes a step in a workflow instead of a tab you check.
Try it
The free tools (transcript, downloader, audio) work on any key at 50/day, and the first full analysis is free -getreelyze.com. Grab a key from the dashboard or the skill file from https://github.com/usamalatif/reelyze-skill.
If you're building creator tooling, I'd genuinely like feedback on two things: does the drop-off timestamp match what you see in your own retention graphs, and what would make the API more useful inside your own agent? Reply here or find me - Usama.
Top comments (0)