AI Viral Clip Cutter - Long Video to Ranked Shorts
Pricing
Pay per event
AI Viral Clip Cutter - Long Video to Ranked Shorts
Cut a long podcast, interview or webinar into ranked vertical clips. It transcribes the video, scores each moment 0 to 100 and cuts the best to 9:16 with captions burned in. Rows hold the clip link, score, title and hashtags. Runs on your own OpenAI key. $200.00 per 1,000 rows, one row per clip.
Pricing
Pay per event
Rating
5.0
(1)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Cut a long podcast, interview or webinar into ranked vertical clips with captions burned in: point it at a direct link to the recording and it transcribes the whole thing, scores each moment for how clip-worthy it looks, cuts the strongest ones to 9:16 over a blurred fill instead of a crop, and burns word-synced captions onto each one.
Two things to know before you start. The transcription and the scoring run on your own OpenAI key, so OpenAI bills you for those separately. And the source needs to be short: audio much past about thirteen minutes tends to fail at the transcription step, so trim a long episode before you feed it in.
| Input | A direct link to one video file, .mp4, .mov or .webm |
| Output | One MP4 per clip, and a row with its link, rank, score, title, reason and hashtags |
| Ceiling | 20 clips per run, from a source of about 13 minutes of audio at most |
| Account needed | Your own OpenAI key |
| Price | $200.00 per 1,000 rows, so $0.20 a row, which is normally one finished clip. On the Free plan, a little less on paid plans. The free plan's $5 a month covers about 25 |
🔍 What AI Viral Clip Cutter does
Four steps, one pass.
Transcribe. The whole audio track, in the language you name or detected automatically.
Score. Each moment gets a 0 to 100 score built from five dimensions: hook, emotion, flow, value
and trend. minScore sets the bar and maxClips sets how many of the survivors get cut, strongest
first.
Cut. The clip is taken from the source at the model's timestamps, with half a second of padding
either side. 9:16, 1:1 and 16:9 render at that size with the whole source frame centred over
a blurred copy of itself, so nothing is cropped off a speaker. original keeps the source frame
exactly as it is.
Caption. Word-synced captions in one of five looks: karaoke, hormozi, beast, tiktok or clean.
The score ranks candidates for you to review. It is not a prediction that anything will go viral.
📋 What data you get from each clip
| What you get | Field |
|---|---|
| The rendered MP4 in the run's key-value store, and a direct link to it | clipKey, clipUrl |
| Its place in the ranking, 1 being the strongest moment | rank |
| The 0 to 100 score, and the five parts behind it | score, dimensionScores |
| A short label for the moment | title |
| The model's own reason for picking it | reason |
| Suggested hashtags | hashtags |
| Where it sits in the source, and how long it runs | start, end, durationSeconds |
| The shape it was rendered at | aspectRatio |
▶️ How to cut a long video into short clips
- Open AI Viral Clip Cutter and click Try for free.
- Paste a direct link to your video file into Video URL.
- Put your key into OpenAI API key (BYO).
- Set Max clips and Aspect ratio, pick a Caption style, then click Start.
- Read the rows in the Dataset tab and download the MP4s from the Key-value store tab.
Start it with no key or no link and you get the free demo record in the key-value store instead.
💰 How much does it cost to cut clips from a long video?
$0.20 per row in the dataset on the Free plan, less on paid plans.
In a normal run one row is one finished clip, so five clips cost $1.00, and on the free plan the $5
Apify gives you each month covers about 25. maxClips is your ceiling.
There is no per-minute charge on the source, and nothing extra for the transcript, the scoring pass, the reframe or the burned captions. One row covers all of it.
The only row that costs you without giving you a clip is the one written when nothing scored at or
above minScore. The demo record and a clip that failed to render are not charged.
Transcription and scoring run on your own OpenAI key, and OpenAI bills you for that usage directly. Nothing is added on top here.
📥 What you give it
{"videoUrl": "https://your-cdn.com/podcast-ep-42.mp4","maxClips": 5,"minScore": 60,"aspectRatio": "9:16","burnCaptions": true,"captionPreset": "karaoke","openaiApiKey": "your key here"}
| Field | Default | What it is |
|---|---|---|
videoUrl | none | A direct link to the video file itself. Not a YouTube page link. |
maxClips | 5 | How many clips to produce, 1 to 20, highest score first. |
minScore | 60 | The bar a moment has to clear, 0 to 100. Lower it if you get too few clips. |
aspectRatio | 9:16 | 9:16, 1:1 or 16:9 put the whole frame over a blurred fill at that size, with no crop. original leaves the frame alone. |
burnCaptions | true | Burn word-synced captions into each clip. |
captionPreset | karaoke | karaoke, hormozi, beast, tiktok or clean. |
language | auto | The spoken language as an ISO code, or auto. |
openaiApiKey | none | Your own key. Stored as a secret. Without it you get the demo record, not clips. |
detectModel | gpt-4o-mini | The chat model that scores moments. |
baseUrl | none | Any OpenAI-compatible endpoint, if you run one. Empty means OpenAI's own. |
videoUrl has to be the file, not the page it sits on. For a YouTube video of your own, run
YouTube Downloader Pro first and feed it
the file link.
📤 What you get back
One dataset row per clip, and the rendered MP4 in the run's key-value store under the key named on the row.
No run on record has cut clips with a customer's key, so there is no real clip row to show yet, and a
typed-out one would be a guess. Run it with no videoUrl and this real record is what you get,
written to the key-value store under SAMPLE_AND_NOTICES rather than to the dataset:
{"_demo": true,"_notice": "SAMPLE OUTPUT ... provide a \"videoUrl\" and \"openaiApiKey\" to generate real viral clips.","ok": true,"clips": 0,"note": "Demo run: no \"videoUrl\" supplied.","aspectRatio": "9:16","maxClips": 5,"minScore": 60,"sourceDurationSeconds": 0}
| Field | How to read it |
|---|---|
rank | 1 is the strongest moment. Rows come back in this order. |
score | The weighted 0 to 100 score used to rank and filter. |
dimensionScores | The parts behind it: hook, emotion, flow, value and trend. |
start, end | Source timestamps in seconds, including the half second of padding. |
clipUrl | The link to the finished MP4. clipKey is its name in the store. |
🧾 Reading the output
| What happened | Where it lands | Costs a row |
|---|---|---|
| A clip rendered | The dataset, ok: true, with clipUrl | yes |
Nothing scored at or above minScore | The dataset, with clips: 0 and a note | yes |
No key or no videoUrl | The key-value store, SAMPLE_AND_NOTICES, _demo: true | no |
| One clip failed to render | The key-value store, SAMPLE_AND_NOTICES, ok: false | no |
| No speech, no audio track, or a download that failed | Nowhere. The run ends as failed | no |
The second line is the one to watch. When no moment clears minScore, a row still goes to the
dataset saying so, and a row is a row. Lower minScore and re-run rather than repeating it at the
same setting.
If every clip fails to render, the run still finishes as succeeded with an empty dataset, and the
reasons are in SAMPLE_AND_NOTICES. Check the key-value store before assuming a quiet run did
nothing.
💡 What people use it for
- Turning a weekly podcast episode into a handful of vertical clips without opening an editor.
- Pulling the three strongest minutes out of a long interview for a launch day.
- Making square cuts for a feed and wide cuts for a channel from the same recording.
- Getting
title,reasonandhashtagswritten for you, so the posting queue is half filled in.
From your own YouTube episode to clips with a posting order, in three runs:
- Run YouTube Downloader Pro on the
episode and copy
mediaUrlfrom its row. - Paste that link into Video URL here and start it.
- Put the clips'
titlevalues into Texts / variants on Hook & Virality Scorer and post the best-ranked title first.
🚧 What it does not do
- Long sources are the weak point. Audio much past about thirteen minutes tends to fail at transcription. Split a long episode first.
- Only the first 24,000 characters of the transcript are scored. Anything said after that is never considered, even on a source that transcribes fine.
- It does not take a YouTube page link. Give it the video file.
- A high score is not a prediction. It ranks candidates for a human to review.
- Captions are sized for a vertical frame. With
aspectRatio: "original"on a landscape source they can come out the wrong size. Use16:9for landscape. - Clip boundaries come from the model, with half a second of padding. Expect to trim a few by hand.
- No speech, no clips. A source with no audio track, or with nothing spoken, ends the run as failed rather than returning anything.
- One video per run. Schedule or loop for a back catalogue.
- It is not an official tool of any platform or company named on this page. Dami's Studio is independent and is not affiliated with or endorsed by any of them.
🧭 Which AI video actor do you need?
| If you want | Use |
|---|---|
| Ranked short clips cut out of a long video | This one |
| Captions burned onto a video you already have | Auto Caption Burner |
| A short built from a story or a topic, from scratch | AI Faceless Video Generator |
| A full transcript of the recording, with SRT and VTT files | Video & Audio Transcriber |
| Clip titles scored and ranked before you post | Hook & Virality Scorer |
| The source file from your own YouTube video | YouTube Downloader Pro |
❓ Questions people ask
Do I need an OpenAI key to cut clips?
Yes. Transcription and moment scoring both run on it. Without a key you get the demo record in the key-value store and no clips.
Does a high score mean the clip will go viral?
No. It is a ranking heuristic, so the best candidates come first and you still decide what to post.
Why did I get fewer clips than I asked for?
Not enough moments cleared minScore. Lower it and run again.
Where are the video files?
In the run's key-value store, one per clip, with the key and a link on each dataset row.
Can I call it from code or connect it to an AI assistant?
Yes. The API tab has ready-made
code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect
https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/ai-viral-clip-cutter. Either way the
run happens on your Apify account at the same price, and OpenAI bills your key as usual.
🆘 If something breaks
Open the Issues tab on the actor page. Send the run ID and the length of the source. The notes in
SAMPLE_AND_NOTICES usually say what dropped.
