Key takeaways
- Every video we put out pulls its graphics from one motion kit instead of somebody rebuilding a lower third from scratch each time.
- The whole kit is JSON. A scene spec describes the layers, a render script turns it into transparent frames, and ffmpeg lays it over the footage.
- Because it is JSON, a new lane card is a copy of an old one with different text, and a new lane color is one ffmpeg hue shift. Neither costs a generation.
- Even the sound is generated, not licensed. The stings and the jingle come out of raw oscillator and noise synthesis.
- The honest limitation: the engine renders blind. There is no timeline and no preview, so you find out whether the timing works after the render finishes.
For a while, every video I made started with the same twenty minutes of nothing. Open the project, hunt for the lower third I used last time, notice the font is slightly different, redo it, remember the subscribe callout, redo that too. Twenty minutes before a single second of actual content got touched.
That is fine when you publish once a week. It is not fine when the plan is five long form videos plus daily short form. So in late July we stopped making graphics and built the thing that makes them.
What is actually in the kit
Lower thirds, a subscribe callout, five weekday lane cards, a link bug, a stat callout, a comment card, transitions, and the intro and outro. Every one of those exists in both 16:9 and 9:16, because a Short is not a wide video with the sides chopped off and pretending otherwise looks exactly as bad as it sounds.
That intro is not a stock template with our name typed into it. The circuit plate, the mark, the timing, the sting underneath it, all of that is ours and all of it is rebuildable from a text file.
The part that makes it a system instead of a folder
There is one render engine. You hand it a JSON scene spec and it hands back a sequence of transparent PNG frames. The spec says what the layers are, and there are only four kinds: an image, some text, a rectangle for bars and pills, and a scrim, which is a blurred dark pad that sits behind text so it stays readable over a bright background. Each layer gets an animation off a short list. Scale pop, fade, fade and slide, slide left, slide right.
That is a deliberately small vocabulary. Small enough that a new asset is usually a copy of an existing spec with the text changed, which means new graphics take about a minute and they cannot drift away from the brand, because they are literally the same shapes.
Two tricks fall out of that design and both of them save real money. Lane cards get their color from an ffmpeg hue shift on the violet background, so a brand new lane color costs nothing and generates nothing. And the vertical versions of every overlay are produced by a script rather than by hand, with the Shorts safe zone already accounted for, so nothing ends up under the right side button stack or behind the caption bar.
The audio is synthesized too
The whooshes, the impacts, and the jingle are not from a sample library. They are raw oscillator and noise synthesis written out to WAV. That started as a cost decision and turned into a branding one, because nobody else on the internet has that exact sting.
For music beds we do license, but from a free commercial use library, and the picker is the interesting part. It serves the least recently used track that is long enough for the video and logs the use, so the next run picks something different on its own. Nobody has to remember what the last three videos sounded like.
The lesson, including the ugly part
The engine renders blind. There is no timeline, no scrub bar, no preview. You write the spec, you render, and then you watch it and find out. That is genuinely worse than a real editor for anything with multiple scenes, and I am not going to pretend otherwise.
So when a React based video framework landed on my desk that could do sequencing and previews, the obvious move was to rewrite the kit in it. We did not. The kit already emits correct ProRes 4444 with a real alpha channel, which is the one hard part, and it works. The rule we wrote down instead was a split: keep this engine for single scene branded overlays, reach for the newer framework when the job actually needs a timeline.
Rewriting infrastructure that already works, because something nicer came out, is one of the more expensive habits you can pick up. I have done it before and paid for it. Which tool is better in the abstract turned out to be a much less useful question than which job I was actually doing that day.
Why this matters if you run a business here
Most local businesses I talk to about marketing automation in San Jose are not short on content ideas. They are short on the twenty minutes at the front of every piece. The fix is almost never a better editor. It is deciding your graphics once, building them as templates, and never opening that decision again.
You do not need a render engine to get the benefit. Here is the small version:
- Pick your three or four recurring graphics. Lower third, call to action, end card. That is usually the whole list.
- Build each one once, properly, in whatever tool you already own.
- Save them as templates where the only editable thing is the text.
- Write down the safe zones for vertical so nothing important sits under the platform UI.
- Pick your music from a small shelf and rotate it on purpose instead of by mood.
Do that and the graphics stop being a decision. The consistency is worth more than any individual design, because people recognize a channel before they read the title.
If you want a set built for your business, or you want the whole content pipeline automated the way ours is, that is the work we do. Come see it at optechsol.llc.