Introduction
What Imgcli is and who it's for — Remotion components you install with the shadcn CLI and own as code in your project.
Imgcli is built for solo builders and small teams who need to ship product demo videos without rebuilding the same animation primitives every time. If you've used shadcn/ui, you'll feel at home: the workflow is identical, just for video instead of UI.
Why Imgcli
- The type is measured, not eyeballed. Scaled text judders because the glyph
rasteriser has no vertical sub-pixel positioning, so a moving baseline climbs
the pixel grid in whole-pixel jumps. Every text component here pivots its scale
on the measured baseline and renders with
text-rendering: geometricPrecision, which stops the stems re-hinting mid-animation. Both were found on rendered frames rather than in a browser preview, because you cannot see a sub-pixel bug. - What the preview shows is what the file renders. Where a live
@remotion/playermisrepresents a scene, because frame pacing on a 120Hz display makes smooth motion look stuck, the gallery plays the actual rendered mp4 instead. - One design system, and it is shadcn's. Components take
themeandmodeprops resolved from the same token set as the site'sButtonandInput, so a scene dropped into your app does not arrive with its own palette.pnpm check:tokensfails the build if the two ever drift. - The file is yours the moment it lands. The CLI copies the source and installs its declared dependencies. Your installed source changes when you edit or update it.
Prerequisites
You should already have a Remotion project set up. If you don't:
npx create-video@latestWhat's next
- Installation: add Imgcli to an existing Remotion project