# Short-Form Shorts (5 / 10 / 15 / 30 / 60 seconds)

Turn one long video into short, captioned, vertical clips at five fixed lengths, 5, 10, 15, 30, or 60 seconds, and finish each one with animated text in a single click. This is the short-form path CoreReflex is building first, because it is the fastest way from "I recorded something" to "I published something."

**Status (September 2026):** the duration engine's first verified slice is live in the codebase (requested length bounds are now honored by every candidate selector), and the clipping pipeline it plugs into, Auto-Clips detection, captions, reframe, render, is live in the product. The full one-click in-product flow (pick a length → correct → one-click finish → export) is still being wired end to end. Each section below says exactly what works today.

**On this page**

- [The idea in one paragraph](#the-idea-in-one-paragraph)
- [Step-by-step: make a short today](#step-by-step-make-a-short-today)
- [The five lengths, explained simply](#the-five-lengths-explained-simply)
- [Natural-cut vs. exact-fit](#natural-cut-vs-exact-fit)
- [What "bounds honored" means for you](#what-bounds-honored-means-for-you)
- [Captions, framing, and audio finish](#captions-framing-and-audio-finish)
- [One-click animated finish (next)](#one-click-animated-finish-next)
- [Batch review, recovery, and delivery](#batch-review-recovery-and-delivery)
- [Limits that protect you](#limits-that-protect-you)
- [Troubleshooting](#troubleshooting)
- [Related pages](#related-pages)

---

## The idea in one paragraph

You upload a long video. CoreReflex finds the useful moments, cuts each one to fit a short length you chose, captions it, reframes it vertical, and renders an MP4 you can publish. Think of the five lengths as five different "containers": a 5-second hook, a 10-second teaser, a 15-second story beat, a 30-second explainer, a 60-second mini-episode. The system never silently stretches or shrinks your words to fit, if a moment cannot fit a length honestly, it tells you instead of faking it.

## Step-by-step: make a short today

This is the path that works right now, using the live Auto-Clips studio plus the editor.

1. **Upload your long video.** Open the **Auto-Clips** card on your dashboard (or [corereflex.com/auto-clips](https://corereflex.com/auto-clips)). Upload or import the source. Large imports are normalized to temporary audio first, so long files no longer exhaust worker memory.
2. **Detect moments.** Run detection. You get ranked, non-overlapping moments with titles, hooks, timecodes, and scores. The score is editorial ("this looks like a clean, self-contained beat"), never a promise it will go viral.
3. **Pick your target length.** Decide which container each moment belongs in, 5, 10, 15, 30, or 60 seconds. A moment longer than its container is a candidate for trimming; a moment shorter than its container stays short (see [Natural-cut vs. exact-fit](#natural-cut-vs-exact-fit)). Requested minimum/maximum bounds are now honored by the selectors with no silent widening.
4. **Select and generate.** Pick the moments you like and generate. Each one is trimmed, reframed to 9:16 (or 1:1), captioned in a style-matched persona, and rendered to your library as an editable project.
5. **Correct captions and framing.** Open the short in the editor. Fix words by editing the transcript (the video follows the words), adjust the vertical reframe, and check caption safe areas. Moving subjects, two-speaker scenes, and screenshares each get a real three-aspect render check.
6. **Finish with text and motion.** Add an animated text overlay or a vector move from your preset pack (one editable batch, one Undo). See [One-click animated finish](#one-click-animated-finish-next) for what is live vs. next.
7. **Export and reopen.** Export the MP4, publish it from **Distribute → Publishing**, and reopen the project any time, every short stays an editable project, not a baked file.

## The five lengths, explained simply

| Length | Best for | What fits |
|--------|----------|-----------|
| **5s** | Hooks, stingers, logo bumps | One line, one punch |
| **10s** | Teasers, replies | One idea, setup + payoff |
| **15s** | Story beats, tips | One tip with one example |
| **30s** | Explainers, testimonials | A small arc: hook, meat, CTA |
| **60s** | Mini-episodes, summaries | A chapter with chapters inside |

Pick the smallest container your moment honestly fits. A 12-second thought is a 15-second short with breathing room, not a 10-second short with the ending chopped off.

## Natural-cut vs. exact-fit

Every short is planned in one of two modes. You do not need to memorize this, but it explains what the app will and won't do:

- **Natural-cut (default).** The cut may come out *shorter* than the target, a 12-second beat in a 15-second container ships as 12 seconds. It will never silently trim words, pad dead air, overlap ranges, or speed up your speech to fill time.
- **Exact-fit (explicit approval only).** Fills the container exactly, but only with things you approve first: an approved hold frame or an end card with wording you supplied. Unsupported fills fail loudly instead of inventing footage, and overlong narration is rejected.

Both modes count in whole video frames at your project frame rate, so what you approve is what renders.

## What "bounds honored" means for you

When you ask for "a 10-second short," the system now treats that as a promise, not a hint:

- Minimum and maximum length requests are respected by every candidate picker (local, model, and video selectors, plus the fallback). No silent range widening, no endpoint truncation, no default minimum overriding your max-only request.
- Impossible or self-contradictory requests (minimum longer than maximum, non-numeric values) are rejected with a plain reason instead of producing a wrong cut.
- Edge cases, exactly-on-the-boundary lengths, single-frame sources, very short sources, are covered, not crashed on.

This slice is verified in the codebase with tests; the in-product length picker UI that exposes it everywhere is still being finished.

## Captions, framing, and audio finish

- **Word edits stay aligned.** Edit a word in the transcript and the video, captions, and source clocks move together. Words are aligned by video frame index, so multi-word timings collapse correctly.
- **Caption audio is isolated.** Caption preparation uses isolated temporary audio with cleanup, so a long import cannot pollute or exhaust the worker, and transcript coverage is preserved.
- **Framing.** Vertical reframe keeps moving subjects in frame; check the 9:16, 1:1, and 16:9 previews before you ship. Manual reframe is always available and undoable.

## One-click animated finish (next)

The goal: one click applies an animated text overlay or a vector move (slide, float, bounce) from your brand's preset pack as a single editable batch, speech and captions preserved, brand versions retained, one Undo to revert. The preset contract underneath (timing, frame rate, brand bindings, conflict checks, idempotent apply) is specified; the in-clip one-click surface ships after the caption/framing finish above. Advanced motion (per-path vector animation, logo reveals, cartoon characters) follows in later releases and never blocks the basic finish.

## Batch review, recovery, and delivery

Making five shorts at once should not mean losing four when one fails:

- A partial failure preserves the completed shorts. Retry and restart skip work that already finished, you never pay twice for the same completed render.
- Review shows real costs and counts before you commit.
- Scheduling a short reuses the exact approval snapshot you signed off on (see [Distribution & Agent Mode](distribution-and-agent-mode.md)).

## Limits that protect you

- Actual delivered duration is always reported; limits are never silently relaxed.
- One-frame sources, odd frame rates, and sources shorter than the target fail with a named reason (`no_fit`) and a concrete explanation.
- Review evidence must match the current source revision. If the source changed since the plan was made, the plan is rejected as stale instead of cutting the wrong words.

## Troubleshooting

| Symptom | Likely cause | Fix |
|---------|--------------|-----|
| "No fit" for a length | The moment honestly cannot fit that container | Pick the next length up, or trim the moment first |
| Captions drift after a word edit | Source changed under the plan | Re-run detection on the current revision |
| Reframe cuts off a speaker | Two-speaker or screenshare scene | Use manual reframe, check all three aspects |
| Generate stalls on a long import | Transcription windows still processing | Wait for detection to finish; partial results are kept |

## Related pages

- [Auto-Clips](auto-clips.md), the detection-to-render studio this path runs on today
- [Editing & Mastering](editing-and-mastering.md), transcript editing, reframe, captions, export
- [Distribution & Agent Mode](distribution-and-agent-mode.md), drafts, scheduling, queue, and receipts
- [Coming Soon](coming-soon.md), what is still being finished on this path
