옵션

angelcore / 클라우드 트랜스 / 하이퍼팝 시각적 계열의 뮤직비디오 및 단편 편집물을 위한 크리에이티브 디렉션(미학) 레이어. 특정 장르의 미학적 어휘, 분위기 + 색상 + 조명 시스템, 비트와 동기화된 편집 문법을 정제하여, ECC의 영상 기술(영상 편집, fal-ai-media, remotion-video-creation, motion-*, content-engine)을 하나의 제작 파이프라인으로 연결합니다. 단순히 영상 기능을 구현하는 것을 넘어 의도적인 느낌을 주어야 할 때, 뮤직비디오, 팬캠/편집 영상, 무드보드 기반 릴을 제작할 때, 또는 AI로 생성된 B-롤에 일관된 시각적 방향을 설정해야 할 때 사용하십시오.

...모든 것을 확장하십시오
94
업데이트 된 시간 2026년 7월 29일

Taste

대부분의 AI 영상 관련 조언은 프레임을 렌더링하는 방법에 그칩니다. 이 기술은 그보다 한 단계 더 높은 차원의 기술입니다. 즉, 프레임이 어떻게 보여야 하는지, 어떤 순서로 배열해야 하는지, 어떤 리듬에 맞춰 편집해야 하는지 등을 결정하여, 결과물이 단순히 생성된 장면들의 무더기가 아니라 하나의 의도된 작품으로 읽히도록 하는 것입니다.

이는 특정taste—엔젤코어/클라우드 트랜스/하이퍼팝 계열 (Bladee의 “Silver Surfer” 시대 에테리얼 트랜스와 헤비 엔젤코어가 결합된 스타일) —을 구현하며, 이는 저장된 릴(Reels) 코퍼스와 약 70개 항목으로 구성된 시각적 장르 라이브러리를 분석하여 정제된 결과물입니다. 이는 의도적으로 독단적인 관점을 담고 있습니다. ‘Taste’는 단순한 메뉴가 아닌 하나의 관점입니다.

동반 파일에는 references/genre-taxonomy.md 에는 명명된 장르의 전체 목록이 담겨 있습니다. 이 파일은 실행 가능한 레이어입니다: 분위기, 문법, 파이프라인, 그리고 비트에 맞춰 구성된 샷 계획.

사용 시점

  • 뮤직 비디오, 가사 비디오, 팬캠 또는 비주얼라이저를 제작할 때.
  • 정보보다 분위기가 더 중요한 단편 편집물/릴을 제작할 때.
  • AI B-롤 생성(fal.ai, Veo, Kling 등)을 진행할 때, 프롬프트에 일회성 분위기가 아닌 일관된 방향성이 필요한 경우.
  • 렌더링 전에 무드보드를 구성하거나 시각적 장르를 선택할 때.
  • 사용자가 “taste”, “X 같은 느낌으로 만들어 주세요”, “방향성을 주세요”, “angelcore”, “cloud trance”, “hyperpop 편집”, “Bladee”, “dreamcore”라고 말하거나 저장된 참고 자료를 언급할 때.
  • 현재 편집본은 작동하지만, 평면적이거나, 평범하거나, AI가 대충 만든 듯한 느낌, 혹은 스타일적으로 일관성이 없는 것으로 보입니다.

이 기술은 video-editing (메커니즘) 위에 위치하며 remotion-video-creation (렌더러) 위에 위치합니다. ‘어떻게’를 위해 그 요소들을 사용하고, ‘무엇을’과 ‘왜’를 위해 이 스킬을 사용하세요.

핵심 명제

  1. Taste 는 가장 마지막 단계이며, 가장 먼저 결정되어야 합니다. video-editing taste는 마지막 인간적 검토 단계라고 정확히 말합니다. 함정은, taste를 마지막에야 결정한다면, 그 이전의 모든 생성 과정과 편집은 추측에 불과했다는 점입니다. 첫 번째 프롬프트를 입력하기 전에 방향을 정하고, 그 방향이 모든 과정을 제약하도록 하세요.
  2. 일관성은 참신함보다 낫습니다. 30개의 샷에 걸쳐 구현된 하나의 룩이 30개의 서로 다른 룩보다 낫습니다. 명명된 장르(아래 참조)는 일관성을 무료로 확보해 주는 제약 조건입니다.
  3. 영상 자료가 아닌 노래에 맞춰 편집하세요. 뮤직비디오에서 타임라인은 파형입니다. 모든 하드 컷은 비트나 트랜지언트에 맞춰져야 합니다. 프레임 계산법은 파이프라인 섹션에 있습니다.
  4. 선택적으로 생성하고, 무자비하게 편집하세요. AI는 존재하지 않는 B-롤을 만들어낼 뿐, taste를 만들어내지는 않습니다. 여전히 80%는 버려야 합니다.

미학적 어휘 (정제된 버전)

참조 코퍼스는 명명된 시각적 장르의 방대한 라이브러리를 둘러봅니다. 전체 목록은 references/genre-taxonomy.md에 있습니다. 유용한 방법은 70개의 이름을 외우는 것이 아니라, 장르 이름이 ‘프롬프트와 그레이드’의 완전한 프리셋임을 깨닫는 것입니다. 하나를 선택하면 그 팔레트, 질감, 조명, 주제를 하나의 단위로 그대로 이어받게 됩니다.

장르들은 가족 단위로 묶여 있습니다. 주된 가족을 하나 선택하고, 강조 요소는 최대 하나만 골라보세요:

현재 프로젝트의 경우 , 주 계열은 ‘에테리얼(Ethereal) / 신성(divine) ’이며, 액센트 계열은 ‘하이퍼팝(Hyperpop) / Y2K 사이버(Y2K-cyber) ’입니다. 즉, 크롬과 네온이 포인트로 어우러진 신성한 빛과 수정 같은 블룸을 의미합니다. 이 조합이 바로 ‘엔젤코어(angelcore) × 클라우드 트랜스(cloud-trance)’ 콘셉트입니다.

무드 시스템 — 엔젤코어 × 클라우드 트랜스

가장 강력한 레퍼런스 릴에서 직접 추출한 것입니다. 이것이 바로 구체적인 기준입니다.

팔레트

  • 베이스: 거의 검은색에 가까운 공허 (#05060a)와 뼈처럼 하얀 흰색 (#f4f1ea). 대부분의 프레임은 이 둘 중 하나를 사용합니다.
  • 신성한 액센트: 녹아내리는 금색 / 불씨 같은 오렌지색 (#ffb24d → #ff7a18) — 어둠 속의 유일한 따뜻한 빛.
  • 결정체 같은 액센트: 무지갯빛 보라색→시안→마젠타 보케 (#8a6bff, #4fc3ff, #ff6ad5) — 하이퍼팝 블룸으로, 밝은 프레임에 사용됩니다.
  • 위험 액센트 (절제된 사용): 흑백 배경에 단 하나의 빛나는 빨강 (#ff2a2a) — 단 한두 번의 충격적인 컷에만 사용.
  • 하이퍼팝 피사체: 캔디 핑크색 머리카락 / 크롬 / 푸른 하늘을 배경으로 한 광택 있는 흰색.

규칙: 샷당 액센트는 하나만 사용한다. 골드는 어두운 프레임에, 무지개빛은 밝은 프레임에 배치하며, 절대 한 샷에 둘 다 사용하지 않는다.

빛과 질감

  • 단 하나의 따뜻한 광원(숯불 블룸, 신성한 광선)이 어둠을 뚫고 들어오는 장면. 높은 콘트라스트, 깊은 블랙.
  • 결정체 같은 / 반짝이는 보케, 렌즈 플레어, 블룸, 라이트 리크 — 천상의 느낌, 더럽지 않은 느낌.
  • 어두운 프레임에는 필름 그레인 + 미묘한 색수차; 밝은 프레임에는 깔끔한 광택.
  • 네거티브 스페이스의 매크로 디테일: 검은색 배경 중앙에 배치된 핵심 피사체(열쇠, 눈, 톱니바퀴, 꽃잎, 물).
  • 주제: 날개 달린 인물, 구름, 후광, 천사, 결정체 구조, 캔디-사이버 스타일의 초상화.

움직임

  • 느리고, 떠다니며, 무중력 같은 카메라 (드리프트, 느린 푸시, 느린 궤도) — 구름의 트랜스.
  • 떨어지는 순간에만 속도가 폭발한다. 그 외에는 모든 것이 숨을 쉬는 듯하다.
  • 솟아오르는 입자들(불씨, 먼지, 반짝임) — 상향 운동 = 승천.

편집 문법 (정수화)

참조 편집본에서 반복적으로 나타나며 스타일을 정의하는 기법들:

  1. 비트에 정확히 맞춘 하드 컷. 베이스라인/드롭 부분에서는 디졸브 없음. 킥 소리에 맞춰 컷. 시청자의 시선이 BPM을 체감해야 한다.
  2. 검은 배경 속 주인공의 매크로 삽입. 검은 여백 중앙에 위치한 날카로운 물체 하나를 1~2 비트 동안 유지한 뒤 컷. 이들의 리드미컬한 몽타주 = 클라우드 트랜스의 시그니처.
  3. 블룸/폭발 리빌. 트랜지언트에 맞춰 프레임을 가득 채우는 흰색 또는 불꽃 같은 블룸이 다음 샷으로 자연스럽게 이어진다. “신성한 섬광” 전환.
  4. 단색 화면에 컬러 팝 효과. 흑백으로 장면을 진행하다가, 다운비트에 맞춰 단일 컬러 요소(붉은 눈, 금빛 불꽃, 분홍색 머리카락)가 강렬하게 튀어나오게 한다.
  5. 드롭으로의 속도 램프. 드롭 직전 마지막 마디에 걸쳐 영상을 느린 속도에서 빠른 속도로 램프 처리한 뒤, 1박자에 맞춰 템포에 맞춰 하드 컷한다.
  6. 자막 키워드 하이라이트 (토킹 헤드/가사 섹션에만 해당). 보컬에 맞춰 강조 색상으로 한두 단어를 모두 대문자로 하이라이트 처리합니다. 순수 비주얼라이저가 아닌 가사 비디오에 사용합니다.
  7. 반응 PiP (설명 영상/편집 해설에만 해당). B-롤 위에 삽입된 화중화(PiP) 토킹 헤드. 뮤직비디오 자체에는 해당되지 않으나, 코퍼스에서 많이 사용되므로 기록함.

금지 사항: 템포 구간에서의 크로스페이드 전환; 샷당 두 가지 이상의 강조색 사용; 음악 프레이즈가 끝난 후에도 샷을 유지하는 경우; 화면에서 가독 가능한 UI 요소(자르기); 하나의 타임라인 내 혼합된 화면비.

파이프라인 — ECC 영상 기술들의 조화

이 기술은 지휘자 역할을 합니다. 각 ECC 기술은 하나의 악기입니다. 레이어를 건너뛰지 마십시오.

0. TASTE (this skill)        decide genre + mood + grammar BEFORE anything renders
1. STRUCTURE (video-editing) map the song: timestamps for intro/verse/drop/bridge/outro
2. GENERATE (fal-ai-media)   make b-roll per genre prompt-presets; throw away 80%
3. CUT (video-editing/FFmpeg) beat-cut + reframe to 9:16; assemble selects on the grid
4. COMPOSE (remotion-video-creation) overlays, blooms, lyric text, beat-synced sequencing
5. MOTION (motion-* skills)  easing curves, light-leak/particle motion, transition timing
6. AUDIO (fal-ai-media)      transition risers/impacts to sell the cuts (track itself is in Ableton)
7. POLISH                    grade to the palette above, final pacing pass, export
8. DISTRIBUTE (content-engine) platform-native versions + caption/cover

비트 매스(컷을 곡에 맞춘다)

현재 트랙은 138 BPM, B 단조입니다. 상수:

  • seconds_per_beat = 60 / 138 = 0.43478s
  • frames_per_beat = fps × 0.43478 → 24fps: 10.43, 30fps: 13.04, 60fps: 26.09
  • 1 bar (4 beats) = 1.7391s → 30fps: 52.17 프레임
  • 8-bar phrase = 13.913s → 트랙의 루프 길이

Remotion에서 매 from={} 비트에 맞춰 정렬:

const FPS = 30;
const BPM = 138;
const beat = (n: number) => Math.round(n * (60 / BPM) * FPS); // beat(n) → frame
// cut on beats 0,4,8,... :   ...

비트 매핑된 샷 플랜 (이 뮤직비디오)

곡의 구성(프로젝트 자체 노트 기준)은 인트로 → 베이스 → 드롭 → 브릿지 → 드롭 → 아웃트로 (~2:05)입니다. 각 섹션에 ‘taste’를 매핑하세요:

fal.ai 프롬프트 프리셋 (분위기별)

다음과 함께 사용하세요 fal-ai-media와 함께 사용하세요. 각 프리셋은 프로젝트 팔레트에 적용된 장르입니다. 9:16, vertical, cinematic, film grain, volumetric light, no text, no watermark 을 모두에 추가하세요.

  • 신성한 공허: "무한한, 거의 검은 공허 속에서 피어오르는 녹아내린 듯한 황금빛 불씨 하나, 깊은 그림자, 따뜻한 광원 하나, 무중력 상태의 먼지 입자, 신성함, 높은 명암비"
  • 매크로 히어로: "골동품 황동 열쇠 / 인간의 눈 / 맞물린 톱니바퀴의 극단적인 매크로 촬영, 순수한 검은색 여백을 중심으로, 날카로운 디테일, 단일 림 라이트"
  • Crystalline bloom: "무지갯빛 보라-청록-마젠타 크리스탈 보케, 반짝이는 빛의 굴절, 몽환적인 렌즈 플레어, 천상의 빛, 소프트 포커스, 하이퍼팝 엔젤코어"
  • 캔디 사이버 초상화: "캔디 핑크색 머리의 인물, 광택 있는 크롬 액센트, 밝은 푸른 하늘, Y2K 하이퍼팝, 깔끔한 광택, 채도가 높은, 카와이 사이버"
  • 날개 달린 승천: "구름 속으로 승천하는 날개 달린 인물, 빛의 후광, 뼈처럼 하얀색과 금색, 입체적인 신의 광선, 천상의, 종교적 도상, 부드러운"
  • 차가운 아웃트로: "창백한 수정 같은 얼음 구조가 서서히 녹아내림, 빙하 풍의 포크 음악, 차가운 파란색 과 뼈처럼 하얀색, 미니멀, 차분함, 검은색으로 서서히 사라짐"

프리셋당 6~10개를 생성하고, 그중 2~3개를 선택하세요. 모션의 경우, 이미지-투-비디오 모델을 사용하여 스틸 이미지를 애니메이션화하거나 짧은 클립을 직접 생성하세요. 모션 규칙에 따라 카메라 움직임을 느리게 유지하세요.

FFmpeg 레시피 (자르기 + 재프레임)

# Reframe any landscape/raw clip to 9:16 (center crop)
ffmpeg -i in.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" v.mp4

# Beat-cut a clip to exactly N beats at 138 BPM (e.g. 2 beats = 0.8696s)
ffmpeg -i in.mp4 -t 0.8696 -c copy beat2.mp4

# Concatenate beat-selects into the verse montage
for f in selects/*.mp4; do echo "file '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy verse.mp4

# Strip UI chrome / status bar from a screen-recorded reference (crop top+bottom)
ffmpeg -i reel.mp4 -vf "crop=iw:ih-300:0:150" clean.mp4

Remotion 컴포지션 스켈레톤 (비트 동기화)

import { AbsoluteFill, Sequence, Video, Img, useCurrentFrame, interpolate } from "remotion";

const FPS = 30, BPM = 138;
const beat = (n: number) => Math.round(n * (60 / BPM) * FPS);

const Bloom: React.FC = () => {
  const f = useCurrentFrame();
  const o = interpolate(f, [0, 3, 12], [0, 1, 0], { extrapolateRight: "clamp" }); // divine flash on a transient
  return <AbsoluteFill style={{ background: "radial-gradient(#fff,#ffb24d)", opacity: o, mixBlendMode: "screen" }} />;
};

export const AngelcoreMV: React.FC = () => (
  <AbsoluteFill style={{ background: "#05060a" }}>
    {/* Verse: macro hero-on-black, hard cut every 2 beats */}
    <Sequence from={beat(0)} durationInFrames={beat(2)}><Video src="/selects/key.mp4" />Sequence>
    <Sequence from={beat(2)} durationInFrames={beat(2)}><Video src="/selects/eye.mp4" />Sequence>
    <Sequence from={beat(4)} durationInFrames={beat(2)}><Video src="/selects/gear.mp4" />Sequence>
    {/* Drop: crystalline bloom + flash on the one */}
    <Sequence from={beat(8)} durationInFrames={beat(16)}><Video src="/selects/crystalline.mp4" />Sequence>
    <Sequence from={beat(8)} durationInFrames={beat(1)}><Bloom />Sequence>
  AbsoluteFill>
);

렌더링: npx remotion render src/index.ts AngelcoreMV out.mp4. remotion-video-creation 참조하십시오.

핵심 원칙

  1. 1차 생성 전에 장르를 결정하세요. 주 색상 계열 하나와 포인트 색상 하나를 선택하세요.
  2. 샷당 하나의 강조 색상을 사용하세요. 어두운 곳에서는 금색, 밝은 곳에서는 무지개빛, 빨간색은 한 번만 사용하세요.
  3. 모든 하드 컷은 비트에 맞춰야 합니다. 비트 수학을 활용하고, 템포 구간에서는 전환을 사용하지 마십시오.
  4. 검은 배경 위의 주인공을 클로즈업하는 매크로 샷이 시그니처 기법입니다. 이를 완벽히 숙달하세요; 이 샷이 가사 부분을 이끌어갑니다.
  5. 10개를 만들고 그중 2개만 남기세요. 일관성은 더 열심히 시도하는 것이 아니라, 과감히 버리는 과정에서 나옵니다.
  6. 크롬 부분을 잘라내세요. 마지막 프레임에는 상태 표시줄, 캡션, UI가 없어야 합니다.
  7. Taste 는 가장 먼저 결정되고 가장 마지막에 평가된다. 방향을 설정한 뒤, 모든 컷에서 그 방향을 지켜내라.

관련 기술

  • video-editing — 이 기술이 기반이 되는 기계적 파이프라인 (FFmpeg, reframe, EDL, 마무리 작업)
  • remotion-video-creation — 프로그래밍 가능한 비트 동기화 편집 및 렌더링
  • fal-ai-media — B-롤, 전환 효과음, 라이저 생성
  • motion-foundations, motion-patterns, motion-advanced, motion-ui — 이징 및 모션 타이밍
  • videodb — 대용량 영상 자료를 위한 서버 측 스마트 리프레임 및 인덱싱
  • content-engine — 플랫폼 네이티브 배포, 커버, 자막
  • frontend-design-direction — UI 설계 시에도 동일한 “먼저 방향을 정한다”는 원칙 적용
GitHub에서 보기

Taste

Most AI video advice stops at how to render frames. This skill is the layer above that: what the frames should look like, in what order, cut to what rhythm, so the result reads as one intentional thing instead of a pile of generations.

It encodes a specific taste — the angelcore / cloud-trance / hyperpop family (Bladee "Silver Surfer"-era ethereal trance crossed with heavy angelcore) — distilled from a corpus of saved Reels and a tour through a ~70-entry visual-genre library. It is opinionated on purpose. Taste is a point of view, not a menu.

The companion file references/genre-taxonomy.md holds the full named-genre catalog. This file is the actionable layer: mood, grammar, pipeline, and a beat-mapped shot plan.

When to Activate

  • Building a music video, lyric video, fancam, or visualizer.
  • Making a short-form edit / reel where the feel matters more than the information.
  • Driving AI b-roll generation (fal.ai, Veo, Kling, etc.) and the prompts need a coherent direction instead of one-off vibes.
  • Assembling a moodboard or choosing a visual genre before any rendering.
  • The user says "taste", "make it feel like X", "give it a direction", "angelcore", "cloud trance", "hyperpop edit", "Bladee", "dreamcore", or names a saved reference.
  • The current edit works but reads as flat, generic, AI-slop, or stylistically incoherent.

This skill sits on top of video-editing (the mechanics) and remotion-video-creation (the renderer). Use those for how. Use this for what and why.

Core Thesis

  1. Taste is the last layer, and it must be decided first. video-editing correctly says taste is the final human pass. The trap: if you only decide taste at the end, every generation and cut upstream was a guess. Pick the direction before the first prompt, then let it constrain everything.
  2. Coherence beats novelty. One look executed across 30 shots beats 30 looks. A named genre (below) is a constraint that buys coherence for free.
  3. Cut to the song, not to the footage. In a music video the timeline is the waveform. Every hard cut lands on a beat or a transient. Frame math is in the pipeline section.
  4. Generate selectively, edit ruthlessly. AI makes b-roll that does not exist; it does not make taste. You still throw away 80%.

The Aesthetic Vocabulary (distilled)

The reference corpus tours a large library of named visual genres. The full list lives in references/genre-taxonomy.md. The useful move is not memorizing 70 names — it is seeing that a genre name is a complete prompt-and-grade preset. When you pick one, you inherit its palette, texture, lighting, and subject matter as a unit.

The genres cluster into families. Pick a primary family and at most one accent:

For the current project, the primary is Ethereal / divine with a Hyperpop / Y2K-cyber accent — i.e. holy light and crystalline bloom, punctuated by chrome and neon. That pairing is the angelcore × cloud-trance brief.

The Mood System — angelcore × cloud-trance

Distilled directly from the strongest reference reels. This is the concrete grade.

Palette

  • Base: near-black void (#05060a) and bone white (#f4f1ea). Most frames are one or the other.
  • Divine accent: molten gold / ember orange (#ffb24d → #ff7a18) — the one warm light in the dark.
  • Crystalline accent: iridescent violet→cyan→magenta bokeh (#8a6bff, #4fc3ff, #ff6ad5) — the hyperpop bloom, used in bright frames.
  • Danger accent (sparingly): a single glowing red (#ff2a2a) on monochrome — for one or two shock cuts only.
  • Hyperpop subject: candy pink hair / chrome / glossy white against blue sky.

Rule: one accent per shot. Gold lives in dark frames; iridescence lives in light frames; never both in one shot.

Light & texture

  • Darkness pierced by a single warm source (ember bloom, divine shaft). High contrast, deep blacks.
  • Crystalline / glitter bokeh, lens flares, bloom, light leaks — heavenly, not dirty.
  • Film grain + subtle chromatic aberration on the dark frames; clean gloss on the bright frames.
  • Macro detail on negative space: a hero object centered on black (key, eye, gear, petal, water).
  • Subjects: winged figures, clouds, halos, angels, crystalline structures, candy-cyber portraits.

Motion

  • Slow, floating, weightless camera (drift, slow push, slow orbit) — cloud trance.
  • Bursts of speed only at the drop. Otherwise everything breathes.
  • Particles rising (embers, dust, glitter) — upward motion = ascension.

The Editing Grammar (distilled)

From the reference edits, the techniques that recur and define the style:

  1. Beat-locked hard cuts. No dissolves in the verse/drop. Cut on the kick. The eye should feel the BPM.
  2. Hero-on-black macro inserts. A single sharp object centered in black negative space, held for 1–2 beats, then cut. Rhythmic montage of these = the cloud-trance signature.
  3. Bloom / explosion reveal. A white or ember bloom that blows out the frame on a transient, then resolves into the next shot. The "divine flash" transition.
  4. Color-pop on monochrome. Run a passage in B&W, then a single colored element (red eye, gold flame, pink hair) punches through on the downbeat.
  5. Speed-ramp into the drop. Ramp footage from slow to fast across the last bar before the drop, hard-cut to tempo on the one.
  6. Caption keyword highlight (for talking-head / lyric sections only). All-caps, one or two words highlighted in the accent color, synced to the vocal. Use for lyric video, not for the pure visualizer.
  7. Reaction PiP (for explainer/edit-commentary only). Picture-in-picture talking head over b-roll. Out of scope for the music video itself; documented because the corpus uses it heavily.

Do-nots: crossfade transitions in tempo sections; more than one accent color per shot; a shot held past its musical phrase; readable on-screen UI chrome (crop it out); mixed aspect ratios in one timeline.

The Pipeline — mixing the ECC video skills

This skill is the conductor. Each ECC skill is an instrument. Do not skip layers.

0. TASTE (this skill)        decide genre + mood + grammar BEFORE anything renders
1. STRUCTURE (video-editing) map the song: timestamps for intro/verse/drop/bridge/outro
2. GENERATE (fal-ai-media)   make b-roll per genre prompt-presets; throw away 80%
3. CUT (video-editing/FFmpeg) beat-cut + reframe to 9:16; assemble selects on the grid
4. COMPOSE (remotion-video-creation) overlays, blooms, lyric text, beat-synced sequencing
5. MOTION (motion-* skills)  easing curves, light-leak/particle motion, transition timing
6. AUDIO (fal-ai-media)      transition risers/impacts to sell the cuts (track itself is in Ableton)
7. POLISH                    grade to the palette above, final pacing pass, export
8. DISTRIBUTE (content-engine) platform-native versions + caption/cover

Beat Math (lock cuts to the song)

The current track is 138 BPM, B minor. Constants:

  • seconds_per_beat = 60 / 138 = 0.43478s
  • frames_per_beat = fps × 0.43478 → 24fps: 10.43, 30fps: 13.04, 60fps: 26.09
  • 1 bar (4 beats) = 1.7391s → 30fps: 52.17 frames
  • 8-bar phrase = 13.913s → the loop length from the track

In Remotion, snap every from={} to a beat:

const FPS = 30;
const BPM = 138;
const beat = (n: number) => Math.round(n * (60 / BPM) * FPS); // beat(n) → frame
// cut on beats 0,4,8,... :  <Sequence from={beat(0)} durationInFrames={beat(4)}> ...

Beat-Mapped Shot Plan (this music video)

The song arrangement (from the project's own notes) is Intro → Verse → Drop → Bridge → Drop → Outro (~2:05). Map taste to each section:

fal.ai Prompt Presets (per mood)

Use with fal-ai-media. Each preset is the genre rendered to the project palette. Append 9:16, vertical, cinematic, film grain, volumetric light, no text, no watermark to all.

  • Divine void: "a single molten-gold ember bloom rising in an infinite near-black void, deep shadow, one warm light source, weightless dust particles, holy, high contrast"
  • Macro hero: "extreme macro of an antique brass key / a human eye / interlocking gears, centered on pure black negative space, razor-sharp detail, single rim light"
  • Crystalline bloom: "iridescent violet-cyan-magenta crystalline bokeh, glittering light refraction, dreamy lens flares, heavenly glow, soft focus, hyperpop angelcore"
  • Candy-cyber portrait: "candy-pink-haired figure, glossy chrome accents, bright blue sky, Y2K hyperpop, clean gloss, saturated, kawaii-cyber"
  • Winged ascension: "a winged figure ascending into clouds, halo of light, bone-white and gold, volumetric god-rays, ethereal, religious iconography, soft"
  • Cold outro: "pale crystalline ice structure slowly dissolving, glacial folk, cold blue and bone white, minimal, calm, fading to black"

Generate 6–10 per preset, keep 2–3. For motion, animate stills with an image-to-video model or generate short clips directly; keep camera moves slow per the Motion rules.

FFmpeg Recipes (cut + reframe)

# Reframe any landscape/raw clip to 9:16 (center crop)
ffmpeg -i in.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" v.mp4

# Beat-cut a clip to exactly N beats at 138 BPM (e.g. 2 beats = 0.8696s)
ffmpeg -i in.mp4 -t 0.8696 -c copy beat2.mp4

# Concatenate beat-selects into the verse montage
for f in selects/*.mp4; do echo "file '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy verse.mp4

# Strip UI chrome / status bar from a screen-recorded reference (crop top+bottom)
ffmpeg -i reel.mp4 -vf "crop=iw:ih-300:0:150" clean.mp4

Remotion Composition Skeleton (beat-synced)

import { AbsoluteFill, Sequence, Video, Img, useCurrentFrame, interpolate } from "remotion";

const FPS = 30, BPM = 138;
const beat = (n: number) => Math.round(n * (60 / BPM) * FPS);

const Bloom: React.FC = () => {
  const f = useCurrentFrame();
  const o = interpolate(f, [0, 3, 12], [0, 1, 0], { extrapolateRight: "clamp" }); // divine flash on a transient
  return <AbsoluteFill style={{ background: "radial-gradient(#fff,#ffb24d)", opacity: o, mixBlendMode: "screen" }} />;
};

export const AngelcoreMV: React.FC = () => (
  <AbsoluteFill style={{ background: "#05060a" }}>
    {/* Verse: macro hero-on-black, hard cut every 2 beats */}
    <Sequence from={beat(0)} durationInFrames={beat(2)}><Video src="/selects/key.mp4" /></Sequence>
    <Sequence from={beat(2)} durationInFrames={beat(2)}><Video src="/selects/eye.mp4" /></Sequence>
    <Sequence from={beat(4)} durationInFrames={beat(2)}><Video src="/selects/gear.mp4" /></Sequence>
    {/* Drop: crystalline bloom + flash on the one */}
    <Sequence from={beat(8)} durationInFrames={beat(16)}><Video src="/selects/crystalline.mp4" /></Sequence>
    <Sequence from={beat(8)} durationInFrames={beat(1)}><Bloom /></Sequence>
  </AbsoluteFill>
);

Render: npx remotion render src/index.ts AngelcoreMV out.mp4. See remotion-video-creation for project setup, audio track binding, and render flags.

Key Principles

  1. Decide the genre before the first generation. Pick one primary family + one accent.
  2. One accent color per shot. Gold in the dark, iridescence in the light, red once.
  3. Every hard cut lands on a beat. Use the beat math; no transitions in tempo sections.
  4. Hero-on-black macro is the signature move. Master it; it carries the verses.
  5. Generate 10, keep 2. Coherence comes from rejection, not from prompting harder.
  6. Crop the chrome. No status bars, captions, or UI in the final frame.
  7. Taste is decided first and judged last. Set the direction, then defend it on every cut.

Related Skills

  • video-editing — the mechanical pipeline (FFmpeg, reframe, EDL, polish) this sits on top of
  • remotion-video-creation — programmable beat-synced composition and rendering
  • fal-ai-media — generate the b-roll, transition SFX, and risers
  • motion-foundations, motion-patterns, motion-advanced, motion-ui — easing and motion timing
  • videodb — server-side smart reframe and indexing for large footage
  • content-engine — platform-native distribution, covers, captions
  • frontend-design-direction — the same "decide a direction first" discipline, for UI

모든 파일

2개 파일

taste 설치

스킬 파일을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어주세요.

ZIP 다운로드

저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.

git clone https://github.com/affaan-m/ECC/tree/main/skills/taste # Copy the skill folder to .claude/skills/ or .codex/skills/

복사 복사
빠른 설정: skill 폴더를 .claude/skills/로 복사하면 Claude가 해당 스킬을 자동으로 감지하여 사용합니다.
저장소 affaan-m/ECC

관련 스킬

web-search
업데이트 된 시간 2026년 6월 29일
webapp-testing
업데이트 된 시간 2026년 6월 29일
lark-base
업데이트 된 시간 2026년 7월 5일
computer-use
업데이트 된 시간 2026년 7월 29일
OR