Speaker Card
Person intro with presence: a solid card surface, rounded portrait, and oversized name. Leave photo out and the card is text only, sized to the name. Leaves quietly by default with a blur-out (blur + lift); exit sound stays available by naming a cue in the exitSfx prop.
Put this in your video
Introduce whoever is on screen, in an interview or a talk cut. Paste this into Claude Code, Codex, or any coding agent.
Use the OverlayMotion video templates from https://github.com/ricardo/overlay-motion Add the Speaker Card template at 2s with the name Ricardo Metring, role Developer of OverlayMotion, and my portrait photo. Hold it 4 seconds and let it blur out.
- Have ready: The name, the role, and a portrait photo.
- Works over any clip, and still renders with no clip at all.
- Defaults to the center of the frame for about 5 seconds. Ask for another spot, a start time, or a longer hold.
- A correction is one sentence: “Text only, no photo.”
Technical reference: props, spec knobs and JSON
Inputs
Everything inside the overlay's props. Omit one and its default applies.
nametextRequiredroletextOptionalphototextOptionalPortrait photo, rounded square left of the text. Omit it and the card drops the portrait and shrinks to the name instead of leaving a gap.
variantstandard | compactDefault "standard"exitblur-out | fade-downOptionalsfxfalse | cue name | file pathDefault "whoosh"Sound as the card arrives. false is silence, any cue name or audio path swaps it.
All 46 accepted values
falsepopbubbletickdingwhooshkeyboard-typing-naturalmouse-click-pressmouse-click-releasetypewriter-scissor-metallic-lowtypewriter-scissor-metallic-basstypewriter-scissor-metallic-subtypewriter-scissor-metallictypewriter-scissor-lowtypewriter-scissor-deeptypewriter-laptoptypewriter-chiclettypewriter-scissortypewritertypewriter-softtypewriter-mechanicaltypewriter-digitaltypewriter-heavytypewriter-thocktypewriter-steeltypewriter-slamtypewriter-buttontypewriter-switchtypewriter-keycapclickclick-crispclick-roundclick-glasstogglesuccesserrornotificationsparkleswoopriserimpactglitchshutterswipedropdisplayexitSfxfalse | cue name | file pathDefault falseSound as the card leaves, off by default so it exits quietly. Only plays on a blur-out exit.
All 46 accepted values
falsepopbubbletickdingwhooshkeyboard-typing-naturalmouse-click-pressmouse-click-releasetypewriter-scissor-metallic-lowtypewriter-scissor-metallic-basstypewriter-scissor-metallic-subtypewriter-scissor-metallictypewriter-scissor-lowtypewriter-scissor-deeptypewriter-laptoptypewriter-chiclettypewriter-scissortypewritertypewriter-softtypewriter-mechanicaltypewriter-digitaltypewriter-heavytypewriter-thocktypewriter-steeltypewriter-slamtypewriter-buttontypewriter-switchtypewriter-keycapclickclick-crispclick-roundclick-glasstogglesuccesserrornotificationsparkleswoopriserimpactglitchshutterswipedropdisplayWhat the spec changes without touching props
These live on the overlay, not in this template. They are renderer-provided, so they behave the same here as on every other template.
regionWhere it sits. One of the 12 named boxes, or your own
{ "x": 62, "y": 12, "w": 34, "h": 42 }in percent of the frame. This template is designed aroundcenter, which is what it uses when the spec says nothing.fullscreentop-bannerlower-thirdupper-thirdcaption-zoneleft-panelright-panelcentercorner-tlcorner-trcorner-blcorner-brscaleUniform size inside the resolved region,
0.25to2. Props that size the artwork stay relative to the region box, soscaleis how an overlay grows past it.timeWhen it lives:
start,duration, or theappear+holdpair (entrance length plus how long the finished overlay stays). Seconds (3s), percentages (66%) and negative seconds from the end (-2s) are all valid.motionObject motion, applied to the element itself so nothing is cropped or zoomed. This template ships
{ "style": "sway-3d" }; the spec replaces it, retunes it withamount(0..1) and its owntimewindow, stacks several by passing an array, or stops it with{ "style": "none" }. The oscillating styles also takefrequency,seed,rampSecandrampOutSec; the one-shotskew-*sweeps take their tempo fromtimeinstead.shakewobblefloatsway-3dskew-rightskew-leftskew-upskew-downnoneenterRenderer-owned entrance, 0.6s, identical on every template. It stacks with whatever entrance the template already runs, so set the template's own entrance prop to
nonewhen you drive it from here.slide-leftslide-rightspringmaskexitHow it leaves:
blur-outmelts it away,fade-downdrifts down,shrinkscales to center (0.9s each),vanishpops it out of existence in 0.45s. Set one and the template's own fade steps aside.blur-outfade-downshrinkvanishcameraMoves the region's VIEWPORT rather than the element:
push-in,pull-out, thepan-*family,handheld. Its own transform layer, so it stacks withmotion,enter,exitandscale.soundPer-overlay override of the spec's sound block:
enabled,volume, and asoundsmap that remaps one cue by name ({ "pop": "ding" }, a path to your own file, orfalseto mute just that cue). The map is keyed by CUE, so remappingpopalso changes anexit: "vanish", which firespoptoo. To change only this template's own sound, use itssfxprop instead. Core palette:click,pop,whoosh,ding,typewriter.All 45 premade cues
popbubbletickdingwhooshkeyboard-typing-naturalmouse-click-pressmouse-click-releasetypewriter-scissor-metallic-lowtypewriter-scissor-metallic-basstypewriter-scissor-metallic-subtypewriter-scissor-metallictypewriter-scissor-lowtypewriter-scissor-deeptypewriter-laptoptypewriter-chiclettypewriter-scissortypewritertypewriter-softtypewriter-mechanicaltypewriter-digitaltypewriter-heavytypewriter-thocktypewriter-steeltypewriter-slamtypewriter-buttontypewriter-switchtypewriter-keycapclickclick-crispclick-roundclick-glasstogglesuccesserrornotificationsparkleswoopriserimpactglitchshutterswipedropdisplay
Copy and customize
This exact spec drives the preview. Replace media paths and props with your own.
{
"theme": "<your-brand-tokens>",
"version": 1,
"format": "square",
"fps": 60,
"durationSec": 5,
"source": {
"type": "none"
},
"sound": {
"enabled": true,
"volume": 1,
"sounds": {}
},
"overlays": [
{
"template": "speaker-card",
"region": "center",
"time": {
"appear": 0.8,
"hold": 4.2
},
"motion": {
"style": "sway-3d",
"amount": 0.3,
"frequency": 0.14,
"seed": 1,
"rampSec": 0.25,
"rampOutSec": 0.4
},
"props": {
"name": "Ricardo Metring",
"role": "Developer of OverlayMotion",
"photo": "/demo/avatar.png"
}
}
]
}