Back to library

City Lights

Night city portrait with procedural SVG skyline, pulsing building windows, twinkling stars, drifting fireflies, and WavyText headline — two variants: NeonPurple and GoldenHour.

2 style variants Remotion composition CC-BY-NC-SA

A 9-second portrait animation (1080×1920) set against a night cityscape. The skyline is generated entirely in SVG — no silhouette image needed. Buildings rise from the bottom on entrance, and individual windows pulse randomly to simulate the city staying alive. AnimatedStars twinkle above, AnimatedFireflies drift upward, WavyText delivers the headline, and a location StickerBadge completes the scene.

Variants

Neon Purple (THEME_NEON) — deep midnight background, cyberpunk purple glow on windows and rooftops, violet star field. Shot through a hue-rotate sky filter for a sci-fi city feel.

Golden Hour (THEME_WARM) — warm amber sky, golden window glow, amber fireflies. Evokes late-evening city energy and golden-hour rooftop vibes.

Use cases

  • Urban lifestyle and city creator content
  • Night-out or event promotion
  • City guide and travel reels
  • “NYC / LA / London” location announcement posts

Click a variant below to switch the preview. Use arrow keys in the full player to step through all compositions.

Customize brand colors

Adjust colors below to see this template in your brand. Changes are saved in the URL so you can share or bookmark.

Backgrounds
Page
#0a0a0f
Card / Section
#111827
Text
Heading (h1/h2)
#ffffff
Subheading (h3)
#cbd5e1
Paragraph
#e2e8f0
Muted / Caption
#64748b
Accents & Borders
Primary
#6366f1
Secondary
#a855f7
Border
#1e293b
Upload logo / CSS My Brands

Saved designs and brands appear in My Brands. All data stays in your browser. Privacy policy

All 2 style variants

City Lights - Neon Purple
neon
Neon Purple
CityLights-NeonPurple
City Lights - Golden Hour
golden
Golden Hour
CityLights-GoldenHour

Theme x Layout Matrix

How to use this template

1

Clone and install

Clone the repo, install dependencies, then open Remotion Studio to preview all compositions live.

terminal
# Clone the repo
git clone https://github.com/mzzavaa/freelancer-templates.org
cd freelancer-templates.org
npm install

# Start Remotion Studio (live preview)
npx remotion studio
2

Customize the template

Edit the showcase file to swap in your own data. All templates accept typed props - no magic strings.

src/remotion/templates/citylights/CityLightsShowcase.tsx
// Swap these props with your own data
const MY_SPEC = {
  // See City Lights.tsx for the full spec type
  title: "Your title here",
  theme: THEME_DARK, // or THEME_NEON etc.
};
3

Render to video, GIF or image

Export a full MP4, a looping GIF, or a still PNG of any specific frame - all from the CLI.

terminal
# Render full video (MP4)
npx remotion render CityLights-NeonPurple out/video.mp4

# Export a still (frame 0 = thumbnail)
npx remotion still CityLights-NeonPurple --frame=0 out/thumb.png

# Export animated GIF
npx remotion render CityLights-NeonPurple out/preview.gif

22 built-in themes

Every template supports all 22 themes out of the box. Pass any THEME_* constant from _shared/themes.ts to instantly switch the full visual identity.

Dark Clean Bold Warm Minimal Neon LM

Typography scale

All font sizes come from _shared/layouts.ts TYPE. Edit once, updates every composition. Minimum TYPE.caption (24px) - broadcast legibility standard for 1280x720.

hero72px
title52px
body32px
caption24px

Add a custom theme

Copy any THEME_* object in _shared/themes.ts, change the colors, register it in THEMES, then pass it to any template. No per-template changes needed.

export const THEME_MYBRAND: Theme = {
  name: "mybrand",
  bg: "#0d0d0d",
  accent: "#ff6b35",
  // ... other tokens
};
Available Themes

This template in 2 themes

Click any theme to explore its full color palette and see all templates available in that style.

Preview live in Remotion Studio

Run Remotion Studio locally to scrub through every frame, adjust props in real time, and compare all style variants side by side. Studio opens at localhost:3000 after running npx remotion studio in the project root.