extract_clips
Cuts highlight moments from a long video or YouTube link into captioned vertical shorts by transcribing speech, scoring segments, tracking faces for 9:16 crops, and adding animated captions.
Instructions
Cut the best moments out of a long video (a local file path or a YouTube link) into captioned vertical shorts: it transcribes the speech with Whisper, scores the moments, crops to 9:16 with face tracking and burns in animated captions. It runs in the background: the call returns a job_id immediately and the work can take several minutes (longer on a computer without an NVIDIA GPU), so poll get_render_status until the job is 'completed' or 'failed'. Clipping works without any API key; an AI key only improves scoring and titles. Files are written under the ShortsFlow folder (sessions/...) and nothing is uploaded. Use generate_short instead to create a video from a topic.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"source_video": "<source_video>"
},
"name": "extract_clips"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| layout | No | Framing: single = face-tracked crop; split = two speakers stacked; active = cut to whoever is talking (stacked when unsure), best for podcasts and interviews; fit = the whole picture centred over a blurred copy of itself, nothing cropped off the sides (screen recordings, gameplay). | single |
| tighten | No | Cut out silences and dead air inside each short. | |
| language | No | Language spoken in the video (en, hi, es, fr, ...; 'auto' detects it). | en |
| auto_edit | No | Edit like an editor: cuts, zooms, cutaways, teaser opening, colour and sound effects for this kind of video. | |
| clip_count | No | How many shorts to cut out. | |
| smart_crop | No | Follow the speaker's face when cropping the wide video to vertical. | |
| source_video | Yes | Local video file path or a YouTube/other video URL to clip. Required. | |
| use_remotion | No | Animated captions (needs Node.js). False renders without animated captions. | |
| caption_style | No | Animated caption look (needs use_remotion): HORMOZI = bold yellow single words, GLOW_BOX = words in boxes with a pink highlight, BOUNCE = bouncy gold single words, MINIMAL = clean dark boxes, AUTO/RANDOM = pick for me. | HORMOZI |
| edit_strength | No | With auto_edit: how much of the edit shows (subtle keeps it quiet, hyped uses everything). | medium |