extract_clips
Cuts the best moments from a long video file or YouTube link into captioned vertical 9:16 shorts, returning a job ID to poll until rendering finishes.
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.
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. | single |
| tighten | No | Cut out silences and dead air inside each short. | |
| 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 |