Was macht Taste (Geschmack)?
Die meiste KI-Video-Beratung hört bei wie man Bilder rendert auf. Dieser Skill ist die Ebene darüber: wie die Bilder aussehen sollen, in welcher Reihenfolge, geschnitten zu welchem Rhythmus, damit das Ergebnis wie eine Absicht wirkt – nicht wie ein Haufen Generierungen.
Er kodiert einen spezifischen Geschmack – die Angelcore / Cloud-Trance / Hyperpop-Familie (Bladee-Ära „Silver Surfer“-ätherischer Trance gepaart mit Heavy-Angelcore) – destilliert aus einem Korpus gespeicherter Reels und einer Tour durch eine ~70 Einträge umfassende visuelle Genre-Bibliothek. Er ist bewusst subjektiv. Geschmack ist ein Standpunkt, keine Speisekarte.
Die Begleitdatei
references/genre-taxonomy.mdbeherbergt den vollständigen Katalog benannter Genres. Diese Datei ist die handlungsorientierte Ebene: Stimmung, Grammatik, Pipeline und ein beat-kartierter Shoot-Plan.
Wann zu aktivieren
- Erstellung eines Musikvideos, Lyric-Videos, Fancams oder Visualizers.
- Erstellung eines Edits / Reels in Kurzform, bei dem das Gefühl wichtiger ist als die Information.
- Steuerung der KI-B-Roll-Generierung (fal.ai, Veo, Kling usw.) bei der die Prompts eine kohärente Richtung brauchen, statt einmaliger Vibes.
- Zusammenstellung eines Moodboards oder Auswahl eines visuellen Genres vor dem Rendern.
- Der Benutzer sagt „Geschmack“, „mach es wie X“, „gib eine Richtung vor“, „Angelcore“, „Cloud Trance“, „Hyperpop-Edit“, „Bladee“, „Dreamcore“ oder nennt eine gespeicherte Referenz.
- Der aktuelle Edit funktioniert, wirkt aber flach, generisch, wie KI-Brei oder stilistisch inkohärent.
Dieser Skill sitzt oberhalb von video-editing (der Mechanik) und remotion-video-creation (dem Renderer). Verwende diese für das Wie. Verwende diesen für das Was und Warum.
Kernthese
- Geschmack ist die letzte Ebene und muss zuerst entschieden werden.
video-editingsagt zu Recht, dass Geschmack der letzte menschliche Durchgang ist. Die Falle: Wenn du den Geschmack erst am Ende bestimmst, war jede Generierung und jeder Schnitt vorher geraten. Wähle die Richtung vor dem ersten Prompt und lass sie dann alles einschränken. - Kohärenz schlägt Neuheit. Ein Look, ausgeführt über 30 Einstellungen, schlägt 30 Looks. Ein benanntes Genre (siehe unten) ist eine Einschränkung, die einem Kohärenz kostenlos liefert.
- Schneide nach dem Song, nicht nach dem Material. Bei einem Musikvideo ist die Timeline die Wellenform. Jeder harte Schnitt landet auf einem Beat oder einem Transienten. Die Bildberechnung findest du im Pipeline-Abschnitt.
- Generiere selektiv, schneide rücksichtslos. KI macht B-Roll, das es nicht gibt; sie macht keinen Geschmack. Du wirfst trotzdem 80 % weg.
Das ästhetische Vokabular (destilliert)
Das Referenzkorpus durchläuft eine große Bibliothek von benannten visuellen Genres. Die vollständige Liste findest du in references/genre-taxonomy.md. Der nützliche Schritt ist nicht, sich 70 Namen zu merken – sondern zu erkennen, dass ein Genre-Name eine komplette Prompt- und Grading-Voreinstellung ist. Wenn du eines auswählst, erbst du dessen Palette, Textur, Beleuchtung und Motiv als Einheit.
Die Genres gruppieren sich in Familien. Wähle eine primäre Familie und höchstens einen Akzent:
| Familie | Enthaltene Genres | Wirkt als |
|---|---|---|
| Ätherisch / Göttlich | Spiritualismus, Gletscher-Folk, Leuchtfeuer, Zen-Core, Märchen | schwerelos, heilig, leuchtend, weich |
| Hyperpop / Y2K-Cyber | Cyberdelia, Acid House, Acid Nora, Neo Aggressano, New Liquid | glänzend, Chrom, Neon, Kawaii-Cyber |
| Dunkel / Okkult | Dark Academia, Smoke Nostalgia, Communist Core, Abstract Tech | hoher Kontrast, bedrohlich, Körnung |
| Retro / Print | Retro-Surfer, Art Déco, Adventure Pulp, Classic Advertising, Magazine Collage, Bumper Stickers | flach, grafisch, Halbton, nostalgisch |
| Organisch / Texturiert | Mikrobiologie-Core, Webmuster, Fruitage Retro, Kuscheldecke, Pacific Punk Wave | taktil, Makro, gewebt, nass |
| Systemisch / Daten | Zahlen, Labyrinthe, Code-Web, Heatmap, Pixel, 8-Bit | gerastert, generativ, schematisch |
Für das aktuelle Projekt ist die primäre Ätherisch / Göttlich mit einem Hyperpop / Y2K-Cyber-Akzent – also heiliges Licht und kristalline Blüte, durchsetzt mit Chrom und Neon. Diese Paarung ist die Angelcore × Cloud-Trance-Briefing.
Das Stimmungssystem – Angelcore × Cloud-Trance
Direkt aus den stärksten Referenz-Reels destilliert. Das ist die konkrete Abstufung.
Palette
- Basis: Beinahe-schwarze Leere (#05060a) und Knochenweiß (#f4f1ea). Die meisten Frames sind das eine oder das andere.
- Göttlicher Akzent: Geschmolzenes Gold / Glutorange (#ffb24d → #ff7a18) – das eine warme Licht im Dunkeln.
- Kristalliner Akzent: Irisierendes Violett→Cyan→Magenta Bokeh (#8a6bff, #4fc3ff, #ff6ad5) – die Hyperpop-Blüte, verwendet in hellen Frames.
- Gefahren-Akzent (sparsam): Ein einzelnes leuchtendes Rot (#ff2a2a) auf Monochrom – nur für ein oder zwei Schock-Schnitte.
- Hyperpop-Motiv: Candy-Pink-Haare / Chrom / glänzendes Weiß vor blauem Himmel.
Regel: Ein Akzent pro Einstellung. Gold lebt in dunklen Frames; Irisieren lebt in hellen Frames; niemals beides in einer Einstellung.
Licht & Textur
- Dunkelheit durchbrochen von einer einzigen warmen Quelle (Glut-Blüte, göttlicher Strahl). Hoher Kontrast, tiefe Schwarztöne.
- Kristallines / Glitzer-Bokeh, Lens Flares, Bloom, Light Leaks – himmlisch, nicht schmutzig.
- Filmkorn + subtile chromatische Aberration bei den dunklen Frames; sauberer Glanz bei den hellen Frames.
- Makro-Detail auf Negativraum: ein Heldenobjekt zentriert auf Schwarz (Schlüssel, Auge, Zahnrad, Blütenblatt, Wasser).
- Motive: geflügelte Figuren, Wolken, Heiligenscheine, Engel, kristalline Strukturen, Candy-Cyber-Porträts.
Bewegung
- Langsame, schwebende, schwerelose Kamera (Drift, langsamer Push, langsamer Orbit) – Cloud-Trance.
- Geschwindigkeitsausbrüche nur beim Drop. Ansonsten atmet alles.
- Aufsteigende Partikel (Glut, Staub, Glitzer) – Aufwärtsbewegung = Aufstieg.
Die Schnitt-Grammatik (destilliert)
Aus den Referenz-Edits die Techniken, die wiederkehren und den Stil definieren:
- Beat-gebundene harte Schnitte. Keine Überblendungen im Verse/Drop. Schneide auf die Kick. Das Auge sollte den BPM fühlen.
- Makro-Insert (Held auf Schwarz). Ein einzelnes scharfes Objekt zentriert im schwarzen Negativraum, 1–2 Beats gehalten, dann Schnitt. Rhythmische Montage davon = die Cloud-Trance-Signatur.
- Bloom / Explosion-Reveal. Ein weißer oder Glut-Bloom, der das Bild auf einen Transienten hin aufhellt und dann in die nächste Einstellung übergeht. Der „göttliche Blitz“-Übergang.
- Farb-Pop auf Monochrom. Eine Passage in Schwarzweiß, dann ein einzelnes farbiges Element (rotes Auge, goldene Flamme, pinkes Haar) sticht auf dem Downbeat durch.
- Speed-Ramp zum Drop. Beschleunige das Material von langsam auf schnell über den letzten Takt vor dem Drop, harter Schnitt zum Tempo auf die Eins.
- Keyword-Hervorhebung für Untertitel (nur für Sprech-/Lyrik-Passagen). Großbuchstaben, ein oder zwei Wörter in der Akzentfarbe hervorgehoben, synchron zur Stimme. Verwende dies für Lyric-Videos, nicht für den reinen Visualizer.
- Reaction PiP (nur für Erklär-/Edit-Kommentare). Picture-in-Picture-Sprecherkopf über B-Roll. Außerhalb des Rahmens für das eigentliche Musikvideo; dokumentiert, weil das Korpus ihn intensiv nutzt.
Nicht tun: Crossfade-Übergänge in Tempo-Abschnitten; mehr als eine Akzentfarbe pro Einstellung; eine Einstellung, die über ihre musikalische Phrase hinaus gehalten wird; lesbare UI-Chrome am Bildschirm (wegcropen); gemischte Seitenverhältnisse in einer Timeline.
Die Pipeline – Verknüpfung der ECC-Video-Skills
Dieser Skill ist der Dirigent. Jeder ECC-Skill ist ein Instrument. Überspringe keine Ebenen.
0. TASTE (dieser Skill) Genre + Stimmung + Grammatik entscheiden, BEVOR irgendwas rendert
1. STRUKTUR (video-editing) Song abbilden: Zeitstempel für Intro/Strophe/Drop/Bridge/Outro
2. GENERIEREN (fal-ai-media) B-Roll pro Genre-Prompt-Presets erstellen; 80% wegwerfen
3. SCHNEIDEN (video-editing/FFmpeg) Beat-Schnitt + Reframe auf 9:16; Auswahl auf dem Raster montieren
4. KOMPONIEREN (remotion-video-creation) Overlays, Blooms, Lyrik-Text, beat-synchrone Sequenzierung
5. BEWEGUNG (motion-*-Skills) Easing-Kurven, Light-Leak/Partikel-Bewegung, Übergangs-Zeitsteuerung
6. AUDIO (fal-ai-media) Übergangs-Riser/Impacts für die Schnitte (die Spur selbst ist in Ableton)
7. VERFEINERN Grading auf die obige Palette, letzter Pacing-Durchgang, Export
8. VERTEILEN (content-engine) Plattform-native Versionen + Untertitel/Cover
| Schritt | Zu ladender ECC-Skill | Aufgabe hier |
|---|---|---|
| Struktur & Schnitt | video-editing | FFmpeg-Schnitt/Concat/Reframe, EDL, Szenen-/Stille-Erkennung |
| B-Roll generieren | fal-ai-media | Bild-/Video-Modelle pro Genre-Voreinstellung |
| Komponieren & Overlay | remotion-video-creation | beat-synchrone <Sequence>s, Text, Blooms, Masken |
| Bewegungs-Timing | motion-foundations, motion-patterns, motion-advanced | Easing, Federn, Licht-/Partikel-Bewegung |
| Serverseitiges Video | videodb | Smart-Reframe, Indizierung bei großem Material |
| Verteilung | content-engine | Plattform-spezifische Schnitte, Cover, Untertitel |
| Stimme/Lyrik-VO | video-editing (ElevenLabs-Abschnitt) | nur wenn eine gesprochene Ebene benötigt wird |
Beat-Mathematik (Schnitte an den Song binden)
Der aktuelle Track hat 138 BPM, B-Moll. Konstanten:
seconds_per_beat = 60 / 138 = 0,43478 sframes_per_beat = fps × 0,43478→ 24fps: 10,43, 30fps: 13,04, 60fps: 26,091 Takt (4 Beats) = 1,7391 s→ 30fps: 52,17 Frames8-Takt-Phrase = 13,913 s→ die Schleifenlänge des Tracks
In Remotion, raste jedes from={} auf einen Beat ein:
const FPS = 30;
const BPM = 138;
const beat = (n: number) => Math.round(n * (60 / BPM) * FPS); // beat(n) → Frame
// Schneide auf den Beats 0,4,8,... : <Sequence from={beat(0)} durationInFrames={beat(4)}> ...
Beat-kartierter Shoot-Plan (dieses Musikvideo)
Die Song-Anordnung (aus den Notizen des Projekts) ist Intro → Strophe → Drop → Bridge → Drop → Outro (~2:05). Ordne den Geschmack jedem Abschnitt zu:
| Abschnitt | Genre/Stimmungs-Neigung | Grammatik | Einstellungs-Ideen |
|---|---|---|---|
| Intro | Ätherisch/göttlich, fast schwarz | Langsamer Push, keine Schnitte | Glutblüte in der Leere; ein einzelner Goldstrahl; aufsteigender Staub |
| Strophe | Dunkel + Makro-Held auf Schwarz | Harte Schnitte alle 2 Beats | Schlüssel, Auge, Zahnrad, Wassertropfen, Blütenblatt – rhythmische Makro-Montage |
| Drop | Hyperpop-Blüte + Kristallin | Speed-Ramp rein, Schnitt auf die Eins, schnell | Candy-pinke Figur, Chrom, irisierendes Bokeh, geflügelter Aufstieg |
| Bridge | Spiritualismus, schwerelos | Eine lange gehaltene Einstellung, Farb-Pop | Wolken + Heiligenschein; einzelner roter Akzent sticht einmal hervor |
| Drop 2 | Wie Drop, verstärken | Göttliche Blitz-Blooms auf Transienten hinzufügen | Flügel öffnen sich, Glitzer-Ausbruch, Light Leaks maximal |
| Outro | Gletscher-Folk, kalte Ruhe | Langsames Ausblenden nach Schwarz | Kristalline Struktur löst sich auf; Glut erlischt |
fal.ai Prompt-Voreinstellungen (pro Stimmung)
Verwende mit fal-ai-media. Jede Voreinstellung ist das Genre, auf die Projektpalette gerendert. Hänge 9:16, vertikal, filmisch, Filmkorn, volumetrisches Licht, kein Text, kein Wasserzeichen an alle an.
- Göttliche Leere: „Eine einzelne geschmolzene, goldene Glutblüte, die in einer unendlichen, fast schwarzen Leere aufsteigt, tiefer Schatten, eine warme Lichtquelle, schwerelose Staubpartikel, heilig, hoher Kontrast“
- Makro-Held: „Extrem-Makro eines antiken Messingschlüssels / eines menschlichen Auges / ineinandergreifender Zahnräder, zentriert auf reinem schwarzen Negativraum, rasiermesserscharfes Detail, einzelnes Saumlicht“
- Kristalline Blüte: „Irisierendes Violett-Cyan-Magenta-kristallines Bokeh, glitzernde Lichtbrechung, verträumte Lens-Flares, himmlisches Leuchten, weicher Fokus, Hyperpop-Angelcore“
- Candy-Cyber-Porträt: „Figur mit candy-pinken Haaren, glänzenden Chrom-Akzenten, strahlend blauem Himmel, Y2K-Hyperpop, sauberer Glanz, gesättigt, Kawaii-Cyber“
- Geflügelter Aufstieg: „Eine geflügelte Figur, die in Wolken aufsteigt, Heiligenschein aus Licht, knochenweiß und gold, volumetrische God-Rays, ätherisch, religiöse Ikonographie, weich“
- Kaltes Outro: „Blasse kristalline Eisstruktur, die sich langsam auflöst, Gletscher-Folk, kaltes Blau und Knochenweiß, minimalistisch, ruhig, in Schwarz übergehend“
Generiere 6–10 pro Voreinstellung, behalte 2–3. Für Bewegung animiere Standbilder mit einem Bild-zu-Video-Modell oder generiere kurze Clips direkt; behalte die Kamerabewegungen gemäß den Bewegungsregeln langsam.
FFmpeg-Rezepte (Schnitt + Reframe)
# Jegliches Landschafts-/Rohmaterial auf 9:16 (mittiger Crop) umwandeln
ffmpeg -i in.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" v.mp4
# Einen Clip auf exakt N Beats bei 138 BPM zuschneiden (z. B. 2 Beats = 0,8696 s)
ffmpeg -i in.mp4 -t 0.8696 -c copy beat2.mp4
# Beat-Auswahlen zur Strophen-Montage zusammenfügen
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-Chrome / Statusleiste aus einem Screenshot einer Referenz entfernen (oben+unten cropen)
ffmpeg -i reel.mp4 -vf "crop=iw:ih-300:0:150" clean.mp4
Remotion-Kompositionsgerüst (beat-synchron)
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" }); // Göttlicher Blitz auf einem Transienten
return <AbsoluteFill style={{ background: "radial-gradient(#fff,#ffb24d)", opacity: o, mixBlendMode: "screen" }} />;
};
export const AngelcoreMV: React.FC = () => (
<AbsoluteFill style={{ background: "#05060a" }}>
{/* Strophe: Makro-Held auf Schwarz, harter Schnitt alle 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: Kristalline Blüte + Blitz auf die Eins */}
<Sequence from={beat(8)} durationInFrames={beat(16)}><Video src="/selects/crystalline.mp4" /></Sequence>
<Sequence from={beat(8)} durationInFrames={beat(1)}><Bloom /></Sequence>
</AbsoluteFill>
);
Rendern: npx remotion render src/index.ts AngelcoreMV out.mp4. Siehe remotion-video-creation für das Projekt-Setup, die Audiospur-Bindung und Render-Flags.
Schlüsselprinzipien
- Entscheide das Genre vor der ersten Generierung. Wähle eine primäre Familie + einen Akzent.
- Eine Akzentfarbe pro Einstellung. Gold im Dunkeln, Irisieren im Hellen, Rot einmal.
- Jeder harte Schnitt landet auf einem Beat. Verwende die Beat-Mathematik; keine Übergänge in Tempo-Abschnitten.
- Makro (Held auf Schwarz) ist der Signature-Move. Meistere ihn; er trägt den Clo
[Übersetzung aus technischen Gründen gekürzt]