overlay_add
Add a lower third, scrim, sticker, or animated graphic over a film clip, anchored to specific words or events so edits move it automatically.
Instructions
Draw a transparent card, an animated graphic or a still over the film — a lower third, a graphic, a sticker.
Make the card first with card_new from lowerthird (a headline and an
optional footnote, bottom left) or scrim (a dark gradient for type to sit
on). The span starts at a word, phrase or event of clip_id and ends at a
word, phrase, event or length; it is resolved through the timeline on
every build and never stored as seconds, so cuts move it, and a cut
through its start word makes export refuse until it is moved.
The stack is list order: a later overlay draws over an earlier one it
overlaps. Put the scrim first (or position=0), then the lowerthird. A
staggered footnote is its own lowerthird with an empty headline, starting
later. The reply echoes the words or event each end resolved to and
where it plays; plan=true writes nothing. Any overlay routes export
through the MLT writer, and export's reply lists the overlays it drew.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | A sticker's centre across the frame: 0 is the left edge, 1 the right. Default 0.5. | |
| y | No | A sticker's centre down the frame: 0 is the top, 1 the bottom. Default 0.5. | |
| card | No | The overlay card to place: one made by card_new from an overlay template (`lowerthird`, `scrim`), by name or as `card:NAME`. An ordinary card is opaque and is refused. One of card, graphic or image; each takes its own prefix. | |
| 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. | |
| after | No | A forward cursor over a phrase's matches: any match at or before this word index is skipped. -1, the default, means from the start. | |
| enter | No | How it appears: `rise` (moves up while fading in), `fade`, `pop` (scales up past full size and settles), `slide-left`/`slide-right`/`slide-top`/`slide-bottom` (in from that edge), or `none` (a cut). Default rise for a card, pop for an image, none for a graphic. | |
| event | No | Start on this event of clip_id: `name`, or `name#k` when the name repeats. | |
| image | No | A still (image_add) to place as a sticker, instead of a card or graphic. It pops in and fades out unless enter/leave say otherwise. | |
| leave | No | How it goes: `fade`, `rise` (moves down while fading out), `pop`, a `slide-` out to that edge, or `none`. Default fade for a card or image, none for a graphic. | |
| style | No | `plain`, or `photo`: a white border and a soft shadow, a photo card. | |
| width | No | A sticker's width, as a fraction of the frame's width. Default 0.3. | |
| phrase | No | Start on this phrase's FIRST word, resolved against clip_id's transcript. | |
| rotate | No | Degrees to turn a sticker, clockwise; negative turns it the other way. | |
| clip_id | Yes | The clip whose words or events address the span — the transcript the word indices index, or the recording the events belong to. | |
| graphic | No | An animated graphic (graphic_new) to place instead of a card. Its intro plays from the start, its outro ends at the end, and its hold fills the span between; a span shorter than intro plus outro is refused. It enters and leaves with no motion of its own unless enter/leave say so. | |
| seconds | No | End this long after the start. A length, so a cut inside the span does not shorten it. | |
| position | No | Where in the stack it goes: 0 is the bottom, omitted is the top. A later overlay draws over an earlier one it overlaps, so a scrim goes before its type. | |
| enter_ease | No | The entrance's curve: linear, ease, ease-in or ease-out. Default ease-out. | |
| leave_ease | No | The exit's curve: linear, ease, ease-in or ease-out. Default ease-in. | |
| occurrence | No | Disambiguate a phrase by count when it matches more than once, **1-based** in transcript order among the matches after `after`: 1 is the first, 2 the second. Unset, an ambiguous phrase is refused — listing every candidate's range and text — rather than guessed at. | |
| word_index | No | The word the overlay starts on. One of word_index, phrase or event. | |
| until_event | No | End on this event of clip_id. | |
| until_phrase | No | End as this phrase's LAST word ends. | |
| enter_seconds | No | How long the entrance takes. Default 0.45. | |
| leave_seconds | No | How long the exit takes. Default 0.3. | |
| until_word_index | No | End as this word ends. One of until_word_index, until_phrase, until_event or seconds. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||