Aurora Bg
Drifting aurora curtains. Install with npx remotion-ui@latest add aurora-bg.
PrimitivePrimitives
$ npx remotion-ui@latest add aurora-bgA full-frame stage layer of aurora curtains.
import { AuroraBg } from "@/remotion/primitives/aurora-bg";
<AbsoluteFill>
<AuroraBg ribbonCount={4} />
<YourScene />
</AbsoluteFill>Where it sits
Ribbons, not blobs — mesh-gradient-bg owns blobs, and the difference is
structural rather than stylistic. A blob is a radial gradient that moves; a
ribbon is a tapered path whose shape is recomputed every frame. If what you
want is colour that drifts, use the gradient. If you want something that folds,
use this.
Set backgroundColor="transparent" to lay the curtains over footage instead of
over their own plate.
Why it does not look like a smear
Three things, and the layer falls apart without any of them.
Each curtain tapers to nothing at both ends. A constant-height shape reads as a painted stripe no matter how it undulates.
Each curtain is filled with a vertical gradient that is brightest along its
lower edge, composited on screen, so overlapping curtains add light instead of
stacking alpha and going muddy.
And striation runs vertical rays through the whole band. Real aurora has ray
structure; without it a curtain is a coloured blur. The mask is applied after
the blur, so the rays stay crisp while the folds stay soft.
Keep the blur down
blur is the prop that decides whether this reads as curtains or as blobs.
Much above 20 and the fold structure is gone — the first cut of this component
ran at 34 and the preview was indistinguishable from a mesh gradient.
Motion
There is no entrance; the content on top of a background owns the entrance.
Every fold runs on two clocks at once, 2.3s beaten against 1.1s. A single
travelling wave repeats exactly once per period, which is enough for two frames
a second and a half apart to hold the same shape. Beating two periods against
each other means a curtain never returns to a shape it has already held.
speed scales all of it, and speed={0} freezes the sky.
Tapered paths whose shape changes every frame, not gradients that move — that is the line between this and `mesh-gradient-bg`. Two incommensurate fold clocks (2.3s against 1.1s) mean a curtain never repeats a shape. Background layer, so it has no entrance.
Agent notes
Install first, then import the copied source component locally. AI guide →
@/remotion/primitives/aurora-bg- Use when: frame-level motion primitives and reusable animation wrappers.
- Customize: backgroundColor, colors, ribbonCount, amplitude, plus copied source for timing, layout, colors, and typography.
- Rule: do not import this component from the
remotion-uinpm package; it is copied into your project.
Usage
import { AuroraBg } from "@/remotion/primitives/aurora-bg";
<AbsoluteFill>
<AuroraBg ribbonCount={4} />
<YourScene />
</AbsoluteFill>API Reference
| Prop | Type | Default | Description |
|---|---|---|---|
| backgroundColor | string | "#05070f" | Plate behind the curtains. `transparent` layers them over footage. |
| colors | string[] | ["#4cd6a6", "#4f9cf9", "#a273ff"] | Curtain colours, cycled. |
| ribbonCount | number | 4 | How many curtains. |
| amplitude | number | 9 | Vertical travel of a fold, in percent of the frame. |
| thickness | number | 15 | Curtain height at its thickest point, in percent. |
| centerY | number | 46 | Where the band sits, in percent of the frame height. |
| spread | number | 34 | How far the curtains spread around `centerY`. |
| speed | number | 1 | Drift speed. 0 freezes the sky. |
| blur | number | 14 | Softness in px. Much above 20 and the folds become blobs. |
| intensity | number | 1.3 | Overall brightness. |
| horizonGlow | number | 0.5 | Ground glow under the band. 0 removes it. |
| striation | number | 0.55 | Vertical ray structure through the curtains, 0-1. |
| seed | number | 1 | Changes the fold layout without changing any other prop. |