tail
Read or change the finishing pass shown after a project's last frame: set an end card or bumper, its full length, fade, reset, or preview with plan. Export applies it so the pass is not dropped.
Instructions
Read or change the finishing pass this project plays after its last frame.
An end card or a bumper, applied by export itself rather than glued on
afterward with ffmpeg — the fix for a defect that has already shipped: a
finishing pass applied downstream of export is dropped by every
derivation at exit 0, silently, because nothing in the project ever knew
it existed (HISTORY.md § The bumper the teaser never had, § The end card).
Call it with no arguments to read what is in force.
asset must be card:name, never a clip_id — verify diffs a render's
own transcription against the timeline's words, and silence adds none of
its own, which is exactly what a card behind it guarantees and a media
clip would not. seconds is the tail's whole length, card included, not
a hold with fade added on top of it (the known trap: xfade finishes
exactly at the length it is given). fade dissolves the card in over
the film's last frames; 0 cuts to it hard. A music bed's over_tail
keeps the music playing under the card.
Setting asset or seconds for the first time needs both together;
either alone after that updates just that field, the same partial-update
shape caption_style has. reset drops the tail entirely.
The card follows the cues' picture lane, or with none the timeline's own
track, so a screen recording takes a tail as it is. A
sound-only film with no cues is refused by export, by name. plan resolves and validates without writing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fade | No | Seconds the card dissolves in over the film's last frames, opaque on the tail's first frame — overlapping the film, never added to `seconds`. 0 cuts to the card hard. | |
| path | No | The project directory to act on. Omit it — the usual case — when this server is bound to a project (started as `proofcut -C DIR mcp`, or inside a project; `ping` says which): it then resolves to that one bound project, a relative path resolves against it, and a path outside it is refused by name. Unbound, `path` is the whole address and omitting it refuses rather than guessing. | |
| plan | No | Resolve the whole call and report what it would do, writing nothing. Prefer it over doing the thing and undoing it. | |
| asset | No | The end card or bumper, as `card:name` — never a clip id. `verify` diffs the render's own transcription against the timeline's words, and a card behind silence adds none of its own, which a media clip would. | |
| reset | No | Drop the tail entirely. Note a derivation inherits none of it anyway and reports `tail_dropped`. | |
| seconds | No | The tail's **whole** length, card included — not a hold with `fade` added on top of it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||