# AI Video Analyzer: Scenes, Events & Timestamps (`deapi/tiktok-video-scene-analyzer`) Actor

Analyze what happens on screen in TikTok, YouTube, Twitch, Kick and X videos. Get timestamped visual events and structured JSON. Works on silent, noisy or foreign-language video because it reads the picture; it does not transcribe speech. Pay per use, priced at cost.

- **URL**: https://apify.com/deapi/tiktok-video-scene-analyzer.md
- **Developed by:** [deAPI](https://apify.com/deapi) (community)
- **Categories:** Videos, AI, Social media
- **Stats:** 9 total users, 5 monthly users, 82.6% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $15.20 / 1,000 tiktok visual analysis, up to 1 mins

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## AI Video Analyzer: Scenes, Events & Timestamps

Paste a public TikTok, YouTube, Twitch, Kick, or X video and get timestamped descriptions of what appears on screen, as structured JSON ready for content research, search, or another AI agent. No model key to bring, and no captions or audio needed.

**deAPI video tools**

- Need the spoken words too? → [TikTok Transcript from Audio: SRT, VTT & Speakers](https://apify.com/deapi/tiktok-transcript-scraper) or [Twitch & Kick VOD Transcriber: SRT, VTT & Speakers](https://apify.com/deapi/twitch-kick-transcript-scraper)
- Long Twitch or Kick VODs up to 2 hours with automatic length detection → [Twitch & Kick VOD Analyzer: AI Scenes & Timestamps](https://apify.com/deapi/twitch-kick-video-analyzer)

### What does AI Video Analyzer do?

It watches the picture of a video and returns a time-ordered list of visual events, plus a separate scene summary when the model returns one. The first three seconds are returned as a separate view, so you can review a visual opening without scrubbing through the whole clip.

Each row also carries the source platform, the actual duration when returned by the model, and the provider price quote. The analysis uses Marlin 2B through deAPI. Output is an Apify dataset you can export as JSON, CSV, Excel, or HTML, or read through the API.

### What can AI detect in a video?

- Timestamped visual events, such as a title card, cutaway, product shot, person, or change in layout.
- A time-ordered timeline of those events across the whole video.
- A filtered list of the visual events that overlap the first three seconds.
- A scene summary, when the model returns one.

This is visual video analysis. It does not transcribe speech, guarantee OCR, measure engagement, or predict virality. The first-three-second field is a time filter over the model's event list, not a performance score. Review important timestamps before publishing or making a decision.

### Supported video platforms

- TikTok, YouTube, Twitch, Kick, and X (public video URLs).
- The Marlin 2B model supports videos up to two hours; TikTok is capped at ten minutes in this version because the current TikTok pricing card ends at that duration.
- Only public videos that the upstream service can access are supported. Private, deleted, age-restricted, live, or inaccessible videos can fail.

### Video analysis vs transcription

| Question | Use |
|---|---|
| What was said? | [TikTok Transcript from Audio](https://apify.com/deapi/tiktok-transcript-scraper) or [Twitch & Kick VOD Transcriber](https://apify.com/deapi/twitch-kick-transcript-scraper) |
| What appeared on screen? | This Actor |
| Silent or music-only video | This Actor |
| Full audio + visual | Run both and join the records by video URL |

### How to analyze a video

Add one object per video and include its exact duration in seconds. TikTok requires it because the upstream price quote is based on the length band; for all platforms it lets the Actor check the Apify run price limit before processing. Copy `durationSeconds` from the TikTok Transcript from Audio dataset, or read it from the source.

```json
{
  "videos": [
    {
      "url": "https://www.tiktok.com/@danpovenmire/video/6833560903879806214",
      "durationSeconds": 32.646
    }
  ],
  "maxDeapiCostPerVideoUsd": 0.40,
  "maxTotalDeapiSpendUsd": 0.50
}
```

The Actor checks a provider quote before each analysis and skips a video that exceeds either cost cap.

Long non-TikTok videos need a run timeout long enough for the analysis: roughly 1.3× the video length plus a minute. The Actor skips a video without charge when the remaining run time is too short.

### AI video analysis output

Each row contains:

- A time-ordered list of visual events; a separate scene summary when returned by the model.
- A filtered list of the visual events that overlap the first three seconds.
- The source platform, actual duration when returned by the model, and the provider price quote.

#### Example: a 32-second TikTok

We ran Marlin 2B fast on a public TikTok. The measured deAPI quote and final charge both came to **$0.01125**. The returned visual timeline contained 16 events. A shortened, human-readable excerpt looked like this:

| Time | Visual event |
|---|---|
| 0.0–0.5 s | The speaker looks down and begins talking. |
| 0.5–1.5 s | He raises both hands. |
| 4.0–6.5 s | A movie title card appears. |
| 14.0–15.5 s | A still image of two girls with a puppy appears. |
| 28.5–30.5 s | The image changes to a split-screen featuring the puppy. |
| 32.0–32.5 s | The video ends on a black screen. |

These descriptions are shortened from the model's output. They show the type of visual event and timing to expect; verify timestamps against the original before reusing them.

### Video analysis API

Like every Apify Actor, it can be started from the Apify API, a schedule, a webhook, or the Python and JavaScript clients, using the same `videos` input shown above. Results are read from the run's dataset, so you can plug the timeline into your own pipeline, spreadsheet, or AI agent. The **API** tab has copy-paste examples.

### How much does AI video analysis cost?

Pay per successful analysis. **No Actor subscription and no model API key required.** Platform usage is included in the event price. There is a $0.00005 start fee per run, including unsuccessful runs; failed or skipped videos have no analysis event charge.

| Source / duration | Price (USD) |
|---|---:|
| TikTok up to 1 minute | $0.0152 |
| TikTok over 1, up to 2 minutes | $0.0227 |
| TikTok over 2, up to 3 minutes | $0.0302 |
| TikTok over 3, up to 5 minutes | $0.0452 |
| TikTok over 5, up to 10 minutes | $0.0828 |
| Twitch, Kick, YouTube and X | $0.0048 per video + $0.0043 per started minute |

The Actor is priced at cost (model provider cost plus Apify platform cost), with no markup.

For example, one 32-second TikTok costs $0.0152 plus the $0.00005 start fee, $0.01525 in total. A 4:01 Twitch video costs $0.0048 + 5 × $0.0043 = $0.0263, plus $0.00005 start = $0.02635. The Store pricing tab is authoritative.

#### Try it on the Apify Free plan

Use your available Apify free-plan credits for **20 short analysis attempts per calendar month**, with **one video per run and a 60-second maximum**. This is an Actor-specific allowance; it resets at 00:00 UTC on the first of the month. Analysis and start events still deduct from your Apify credit balance. We cover the external model cost for eligible free-plan use. You need available platform credits; this is not an unlimited free API.

An attempt is reserved only after the video passes validation and cost checks, just before submission. A submitted attempt counts even if the model subsequently fails. Paying users have no monthly trial cap. The Actor itself has no recurring subscription fee.

### Use cases

- Review a short-form video's visual opening and scene changes.
- Compare visual patterns across a batch of public creator videos.
- Find cutaways, title cards, product shots, and other visual moments by timestamp.
- Add visual events beside a transcript in a larger content-research pipeline.
- Create timestamped video context for a downstream AI agent.

### FAQ

#### Can AI analyze a video without captions?

Yes. The analysis works from the picture, so captions and audio are not needed.

#### Can it analyze a silent video?

Yes. Silent and music-only videos are a good fit, because the result comes from what appears on screen.

#### Does this Actor transcribe speech?

No. It is visual analysis only. For spoken words, use the [TikTok Transcript from Audio](https://apify.com/deapi/tiktok-transcript-scraper) or the [Twitch & Kick VOD Transcriber](https://apify.com/deapi/twitch-kick-transcript-scraper), then join the records by video URL.

#### Can I get timestamps for events in a video?

Yes. Every visual event comes with start and end times. Verify important timestamps against the original video before reusing them.

#### Can I analyze TikTok videos?

Yes, public TikTok videos up to ten minutes. Include the exact `durationSeconds` for each TikTok.

#### Can I analyze YouTube videos?

Yes, public YouTube videos up to two hours, priced per started minute.

#### Can I analyze Twitch or Kick VODs?

Yes, up to two hours here. For long VODs with automatic length detection, use the [Twitch & Kick VOD Analyzer](https://apify.com/deapi/twitch-kick-video-analyzer).

#### What is the difference between video scene analysis and scene detection?

Scene detection finds where cuts happen. Video scene analysis also describes in plain language what appears in each moment, with timestamps.

#### Can I use the output with an AI agent or RAG pipeline?

Yes. The output is structured JSON with timestamps, so you can index events in a vector store or pass the timeline to an LLM or agent as video context.

### Notes

- This is an independent tool and is not affiliated with any social platform.
- Free-plan use follows the monthly allowance described above.

# Actor input Schema

## `videos` (type: `array`):

Public video URLs from TikTok, YouTube, Twitch, Kick, or X. Include the exact duration in seconds so the Actor can check Apify's price limit before analysis. TikTok also requires it for the pre-run deAPI price quote; copy it from the TikTok Transcript Actor dataset.

## `maxDeapiCostPerVideoUsd` (type: `number`):

The Actor obtains a free price quote before sending each video to Marlin. Videos above this cap are skipped without analysis.

## `maxTotalDeapiSpendUsd` (type: `number`):

The Actor skips the next video when its quote would exceed this cumulative run budget.

## Actor input object example

```json
{
  "videos": [
    {
      "url": "https://www.tiktok.com/@danpovenmire/video/6833560903879806214",
      "durationSeconds": 32.646
    }
  ],
  "maxDeapiCostPerVideoUsd": 0.4,
  "maxTotalDeapiSpendUsd": 0.5
}
```

# Actor output Schema

## `dataset` (type: `string`):

One structured output row per video URL.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("deapi/tiktok-video-scene-analyzer").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("deapi/tiktok-video-scene-analyzer").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call deapi/tiktok-video-scene-analyzer --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,deapi/tiktok-video-scene-analyzer"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/kjRH2MqXSXriMxIdM/builds/dFuFrhkUtVLeMYxBS/openapi.json
