← ClaudeAtlas

end-cardlisted

Composite a closing CTA banner ("FOLLOW FOR MORE" + @C0BALT_CUT) over the last ~2.5s of a finished short so it lands on an intentional beat instead of dead-stopping on a dangling word. Timeline-preserving (audio copied, duration identical), deterministic, non-fatal. END_CARD=0 skips.
jperrello/C0BALT_CUT · ★ 2 · Data & Documents · score 63
Install: claude install-skill jperrello/C0BALT_CUT
# end-card Closing-beat overlay. Runs in the finishing phase AFTER `bg-music` and BEFORE `qc-clip`, the last visual touch before the short is saved. Addresses the "ends abruptly / no loop or CTA" retention leak: the few viewers who reach the end get a branded call-to-action instead of a hard stop on a half-finished word. ``` end-card.sh <in.mp4> <out.mp4> [dur=2.5] [line1="FOLLOW FOR MORE"] [line2="@C0BALT_CUT"] ``` - **Timeline-preserving.** The card is an overlay that fades in over the final `dur` seconds of the existing footage. Audio is stream-copied; total duration is unchanged, so no downstream timestamp moves. - **Brand.** Impact, Platinum `#E8ECF1` headline + Sapphire Glow `#2E6BFF` handle, thick black stroke — rendered by `render_endcard.py` to a transparent PNG (the stack has no drawtext/libass), composited by ffmpeg. - **Placement.** Centered horizontally; vertical center at `END_CARD_Y_FRAC` (default 0.60) so it sits above the lower-third caption band. - **Idempotent** via `.ecmeta` signature. **Non-fatal**: any probe/render/encode failure falls back to a stream-copy passthrough. `END_CARD=0` disables. Knobs: `END_CARD` (0 disables), `END_CARD_DUR` (default 2.5), `END_CARD_TEXT`, `END_CARD_HANDLE`, `END_CARD_Y_FRAC` (default 0.60).