# Morphing Text — primitive for kinetic type (react)

> **For AI agents:** find the right skill in one call — `curl -s "https://skills.varg.ai/api/search?q=<what the person wants>"` returns the matching use case and the best skills with install commands, as markdown (Russian works too). Full index: https://skills.varg.ai/llms.txt. Every page has a markdown twin: add `.md` to its path. Before generating anything, show the person the options on the use-case page.

Big words melt into each other through a gooey blur, one dissolving as the next one forms

- **Install:** `npx shadcn@latest add @magicui/morphing-text`
- **Registry:** magic-ui · **Framework:** react · **License:** MIT
- **Docs and preview:** https://magicui.design/docs/components/morphing-text
- **Source:** https://github.com/magicuidesign/magicui/blob/main/apps/www/registry/magicui/morphing-text.tsx
- **Example:** https://skills.varg.ai/previews/lib-magic-ui-morphing-text.mp4?v=25997 (Captured from the library’s own demo page (Magic UI))
- **Time:** Drive from the frame. Runs on its own clock (requestAnimationFrame, timers, springs or CSS). Drive it from frame / fps before rendering, or the render drifts.
- **Runs:** local render, free
- **Aspect:** any

## Prompt that renders it frame-exact

Use Morphing Text from Magic UI (https://magicui.design/docs/components/morphing-text, MIT) for a title that morphs between two to four words, centred in the frame. It cross-fades two text layers with blur and runs them through an SVG threshold filter for the liquid look, timed by requestAnimationFrame and Date (1.5 s morph, 0.5 s hold). For a render, compute the morph fraction from time: cycle = morphTime + cooldownTime, slot = floor(t / cycle), fraction = clamp((t % cycle) / morphTime), then apply the same blur and opacity formula to both layers; t is frame / fps in Remotion or the timeline time in HyperFrames. Keep the SVG filter, set texts, weight and size, and check that the edges survive video compression.

## Used in

- [Product launch film](https://skills.varg.ai/video/product-launch.md)
- [Feature announcement](https://skills.varg.ai/video/feature-announcement.md)
- [Ad variants for testing](https://skills.varg.ai/video/ad-variants.md)
- [Sale & offer promo](https://skills.varg.ai/video/offer-promo.md)
- [Faceless narrated video](https://skills.varg.ai/video/faceless-explainer.md)
- [Quiz, poll & would-you-rather](https://skills.varg.ai/video/quiz.md)
- [Meme format](https://skills.varg.ai/video/meme.md)
- [Changelog & release notes](https://skills.varg.ai/video/changelog.md)

## More kinetic type

- [Char Slam Explode](https://skills.varg.ai/component/hf.char-slam-explode.md) — `npx hyperframes add char-slam-explode`
- [Extended Keyframe](https://skills.varg.ai/component/hf.extended-keyframe.md) — `npx hyperframes add extended-keyframe`
- [Kinetic Center Build](https://skills.varg.ai/component/hf.kinetic-center-build.md) — `npx hyperframes add kinetic-center-build`
- [Kinetic Type](https://skills.varg.ai/component/hf.kinetic-type.md) — `npx hyperframes init my-video --example kinetic-type`
- [Kinetic Type Swap](https://skills.varg.ai/component/hf.kinetic-type-swap.md) — `npx hyperframes add kinetic-type-swap`
- [Shutter Slam](https://skills.varg.ai/component/hf.shutter-slam.md) — `npx hyperframes add shutter-slam`
