원클릭으로
lyrics-overlay
Beautiful animated lyrics overlay for videos using Remotion. Use for: lyrics, captions, subtitles, karaoke, song text overlay.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Beautiful animated lyrics overlay for videos using Remotion. Use for: lyrics, captions, subtitles, karaoke, song text overlay.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Create multi-camera AI music videos from audio. Use for: music video, concert video, multi-angle video, AI video clip.
Generate video from audio + image using fal.ai LTX-2.3. Use for: talking head, lip sync, audio-driven video.
Transcribe audio/video to SRT subtitles using ElevenLabs Scribe v2. Use for: transcription, subtitles, captions, SRT generation.
Transcribe audio/video to SRT subtitles using ElevenLabs Scribe v2. Use for: transcription, subtitles, captions, SRT generation.
Generate images with Gemini (default) or fal.ai FLUX.2 klein 4B (--cheap for fast/low-cost). Use for: create image, generate visual, AI image generation, poster.
Render Remotion video compositions to MP4/WebM. Use for: rendering videos, exporting compositions, batch renders, previewing.
| name | lyrics-overlay |
| description | Beautiful animated lyrics overlay for videos using Remotion. Use for: lyrics, captions, subtitles, karaoke, song text overlay. |
Add beautiful animated lyrics/captions to videos using Remotion with multiple template styles.
Choose style based on song mood, genre, and visual aesthetic:
| Style | Component | Best For | Mood/Vibe |
|---|---|---|---|
| karaoke | LyricsOverlay | Pop, dance, singalong | Energetic, fun, accessible |
| minimal | LyricsOverlay | Ballads, acoustic | Clean, elegant, subtle |
| fade | LyricsOverlay | Narration, spoken word | Gentle, smooth, understated |
| neon | LyricsOverlayNeon | Electronic, synthwave, EDM | Cyberpunk, futuristic, high-energy |
| cinematic | LyricsOverlayCinematic | Epic, orchestral, trailers | Dramatic, powerful, movie-like |
| bounce | LyricsOverlayBounce | Kids, fun, upbeat | Playful, colorful, joyful |
| typewriter | LyricsOverlayTypewriter | Storytelling, retro, indie | Nostalgic, intimate, artistic |
classic (white), terminal (green), vintage (sepia)cd skills/transcribe/scripts
npx tsx transcribe.ts -i <audio.mp3> -o <project>/subtitles --json
// Pick the right component for your style:
import { LyricsOverlay } from './LyricsOverlay'; // karaoke, minimal, fade
import { LyricsOverlayNeon } from './LyricsOverlayNeon'; // neon
import { LyricsOverlayCinematic } from './LyricsOverlayCinematic'; // cinematic
import { LyricsOverlayBounce } from './LyricsOverlayBounce'; // bounce
import { LyricsOverlayTypewriter } from './LyricsOverlayTypewriter'; // typewriter
import { parseElevenLabsTranscript } from './LyricsOverlay';
import { staticFile } from 'remotion';
const transcript = require('../../public/lyrics/subtitles.json');
export const MyVideo: React.FC = () => {
const lyrics = parseElevenLabsTranscript(transcript, {
maxWordsPerLine: 6,
lineGapThreshold: 0.8,
});
// Example: Cinematic style
return (
<LyricsOverlayCinematic
videoSrc={staticFile('videos/input.mp4')}
lyrics={lyrics}
fontSize={90}
accentColor="#FFD700"
isRTL={true}
useOffthreadVideo={true}
/>
);
};
cd ~/remotion-assistant
npx remotion render MyVideo out/final.mp4
| Prop | Type | Default | Description |
|---|---|---|---|
videoSrc | string | required | Video file path |
lyrics | LyricsData | required | Parsed lyrics data |
fontSize | number | varies | Base font size |
isRTL | boolean | auto | Right-to-left mode |
useOffthreadVideo | boolean | false | Use OffthreadVideo for better memory |
| Prop | Type | Default |
|---|---|---|
style | 'karaoke' | 'minimal' | 'fade' | 'karaoke' |
position | 'bottom' | 'center' | 'top' | 'bottom' |
primaryColor | string | '#FFFFFF' |
highlightColor | string | '#FF6B35' |
| Prop | Type | Default |
|---|---|---|
glowColor | string | '#FF00FF' |
secondaryGlow | string | '#00FFFF' |
glitchIntensity | number | 0.5 |
| Prop | Type | Default |
|---|---|---|
accentColor | string | '#FFD700' |
letterSpacing | number | 0.15 |
| Position | - | CENTER (fixed) |
| Prop | Type | Default |
|---|---|---|
highlightColor | string | '#FFFFFF' |
bounceIntensity | number | 0.7 |
position | 'bottom' | 'center' | 'top' | 'center' |
| Prop | Type | Default |
|---|---|---|
theme | 'classic' | 'terminal' | 'vintage' | 'classic' |
showCursor | boolean | true |
typeSpeed | number | 20 |
position | 'bottom' | 'center' | 'top' | 'center' |
| Style | Recommended Colors |
|---|---|
| karaoke | Gold #FFD700, Orange #FF6B35 |
| neon | Magenta #FF00FF + Cyan #00FFFF |
| cinematic | Gold #FFD700, Silver #C0C0C0 |
| bounce | Rainbow (automatic) |
| typewriter | Theme-based (green/sepia/white) |
| Genre | Style | Colors |
|---|---|---|
| Pop | karaoke | #FF6B35 highlight |
| Electronic | neon | #FF00FF / #00FFFF |
| Rock/Metal | cinematic | #FF0000 accent |
| Ballad | minimal | #FFFFFF highlight |
| Kids | bounce | Rainbow |
| Indie | typewriter vintage | Sepia |
This skill is called in Step 7 of the music-video pipeline.
The agent should select style based on:
All styles have slower decay - words linger ~1.5 seconds after their timing ends for better readability. The fade starts AFTER the line ends, not before.
All Remotion components are included in this skill:
.claude/skills/lyrics-overlay/remotion-templates/
├── compositions/
│ ├── LyricsOverlay.tsx # karaoke, minimal, fade
│ ├── LyricsOverlayNeon.tsx # neon/cyberpunk
│ ├── LyricsOverlayCinematic.tsx # cinematic/epic
│ ├── LyricsOverlayBounce.tsx # bounce/playful
│ └── LyricsOverlayTypewriter.tsx # typewriter/retro
└── utils/
└── lyricsParser.ts # ElevenLabs JSON parser
Copy templates to your Remotion project:
# One-time setup
cp -r .claude/skills/lyrics-overlay/remotion-templates/* ~/remotion-assistant/src/
transcribe skill - For word-level timing (included in project)