taste은(는) 무엇을 하나요?
대부분의 AI 비디오 조언은 프레임을 렌더링하는 방법에서 멈춥니다. 이 스킬은 그 위의 레이어입니다: 프레임이 어떻게 보여야 하고, 어떤 순서로, 어떤 리듬에 맞춰 잘라야 하는가 — 그래서 결과물이 생성물의 더미가 아니라 의도적인 하나의 결과물로 읽히도록 하는 것입니다.
이 스킬은 특정 취향(taste)을 인코딩합니다 — 저장된 릴(Reels) 코퍼스와 약 70개 항목의 비주얼 장르 라이브러리를 둘러보며 추출된 angelcore / cloud-trance / hyperpop 패밀리(Bladee 'Silver Surfer' 시대의 에테리얼 트랜스와 헤비 엔젤코어의 교차)입니다. 의도적으로 주관적입니다. 취향은 관점이지 메뉴가 아닙니다.
함께 제공되는 파일
references/genre-taxonomy.md에는 명명된 장르 전체 카탈로그가 있습니다. 이 파일은 실행 가능한 레이어입니다: 분위기, 문법, 파이프라인, 그리고 비트 매핑된 샷 플랜.
활성화 시점
- 뮤직비디오, 리릭 비디오, 팬캠, 시각화 도구를 제작할 때.
- 느낌이 정보보다 더 중요한 숏폼 에디트/릴(Edit/Reel) 을 만들 때.
- AI b-roll 생성(fal.ai, Veo, Kling 등)을 구동하고 프롬프트가 일회성 분위기가 아닌 일관된 방향을 필요로 할 때.
- 어떤 렌더링보다 먼저 무드보드를 조립하거나 비주얼 장르를 선택할 때.
- 사용자가 "taste", "make it feel like X", "give it a direction", "angelcore", "cloud trance", "hyperpop edit", "Bladee", "dreamcore"를 말하거나 저장된 참조 이름을 언급할 때.
- 현재 편집이 평범하고, 제너릭하며, AI 슬롭처럼 보이거나, 스타일적으로 일관성이 없을 때.
이 스킬은 video-editing(메커니즘)과 remotion-video-creation(렌더러) 위에 있습니다. 방법은 이들을 사용하고, 무엇과 이유는 이 스킬을 사용하세요.
핵심 명제
- 취향(Taste)은 마지막 레이어이지만, 먼저 결정되어야 합니다.
video-editing은 취향이 최종 인간 패스라고 올바르게 말합니다. 함정은: 끝에서만 취향을 결정하면, 모든 생성과 업스트림 컷이 추측에 불과해진다는 것입니다. 첫 번째 프롬프트 전에 방향을 선택하고, 모든 것을 제약하게 하세요. - 일관성은 참신함을 이깁니다. 30개의 샷에 걸쳐 하나의 룩이 30개의 룩을 이깁니다. 명명된 장르(아래)는 일관성을 공짜로 사는 제약입니다.
- 푸티지가 아닌 노래에 맞춰 컷하세요. 뮤직비디오에서 타임라인은 파형입니다. 모든 하드 컷은 비트나 트랜지언트에 떨어집니다. 프레임 수학은 파이프라인 섹션에 있습니다.
- 선별적으로 생성하고, 무자비하게 편집하세요. AI는 존재하지 않는 b-roll을 만듭니다; 그것은 취향을 만들지 않습니다. 여전히 80%를 버리게 됩니다.
미적 어휘 (추출됨)
참조 코퍼스는 명명된 비주얼 장르의 대규모 라이브러리를 둘러봅니다. 전체 목록은 references/genre-taxonomy.md에 있습니다. 유용한 움직임은 70개의 이름을 암기하는 것이 아니라 장르 이름이 완전한 프롬프트-및-그레이드 프리셋임을 보는 것입니다. 하나를 선택하면 팔레트, 텍스처, 조명, 주제가 하나의 유닛으로 상속됩니다.
장르는 패밀리로 그룹화됩니다. 기본 패밀리 하나와 최대 하나의 악센트를 선택하세요:
| 패밀리 | 포함 장르 | 느낌 |
|---|---|---|
| 에테리얼 / 신성 | spiritualism, glacial folk, beacons, zen core, fairy tale | 무중력, 신성, 빛남, 부드러움 |
| 하이퍼팝 / Y2K-사이버 | cyberdelia, acid house, acid nora, neo aggressano, new liquid | 광택, 크롬, 네온, 카와이-사이버 |
| 다크 / 오컬트 | dark academia, smoke nostalgia, communist core, abstract tech | 고대비, 불길함, 그레인 |
| 레트로 / 인쇄 | retro surfers, art deco, adventure pulp, classic advertising, magazine collage, bumper stickers | 플랫, 그래픽, 하프톤, 향수 |
| 오가닉 / 텍스처 | microbiology core, weaving patterns, fruitage retro, cozy blanket, pacific punk wave | 촉각적, 매크로, 짜임, 젖음 |
| 시스템 / 데이터 | numbers, mazes, code web, heatmap, pixel, 8-bit | 그리드, 생성적, 도식 |
현재 프로젝트의 경우 기본은 에테리얼 / 신성이고 하이퍼팝 / Y2K-사이버 악센트를 사용합니다 — 즉, 거룩한 빛과 결정체 같은 개화가 크롬과 네온으로 강조됩니다. 그 페어링이 바로 angelcore × cloud-trance 브리핑입니다.
분위기 시스템 — angelcore × cloud-trance
가장 강력한 참조 릴에서 직접 추출했습니다. 이것이 구체적인 그레이드입니다.
팔레트
- 베이스: 거의 검은 공허(#05060a)와 뼈 하얀색(#f4f1ea). 대부분의 프레임은 둘 중 하나입니다.
- 신성 악센트: 녹은 금 / 불꽃 오렌지(#ffb24d → #ff7a18) — 어둠 속의 하나의 따뜻한 빛.
- 결정 악센트: 무지개 빛깔 바이올렛→시안→마젠타 보케(#8a6bff, #4fc3ff, #ff6ad5) — 밝은 프레임에 사용되는 하이퍼팝 개화.
- 위험 악센트(드물게): 모노크롬 위의 단일 빛나는 빨강(#ff2a2a) — 한두 번의 충격 컷 전용.
- 하이퍼팝 주제: 사탕 분홍 머리 / 크롬 / 광택 흰색 대 푸른 하늘.
규칙: 샷당 하나의 악센트. 금색은 어두운 프레임에 있고, 무지개 빛은 밝은 프레임에 있습니다; 한 샷에 둘 다 절대 없음.
조명 및 텍스처
- 단일 따뜻한 광원(불꽃 개화, 신성한 샤프트)에 의해 뚫린 어둠. 고대비, 깊은 검정.
- 결정 / 반짝이 보케, 렌즈 플레어, 블룸, 라이트 릭 — 천상의, 더럽지 않은.
- 어두운 프레임에는 필름 그레인 + 미묘한 색수차; 밝은 프레임에는 깨끗한 광택.
- 네거티브 공간의 매크로 디테일: 검정 위에 중앙에 배치된 히어로 오브제(열쇠, 눈, 기어, 꽃잎, 물).
- 주제: 날개 달린 형상, 구름, 후광, 천사, 결정체 구조, 캔디-사이버 초상화.
모션
- 느리고, 떠다니며, 무중력 카메라(드리프트, 느린 푸시, 느린 궤도) — 클라우드 트랜스.
- 드롭에서만 폭발적인 속도. 그 외에는 모든 것이 숨을 쉽니다.
- 올라가는 입자(불씨, 먼지, 반짝이) — 상향 운동 = 승천.
편집 문법 (추출됨)
참조 편집에서 반복되고 스타일을 정의하는 기술:
- 비트에 고정된 하드 컷. 절/드롭에는 디졸브 없음. 킥에 맞춰 컷. 눈이 BPM을 느껴야 합니다.
- 검정 위의 히어로 온-블랙 매크로 삽입. 검정 네거티브 공간 중앙에 날카로운 단일 오브젝트, 1-2비트 유지, 그런 다음 컷. 이것의 리드미컬한 몽타주 = 클라우드-트랜스 시그니처.
- 블룸 / 폭발 리빌. 트랜지언트에서 프레임을 날려버리는 흰색 또는 불꽃 블룸, 그런 다음 다음 샷으로 해소. "신성한 섬광" 전환.
- 모노크롬 위의 컬러 팝. 흑백으로 구간을 실행한 다음, 다운비트에 단일 색상 요소(붉은 눈, 금색 불꽃, 분홍 머리)가 뚫고 나옴.
- 드롭으로 속도 램프. 드롭 전 마지막 마디에서 푸티지를 느리게에서 빠르게 램프업하고, 1번째 비트에 템포에 맞춰 하드 컷.
- 캡션 키워드 강조(토킹헤드/리릭 섹션 전용). 모두 대문자, 악센트 색상으로 한두 단어 강조, 보컬에 싱크. 리릭 비디오에 사용, 순수 시각화 도구에는 사용하지 않음.
- 반응 PiP(설명/편집-코멘터리 전용). b-roll 위에 화면 속 화면 토킹헤드. 뮤직비디오 자체의 범위 밖; 코퍼스가 많이 사용하기 때문에 문서화됨.
금지사항: 템포 섹션에서 크로스페이드 전환; 샷당 하나 이상의 악센트 색상; 음악적 프레이즈를 넘어 유지되는 샷; 읽을 수 있는 온스크린 UI 크롬(자르기); 하나의 타임라인에서 혼합된 화면비.
파이프라인 — ECC 비디오 스킬 믹싱
이 스킬은 지휘자입니다. 각 ECC 스킬은 악기입니다. 레이어를 건너뛰지 마세요.
0. TASTE (이 스킬) 어떤 것도 렌더링하기 전에 장르 + 분위기 + 문법 결정
1. STRUCTURE (video-editing) 노래 매핑: 인트로/절/드롭/브릿지/아웃트로 타임스탬프
2. GENERATE (fal-ai-media) 장르 프롬프트 프리셋으로 b-roll 생성; 80% 버림
3. CUT (video-editing/FFmpeg) 비트 컷 + 9:16 리프레임; 그리드에서 셀렉트 조립
4. COMPOSE (remotion-video-creation) 오버레이, 블룸, 리릭 텍스트, 비트 동기화 시퀀싱
5. MOTION (motion-* skills) 이징 커브, 라이트 릭/입자 모션, 전환 타이밍
6. AUDIO (fal-ai-media) 컷을 판매하기 위한 전환 라이저/임팩트(트랙 자체는 Ableton에 있음)
7. POLISH 위의 팔레트로 그레이드, 최종 페이싱 패스, 내보내기
8. DISTRIBUTE (content-engine) 플랫폼 네이티브 버전 + 캡션/커버
| 단계 | 로드할 ECC 스킬 | 여기서 하는 일 |
|---|---|---|
| 구조 및 컷 | video-editing | FFmpeg 컷/연결/리프레임, EDL, 씬/무음 감지 |
| b-roll 생성 | fal-ai-media | 장르 프리셋당 이미지/비디오 모델 |
| 구성 및 오버레이 | remotion-video-creation | 비트 동기화된 <Sequence>들, 텍스트, 블룸, 마스크 |
| 모션 타이밍 | motion-foundations, motion-patterns, motion-advanced | 이징, 스프링, 라이트/입자 모션 |
| 서버 측 비디오 | videodb | 스마트 리프레임, 푸티지가 큰 경우 인덱싱 |
| 배포 | content-engine | 플랫폼별 컷, 커버, 캡션 |
| 음성/리릭 VO | video-editing (ElevenLabs 섹션) | 말하는 레이어가 필요한 경우에만 |
비트 수학 (컷을 노래에 고정)
현재 트랙은 138 BPM, B단조입니다. 상수:
초_당_비트 = 60 / 138 = 0.43478초프레임_당_비트 = fps × 0.43478→ 24fps: 10.43, 30fps: 13.04, 60fps: 26.091 마디 (4비트) = 1.7391초→ 30fps: 52.17 프레임8-마디 프레이즈 = 13.913초→ 트랙의 루프 길이
Remotion에서 모든 from={}을 비트에 스냅:
const FPS = 30;
const BPM = 138;
const beat = (n: number) => Math.round(n * (60 / BPM) * FPS); // beat(n) → 프레임
// 비트 0,4,8,...에서 컷 : <Sequence from={beat(0)} durationInFrames={beat(4)}> ...
비트 매핑된 샷 플랜 (이 뮤직비디오)
노래 편곡(프로젝트 자체 노트에서)은 인트로 → 절 → 드롭 → 브릿지 → 드롭 → 아웃트로 (~2:05) 입니다. 각 섹션에 취향 매핑:
| 섹션 | 장르/분위기 경향 | 문법 | 샷 아이디어 |
|---|---|---|---|
| 인트로 | 에테리얼/신성, 거의 검정 | 느린 푸시, 컷 없음 | 공허 속 불꽃 개화; 금색의 단일 샤프트; 먼지 상승 |
| 절 | 다크 + 검정 위의 매크로 히어로 | 2비트마다 하드 컷 | 열쇠, 눈, 기어, 물방울, 꽃잎 — 리드미컬한 매크로 몽타주 |
| 드롭 | 하이퍼팝 개화 + 결정체 | 속도 램프 인, 첫 비트에 컷, 빠름 | 사탕 분홍 형상, 크롬, 무지개 빛 보케, 날개 승천 |
| 브릿지 | 영성, 무중력 | 하나의 긴 홀드 샷, 컬러 팝 | 구름 + 후광; 단일 빨간 악센트가 한 번 찌름 |
| 드롭 2 | 드롭과 동일, 강화 | 트랜지언트에 신성한 섬광 블룸 추가 | 날개 펼침, 반짝이 폭발, 라이트 릭 최대 |
| 아웃트로 | 빙하 포크, 차가운 평온 | 느린 페이드 투 블랙 | 결정체 구조가 서서히 용해; 불씨 사라짐 |
fal.ai 프롬프트 프리셋 (분위기별)
fal-ai-media와 함께 사용하세요. 각 프리셋은 프로젝트 팔레트로 렌더링된 장르입니다. 모든 프롬프트에 9:16, vertical, cinematic, film grain, volumetric light, no text, no watermark를 추가하세요.
- 신성한 공허: "무한한 거의 검정 공허에서 떠오르는 단일 녹은 금 불꽃 개화, 깊은 그림자, 하나의 따뜻한 광원, 무중력 먼지 입자, 신성한, 고대비"
- 매크로 히어로: "골동품 황동 열쇠 / 인간의 눈 / 맞물린 기어의 극단적 매크로, 순수 검정 네거티브 공간 중앙, 면도날 같은 디테일, 단일 림 라이트"
- 결정 개화: "무지개 빛 바이올렛-시안-마젠타 결정 보케, 반짝이는 빛 굴절, 꿈같은 렌즈 플레어, 천상의 빛, 소프트 포커스, 하이퍼팝 엔젤코어"
- 캔디-사이버 초상화: "사탕 분홍 머리카락 형상, 광택 크롬 악센트, 밝은 파란 하늘, Y2K 하이퍼팝, 깨끗한 광택, 채도 높음, 카와이-사이버"
- 날개 승천: "구름 속으로 승천하는 날개 달린 형상, 빛의 후광, 뼈 흰색과 금색, 체적 광선, 에테리얼, 종교적 도상학, 부드러움"
- 차가운 아웃트로: "창백한 결정 얼음 구조가 서서히 용해, 빙하 포크, 차가운 파랑과 뼈 흰색, 미니멀, 평온, 검정으로 페이드"
프리셋당 6-10개 생성, 2-3개 유지. 모션을 위해 이미지-투-비디오 모델로 스틸을 애니메이션화하거나 짧은 클립을 직접 생성; 모션 규칙에 따라 카메라 움직임을 느리게 유지.
FFmpeg 레시피 (컷 + 리프레임)
# 모든 가로/원시 클립을 9:16으로 리프레임 (중앙 크롭)
ffmpeg -i in.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" v.mp4
# 클립을 138BPM에서 정확히 N비트로 비트 컷 (예: 2비트 = 0.8696초)
ffmpeg -i in.mp4 -t 0.8696 -c copy beat2.mp4
# 비트 셀렉트를 절 몽타주로 연결
for f in selects/*.mp4; do echo "file '$f'" ; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy verse.mp4
# 화면 녹화된 참조에서 UI 크롬/상태 표시줄 제거 (상단+하단 크롭)
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" }); // 트랜지언트에서 신성한 섬광
return <AbsoluteFill style={{ background: "radial-gradient(#fff,#ffb24d)", opacity: o, mixBlendMode: "screen" }} />;
};
export const AngelcoreMV: React.FC = () => (
<AbsoluteFill style={{ background: "#05060a" }}>
{/* 절: 검정 위의 매크로 히어로, 2비트마다 하드 컷 */}
<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>
{/* 드롭: 결정 개화 + 첫 비트에 섬광 */}
<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을 참조하세요.
핵심 원칙
- 첫 번째 생성 전에 장르를 결정하세요. 하나의 기본 패밀리 + 하나의 악센트를 선택하세요.
- 샷당 하나의 악센트 색상. 어둠 속 금색, 빛 속 무지개 빛, 빨간색은 한 번.
- 모든 하드 컷은 비트에 떨어집니다. 비트 수학을 사용하세요; 템포 섹션에서 트랜지션 없음.
- 검정 위의 히어로-온-블랙 매크로가 시그니처 움직임입니다. 마스터하세요; 그것이 캐리합니다
…
[번역을 위해 잘림]