The whole short-form toolkit arrives at once: clips, vertical framing, burned-in captions, and exports conformed to what the platforms actually want. This is the big one.
Clips, and the vertical frame they go out in
Select a range in the transcript, press ⌘⇧K, and it becomes a clip, highlighted in the text with its own rail card and a per-platform duration badge. Whenever a clip exists, Export turns into a split button whose primary action exports that clip: its own MP4 with a re-timed SRT beside it, from one save dialog. Frame presets sit alongside it (Original, Vertical 9:16, Square 1:1) with a crop overlay carrying platform framing guides, a safe box, and a thirds grid, so you can see what survives the reframe before you render. A short clip pre-arms 9:16 unless you have already picked a preset yourself.
Framing that finds the face
Arming a crop preset runs a one-shot, on-device face detection that pre-fills the crop position, centering the speaker in the safe box, with an Auto-frame button to run it again. A position you set by hand is never re-clobbered without that explicit re-run. A Detections toggle under the preview draws what the detector actually sees on the frame you are paused at, confidence score included, so a poor suggestion is explainable rather than mysterious. Every degraded outcome falls back silently to the centered crop.
Captions burned into the picture
Burned-in captions become a project setting with two states, Off and On, and no ambiguous Auto. When they are on, the caption stream is composited into the exported frames, and the preview pump composites the same stream from the same setting, so what you watch is what you ship. Placement is decided once per export, choosing the safe-box position that keeps the words readable without covering the detected face, and never moving mid-video.
Exports conformed to what the platform wants
Every video export sends an encode spec through a single seam, and the core conforms the encode to the platform-recommended upload profile: High Profile, closed GOP, CABAC, BT.709 tagged and converted, HDR rejected up front rather than at the end. Short-form adds the ingest overlay on top. The Deliverable Mode dialog reads source against target row by row, so you see "Source: 3840×2160, will scale to 1920×1080" before you commit rather than after. Frame rate can be clamped into the 23 to 60 band, and export loudness gains a video flavor: Off, −14 LUFS Social under a −1.5 dBTP ceiling, or Custom.
Say what you are making, once
After the first import into a new project, a chooser asks what you are making: Long-form, Short-form, or Podcast. Confirming applies the matching presets in one shot (Short-form arms 9:16, turns burn-in on, and sets a three-minute target) and then gets out of the way. It is never re-imposed, and anything you change afterwards stays changed. Skip it and nothing is applied at all. The chosen mode also shapes which panels are on screen, and the native View menu puts any of them back for good.
Two read-outs that keep you honest
An optional target runtime shows a live under or over read-out against the edited timeline, and inline timecode markers appear at each thirty-second boundary of the post-cut timeline, reshuffling as you strike and restore material. Both answer the same question: how long is the thing you are actually making. Separately, if the measured loudness of your source sits far from the target while normalization is Off, the chooser says so, and says in which direction.
Also in this release
- Audio-only exports gain a conformance clamp: sample rate snaps into the 44.1 or 48 kHz family, and MP3 bitrate lands in a mono or stereo band resolved from the source’s own probed bitrate. A source without a probed bitrate passes through unclamped rather than guessing at one.
- tract-onnx, tract-nnef, and time were bumped past Dependabot advisories.