TikTok, Reels & Shorts Video Analyzer: hooks, scenes, text avatar

TikTok, Reels & Shorts Video Analyzer: hooks, scenes, text

Pricing

Pay per event

Go to Apify Store
TikTok, Reels & Shorts Video Analyzer: hooks, scenes, text

TikTok, Reels & Shorts Video Analyzer: hooks, scenes, text

Every scraper hands you the metadata. This one watches the video and tells you why it worked.

Pricing

Pay per event

Rating

0.0

(0)

Developer

FrameProbe

FrameProbe

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

TikTok, Reels & Shorts Video Analyzer: hooks, scenes, on-screen text

Last verified: 2026-08-12

Every scraper hands you the metadata. This one watches the video and tells you why it worked.

What it does

Point it at short-form videos and get one structured record per video: the production stack, the hook style, the structure and pacing, scene count and cut cadence, the on-screen text read straight off the frames, an asset list, a plain-language explanation of why the video worked, and a 0 to 10 "worth copying" score. Built for creators, agencies, and growth teams who reverse-engineer what performs instead of guessing.

Output is a full structured record per video, ready to export or feed into your own tools.

How it works: two inputs

This Actor analyzes videos. It does not scrape social sites. Feed it one of two ways.

1. Chain a scraper's dataset (recommended). Run a TikTok, Instagram, or YouTube scraper, then pick its dataset. This Actor reads the media URLs the scraper already collected and analyzes each one. This is the reliable path for all three platforms, because they block video fetching from cloud servers.

2. Direct media URLs. Already have direct video file URLs? Pass them in videoUrls and it analyzes them right away.

Pasting a tiktok.com, instagram.com, or youtube.com page link will not work. Those need a scraper first, and the Actor tells you exactly which one to chain when it sees a page link.

Try it free, no key

Run it with no API key and it still downloads each video and measures it: duration, resolution, scene count, cut cadence, plus the sampled frames in the key-value store. You get real records and pay nothing per video. The model-read fields (hook, structure, on-screen text, score) come back empty and status is preview, so a preview row is never mistaken for an analysis. Keyless runs process up to 3 videos.

Add a key to get the full teardown.

Bring your own vision key

Analysis runs on your own Anthropic API key, so you control the model and the cost. Default model is claude-sonnet-5; set claude-opus-5 for the most capable read or claude-haiku-4-5 to spend less. Your key is used for the run and never stored or logged. More providers are coming; v1 supports Anthropic.

Your key and model id are checked against your own account before the run starts, so a wrong key or a mistyped model fails immediately and costs you nothing.

Quickstart

  1. Optional: hit Start with the default input first. No key needed, and you get a measured record plus frames back in seconds.
  2. Run a scraper Actor for the platform you care about.
  3. Get an Anthropic key at console.anthropic.com and paste it into Your vision model API key.
  4. Pick the scraper's dataset in Dataset from a scraper run.
  5. Set Maximum videos to cap your spend.
  6. Run it. Records land in the dataset; sampled frames land in the key-value store.
{
"datasetId": "aBcDeFgHiJkLmNoP",
"maxVideos": 25,
"framesPerVideo": 6,
"includeOnScreenText": true,
"language": "en",
"visionProvider": "anthropic",
"visionApiKey": "sk-ant-..."
}

What you get per video

{
"url": "https://cdn.example.com/clip.mp4",
"platform": "tiktok",
"status": "ok",
"durationSeconds": 52.21,
"width": 854,
"height": 480,
"sceneCount": 6,
"cutCadenceSeconds": 4.96,
"productionStack": "motion-graphics",
"hookStyle": "story-frame",
"hookNotes": "Opens on black then a dark foggy shot to build atmosphere before revealing characters.",
"structureStyle": "story-arc",
"onScreenText": ["http://jell.yfish.us"],
"captionTreatment": "Burned in, word timed, white with a yellow accent word, lower third.",
"visualSystem": "Consistent dark frame with a torn-paper title card between steps.",
"assets": ["torn-paper title card", "warm cinematic grade"],
"formatScore": 5,
"whyItWorked": "Moody open with a slow reveal, relying on visual spectacle and curiosity rather than a spoken claim.",
"confidence": "med",
"likelyTools": "3D animation software, video editor",
"frameKeys": ["frame-9f2a1c7d4e6b8a03-00.jpg"],
"analysisStatus": "ok"
}

Measured from the file by ffprobe and ffmpeg, never by the model: durationSeconds, width, height, sceneCount, cutCadenceSeconds. The scene detector fires on hard cuts, overlays and kinetic text alike, so read the cadence as a measured proxy for pace.

Read from the frames, pinned to these exact values:

FieldValues
productionStackreal-camera, generated-avatar, screen-recording, motion-graphics, mixed
hookStylecontrarian-claim, problem-promise, demo-first, list-tease, data-shock, story-frame, identity-call
structureStyledemo-walkthrough, numbered-list, problem-solution, before-after, tutorial-steps, commentary-overlay, story-arc, rapid-tips, reframe-explainer, statement-psa, unclassified
confidencelow, med, high
formatScoreInteger 0 to 10, how strong the format is as a model to copy

Free text in your chosen language: hookNotes, captionTreatment, visualSystem, whyItWorked, likelyTools. Lists: onScreenText (max 12), assets (max 8).

Pricing

WhatPrice
Actor start$0.01 per run, charged after your input validates
Preview (no key)$0.04 events never fire. Measured fields only, up to 3 videos
Video analyzed$0.04 per video that produced a record
Videos that failedFree. They appear in the dataset with a reason and are not charged
Vision model tokensBilled by Anthropic, directly to your account, at their rates

A keyless preview run costs one $0.01 start event and nothing else. If a link is dead or a platform blocks it, you pay nothing for that video. maxVideos is your hard ceiling: at 100 videos a run cannot cost more than $4.01 from us.

Limits

  • Social page URLs need a scraper chain. See "How it works" above.
  • Direct URLs must be publicly fetchable from a cloud server.
  • Instagram and TikTok media links are short-lived signed URLs. Pass a fresh dataset rather than stored links, or expect download-403.
  • Videos are capped at 60 MB, 180 seconds, and 2160px on the long edge. Anything larger is reported as failed rather than silently truncated.
  • Frames, not audio. The analysis reads what is on screen. It does not transcribe speech, so a video whose whole point is spoken gets its visual format scored, not its script.
  • Analysis depth scales with framesPerVideo (default 6).

Maintained

Actively maintained. Broken inputs get diagnosed with a specific reason and a fix, not a stack trace: a deleted video, an age-gated one, and a platform blocking our IP each say so and each tell you what to do next.

See CHANGELOG.md.