Communitygithub.com

awk-effects

Füge einem sprechenden Video in einem einzigen Render spektakuläre Effekte hinzu – Text hinter dem Kopf, Glas-Widgets, Spotlight mit Glitzer, Checklisten-Animation, umlaufende Wörter oder Fotos, Klone, Geldzähler, iPhone-Benachrichtigungen, News-Einblendungen, Freeze-Frame, animierte Balkendiagramme und vieles mehr.

Was ist awk-effects?

Dieses Skill für KI-Agenten (optimiert für Claude Code, aber auch über die Kommandozeile nutzbar) verwandelt ein einzelnes Video mit einem Befehl in eine aufwändig bearbeitete Szene voller visueller Effekte. Es unterstützt über 15 verschiedene Effekttypen – von „Text hinter dem Kopf“ über „Glas-Widgets“ bis hin zu „Klonen“, „Geldzähler“ oder „iPhone-UI“. Die zeitliche Steuerung erfolgt wahlweise in Sekunden oder über gesprochene Schlüsselwörter (z. B. „@views“), sodass Effekte exakt an bestimmte Stellen im Skript gekoppelt werden können. Die Effekte nutzen Apple Vision (lokal auf dem Gerät) zur Erstellung einer Personenmaske und Gesichtsverfolgung, Remotion für die transparenten Overlays und ffmpeg für das finale Compositing. Für den Workflow empfiehlt das Skill, vor dem Full-Render mit `--preview` eine Vorschau zu generieren und Effekte nicht zu dicht zu stapeln.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aiwalakapil/awk-studio/tree/HEAD/skills/awk-effects

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Effekte (AI Wala Kapil Studio)

Ein Clip → viele Effekte, ein Befehl. Zeitsteuerung in Sekunden oder per gesprochenem Wort ("@views", "@कमाई+0.2"; englische Wörter werden ebenfalls in der Devanagari-Umschrift von Whisper erkannt, z. B. link ↔ लिंक).

Ausführen

python3 ~/.claude/skills/awk-effects/scripts/effects.py --list                      # alle Effekte + deren Eigenschaften
python3 ~/.claude/skills/awk-effects/scripts/effects.py VIDEO.mp4 --spec fx.json --preview 3.2   # ein Standbild, schnell
python3 ~/.claude/skills/awk-effects/scripts/effects.py VIDEO.mp4 --spec fx.json -o VIDEO_fx.mp4

fx.json:

[
 {"fx": "title-behind",  "t": 0.0, "dur": 2.6, "props": {"text": "FREE|CLASS"}},
 {"fx": "orbit-text",    "t": 2.6, "dur": 4.0, "props": {"images": ["~/Pictures/a.png", "~/Pictures/b.png", "~/Pictures/c.png"], "size": 0.25}},
 {"fx": "clone",         "t": 6.9, "dur": 1.6, "props": {"count": 2, "lag": 0.4}},
 {"fx": "edit-timeline", "t": 8.6, "dur": 3.0, "props": {"title": "🎬 Aise video banti hai", "y": 0.6}},
 {"fx": "photo-3d",      "t": 12.0, "dur": 3.0, "props": {"photo": "~/Pictures/creator.png", "label": "Aap bhi creator ✨"}},
 {"fx": "map-flyto",     "t": 15.0, "dur": 3.0, "props": {"image": "~/maps/india.png", "x": 0.27, "y": 0.6, "label": "Mumbai"}},
 {"fx": "transition",    "t": "@फटाफट", "dur": 0.4, "props": {"kind": "zoom-punch"}},
 {"fx": "checklist",     "t": 5.4, "dur": 3.0, "props": {"title": "Kya karna hai", "items": ["Bio link kholo", "Form fill karo", "Submit"], "every": 0.6}},
 {"fx": "iphone-ui",     "t": "@DM", "dur": 2.2, "props": {"app": "Instagram", "title": "aiwalakapil", "body": "New message", "icon": "📩"}},
 {"fx": "spotlight",     "t": 10.8, "dur": 2.0, "props": {"label": "Description mein link", "glitter": true}},
 {"fx": "glass-widgets", "t": 13.0, "dur": 3.0, "props": {"items": [{"icon": "🔥", "title": "Views", "value": "4.2L"}]}},
 {"fx": "money-counter", "t": 16.2, "dur": 2.4, "props": {"to": 50000, "label": "Course ki value"}},
 {"fx": "chart",         "t": 18.8, "dur": 2.6, "props": {"title": "Registrations", "bars": [{"label": "Day 1", "value": 58}, {"label": "Day 2", "value": 111}]}},
 {"fx": "news-cut",      "t": 21.5, "dur": 2.0, "props": {"headline": "FREE AI class shuru!"}},
 {"fx": "freeze-callout","t": 24.0, "dur": 1.6, "props": {"name": "KAPIL", "sub": "AI Wala Kapil"}}
]

So funktioniert es

  • tools/awkvision (Apple Vision, lokal auf dem Gerät) erstellt einmal pro Video eine Personenmaske und Gesichtsverfolgung (zwischengespeichert als VIDEO.matte.mp4, VIDEO.faces.json; der erste Build kompiliert das Swift-Tool, ~1 min pro 25 s 60-fps-4K-Quellvideo, --fast-matte für schnelleres).
  • Remotion rendert eine transparente Hintergrund-Ebene (unter der Person) und eine Vordergrund-Ebene; ffmpeg stapelt: Video → Hintergrund → Person (ausgeschnitten) → Vordergrund.
  • Spotlight, Orbit, Glas-Widgets, Titel hinter dem Kopf und Freeze-Callout folgen automatisch dem Gesicht.
  • clone wird von ffmpeg mit der Maske composited: Kopien der Person, zeitlich versetzt, erscheinen neben ihr (nicht im --preview zu sehen).
  • photo-3d schneidet das Subjekt aus einem beliebigen Foto aus (Apple Vision) und bewegt es vor dem Hintergrund für Tiefenwirkung.
  • map-flyto verwendet ein beliebiges Kartenbild (x/y sind Bildanteile); verwende ein hochauflösendes Kartenbild, kleine Bilder wirken beim Zoomen unscharf.
  • Lokale Bildpfade in den Eigenschaften (images, image, photo) werden automatisch in das Studio kopiert.

Workflow für Claude

  1. Transkribiere oder lies das Skript, wähle 4–8 Momente aus (Hook in den ersten 2 s, Zahlen, Listen, CTA). Staple Effekte nicht direkt aneinander; 1–3 s pro Effekt, mit etwas Pause dazwischen.
  2. Nutze vor dem finalen Rendern immer --preview T für einige Schlüsselmomente und überprüfe sie.
  3. Reihenfolge in einem Reel: Auto-Cut → Auto-Zoom → Effekte → Untertitel → Soundeffekte → Audio-Master (Zooms und Übergänge zeichnen das Video neu, daher kommen Untertitel danach).
  4. Text hinter dem Kopf passt sich automatisch an den Platz oberhalb des Kopfes an; die Haare bedecken den unteren Teil der letzten Zeile (das ist der gewünschte Look). Kurze Wörter (max. 8 Buchstaben pro Zeile) lesen sich am besten.
  5. Bei einem Video mit bereits eingebrannten Textboxen platziere Effekte in den leeren Zonen oder nutze Vollbild-Momente (News-Cut, Photo-3d, Freeze-Callout, Spotlight), damit sich nichts überlappt.
  6. Glaskarten sind getönt (nicht unscharf), damit sie auf jedem Filmmaterial lesbar bleiben.

Verwandte Skills