Communitygithub.com

woanderingboy/novel-video-pipeline

Pipeline zur Generierung von KI-Manga-Dramen (16:9) aus Romanen. 5 Stationen: Drehbuch → Assets → Storyboard → Audio → Compositing. Asset-first, IP-Firewall, Kinderschutz-Gate.

Was ist novel-video-pipeline?

Dieser Skill verwandelt Textgeschichten (Webromane, Comics, Originaldrehbücher, Märchen etc.) stabil in Prompt-Pakete für Text-zu-Video-Modelle, inklusive visueller Referenzbilder und CC0-Vertonung. Die Pipeline ist für horizontale Manga-Dramen (16:9, mehrteilige Serien) ausgelegt, kann aber auch für kindgerechte Inhalte oder Kurzvideos angepasst werden. Sie besteht aus fünf aufeinander aufbauenden Stationen: Skript-Adaption (S1), Asset-Erstellung mit Charakter- und Szenenmanifesten (S2), Storyboard-Generierung basierend auf den Assets (S3), Audio-Zusammenstellung (S4) und finales Compositing (S5). Ein zentrales Merkmal ist der „Asset-first“-Ansatz: Vor dem Schreiben der Storyboard-Prompts wird eine konsistente Asset-Bibliothek aufgebaut, um Charakter- und Szenenkontinuität zu gewährleisten. Der Skill beinhaltet eine strenge IP-Firewall, die sicherstellt, dass keine urheberrechtlich geschützten Drittanbieter-Charaktere reproduziert werden, und erlaubt nur Public Domain oder CC0-Medien. Er bietet Qualitäts-Gates, Skripte zum Herunterladen von Bildern und Audio sowie optionale Feedback-Mechanismen zur Selbstverbesserung.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add woanderingboy/novel-video-pipeline

In Ihrer bevorzugten KI fragen

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

Dokumentation

漫剧(小说 / 网文 / 漫画改编)· 五站式流水线(novel-video-pipeline)

Übersicht

Wandelt eine Textgeschichte (Webroman, Comic, Originaldrehbuch, Märchen, etc.) stabil in ein Storyboard-Prompt-Paket + visuelle Referenzbilder + CC0-Vertonung um, das an Text-zu-Video-Modelle verfüttert werden kann. Dabei wird durchgängig die Grenze „keine Kopie realer Drittanbieter-Urheberrechtsfiguren“ eingehalten. Standardmäßig ausgerichtet auf Manga-Dramen (horizontales 16:9 / mehrteilige Serien), kann aber auch auf kindgerechte Manga-Dramen, einzelne Kurzvideos etc. umgestellt werden. Die Pipeline orientiert sich am Rhythmus aktueller Hits („starker Hook + emotionale Spannung + Twist + Befriedigung + Cliffhanger“), extrahiert jedoch nur das methodische Grundgerüst – Figuren, Handlung und Stil sind stets original.

Die Pipeline besteht aus fünf aufeinander folgenden Stationen, jede produziert ein vereinbartes JSON / Ressourcenverzeichnis, die nächste Station konsumiert die Ausgabe der vorherigen. Kernproduktionsreihenfolge: Zuerst die Asset-Bibliothek aufbauen (S2), dann die Storyboard-Prompts schreiben (S3) – das Storyboard ordnet lediglich die Assets nach filmischen Gesichtspunkten an, um Figurenkonsistenz und räumliche Kontinuität der Szenen zu gewährleisten.

S1 Adaptiertes Drehbuch ──script.json──▶ S2 Asset-Bibliothek ──character_manifest + scene_manifest (+ visual_manifest)──▶ S3 Storyboard-Prompts ──storyboard.json (Referenzen auf Assets + ref_images-Verankerung)──▶ S4 Audio ──audio_manifest──▶ S5 Compositing ──→ Fertigvideo
  • S1 Adaptiertes Drehbuch: Komprimiert den Langtext/das Original auf ein „Gerüst aus Lehr-/Erzählwert + Beat-Tabelle“, gibt script.json aus (titel / logline / characters / scenes / beats).
  • S2 Asset-Bibliothek (zuerst aufbauen): Liest das gesamte Drehbuch, erstellt Charakter-Drei-Ansichten-Assets (character_manifest.json: visual_lock + front/side/back Ansichten + Verankerungsbildpaket + fixed_prompt) und Szenen-Über-die-Schulter-Mehransichten-Assets (scene_manifest.json: axis_of_action + establishing/OTS A→B/reverse/insert), und zieht passende Public Domain/CC0-Visual-Referenzbilder (visual_manifest.json) herunter. Wendet die IP-Firewall-Negativbegriffe an. Diese Station produziert die „Asset-Bibliothek“, die von S3 direkt referenziert wird.
  • S3 Storyboard-Prompts (basierend auf der Asset-Bibliothek): Jeder Beat wird in Einstellungen (shots) aufgeteilt. Jeder Shot referenziert character_ref (Figur+Ansicht) und scene_ref (Szene+Ansicht), sperrt die Beschreibung aus der Asset-Bibliothek + Kamerabewegungsbibliothek (camera-movements.json) + Plattformvorgaben zusammen, fügt negative_prompt ein und gibt storyboard.json aus.
  • S4 Audio: Weist jeder Einstellung CC0 BGM/Soundeffekte zu, gibt audio_manifest.json aus.
  • S5 Compositing (Schließt den Kreislauf zum fertigen Video): Kombiniert S3 storyboard.json (mit ref_images-Verankerungsbildern) und S4 audio_manifest.json zum fertigen Video – Bild-erzeugen/Bild-zu-Video pro Einstellung (mit ref_images zur Gesichtsstabilisierung) → Audio-Synchronisation → Schnitt/Montage (gemäß duration_s und aspect_ratio) → Plattform-Export → Konsistenz-Endkontrolle. Details in references/s5-composite.md und scripts/build_ffmpeg_concat.py.

Wann verwenden (Trigger)

  • Der Benutzer hat eine Geschichte/einen Roman/Webcomic/ein Drehbuch und möchte daraus „ein Manga-Drama / Kurzvideo / Storyboard / eine Animation machen“.
  • Der Benutzer möchte „ein Drehbuch adaptieren, Storyboard-Prompts schreiben, ein Video-Skript generieren, einen Zeichenstil definieren, Musik untermalen“.
  • Der Benutzer benötigt die Ausgabe einer einzelnen Station (z.B. nur Storyboard-Prompts oder nur Public-Domain-Referenzbilder).
  • Der Benutzer hat strenge Anforderungen an „saubere Rechte / kommerziell nutzbar / kein IP-Risiko“ für das Material.

Arbeitsablauf (Workflow)

Der gesamte Ablauf orientiert sich an der Architektur-Idee populärer Open-Source-Lösungen, aber der Code ist eigenentwickelt und die Assets sind eigenständig:

  • ViMax (MIT, ~392 Commits S1→S4 Orchestrierungspipeline) → Übernahme der „Geschichte→Storyboard→Video“-Phaseneinteilung und der Artefaktverträge.
  • seedance-prompt-skill / ai-shortfilm-prompts (MIT) → Übernahme der SKILL-Format-Prompt-Vorlagenorganisation, als Basis für S3.
  • ArcReel (AGPL) → Nur die Architektur lernen, keinen Code kopieren (AGPL ansteckend, daher nicht in diesen MIT-Style-Skill integrierbar). Details in references/architecture-licenses.md.

Schritt 0 · Anforderungsaufnahme

Vier Punkte klären: ① Quellgeschichte (Webroman / Comic / Originaldrehbuch / Post oder Pfad); ② Zielplattform (horizontales Manga-Drama standardmäßig Bilibili/YouTube, siehe assets/s3/platform-presets.json für bilibili; hochkant Douyin/Video-Konto dann douyin); ③ Zeichenstil (chinesischer Comic / Aquarell / realistisch / Ukiyo-e / Kinderbuchillustration…); ④ Subtyp und Zielgruppe (Standard horizontales 16:9 Manga-Drama, ausgerichtet auf Hit-Rhythmus aber original; bei Kinderinhalt zusätzlich IP-Firewall + mature-Inhalte ausschließen).

Station 1 · S1 Adaptiertes Drehbuch

  1. assets/s1/story-structure.md (Drei-Akt-/Beat-Strukturvorlage) + assets/s1/adaptation-method.md (Kompressionsmethodik: Wertegerüst erhalten, Redundanzen entfernen, Emotionkurve) laden.
  2. assets/s1/beat-sheet.md nach Bedarf ausfüllen (ausfüllbare Beat-Tabelle).
  3. An den beiden Adaptionsbeispielen assets/s1/example-romeo-juliet.md, example-journey-to-west.md orientieren.
  4. script.json ausgeben, Felder siehe references/workflow.md §S1 Vertrag.

Station 2 · S2 Asset-Bibliothek (zuerst aufbauen, dann Storyboard schreiben)

  1. Alle S1 Beats/Characters/Scenes durchlesen, Figuren-Assets erstellen: assets/s2/character-design.md laden, für jede Hauptfigur character_manifest.json ausgeben (visual_lock + fixed_prompt + drei Ansichten front/side/back + Verankerungsbildpaket ref_pack + Konsistenzregeln).
  2. Szenen-Assets erstellen: assets/s2/scene-multiview.md laden, für jede Hauptszene scene_manifest.json ausgeben (geography + axis_of_action + views{establishing, ots_a, ots_b, reverse, insert}).
  3. Passende Public Domain/CC0 Visual-Referenzbilder visual_manifest.json herunterziehen/generieren (mehrere Stile: chinesischer Comic / Aquarell / realistisch / Kinderbuchillustration / Met Public Domain Art…), IP-Firewall anwenden.
  4. IP-Firewall anwenden: assets/s2/negative-ip.json + assets/s2/negative-ip-firewall.md.
  5. Lizenz-Gate: Nur Public Domain / CC0 erlaubt. Figuren-/Szenen-Assets stets original, kein identisches Kopieren von Hits (gleicher Name, gleiches Setting) (siehe IP-Firewall §6).

Station 3 · S3 Storyboard-Prompts (Basierend auf der Asset-Bibliothek schreiben)

  1. assets/s3/template-library.json (Storyboard-Vorlagenbibliothek: Einstellungstyp / Bildausschnitt / Emotion) + assets/s3/camera-movements.json (Kamerabewegungsbibliothek: 40+ Bewegungen + Beat→Bewegungs-Mapping + Plattform-Syntax) + assets/s3/platform-presets.json (Prompt-Syntax, Seitenverhältnis, Zeitlimits pro Plattform) + assets/s3/tag-stats.json (Tag-Häufigkeitsstatistiken) + assets/s3/negative-quality.md (Qualitäts-Negativbegriffe) + assets/s2/negative-ip.json (IP-Firewall) laden.

  2. Jeder Beat → mindestens ein Shot; jeder Shot muss character_ref und scene_ref enthalten (Referenz auf S2 Asset-Bibliothek), die gesperrte Figurenbeschreibung aus dem Asset fixed_prompt holen; 1 primäre Kamerabewegung aus camera-movements.json (subject_aware_map empfiehlt pro Beat-Typ); muss negative_prompt enthalten (IP-Firewall + Qualitäts-Negativbegriffe zusammengeführt).

  3. storyboard.json ausgeben: shots[{shot_id, beat_ref, character_ref[], scene_ref, ref_images[] (optional·direkte Verankerungsbilder, siehe unten „Referenzbild-Verankerung“), camera_movement, shot_size, speed (optional·Geschwindigkeitsmodifikator slow_motion etc., siehe camera-movements.json speed_modifiers), prompt, prompt_readable, negative_prompt, platform, aspect_ratio, duration_s, attribution}]. Machtverhältnis-Einstellungen mit camera_movement: low_angle/high_angle + speed: "slow_motion" (Schreibweise siehe assets/s2/scene-multiview.md §3 (Ergänzung) Machtachse).

    Referenzbild-Verankerung (ref_images, Schlüssel zur Konsistenz zwischen Einstellungen): ref_images ist eine Liste von direkten Verankerungsbildern pro Einstellung, stabiler als reiner Text fixed_prompt (entspricht @Referenz von Jimeng / Runway Gen-4 Einzelbild-Gesichtsstabilisierung). Jeder Eintrag ist ein String, zwei Schreibweisen: ① Asset-Referenz-Token char:<char_id>:<ref_pack_key oder three_view_key> / scene:<scene_id>:<view> (wird vom Skript automatisch aus character_manifest.ref_pack extrahiert, der Generator löst ihn in den echten Bildpfad auf); ② Direkter Bildpfad/URL (z.B. /assets/char_shen_zhao_face.png). Empfehlung 2–3 Bilder pro Figur (Nahaufnahme frontal/Profil/Ganzkörper), Jimeng max. 9 Bilder, Runway einzelnes Bild reicht zur Stabilisierung. build_storyboard.py extrahiert standardmäßig automatisch das ref_pack der Figur in ref_images; kann in S5 direkt beim Compositing als Referenz für Gesichts-/Kleidungsstabilisierung an das Bild-zu-Video-Modell verfüttert werden.

  4. CC BY 4.0 Daten müssen attribution enthalten (dieses Repos Assets sind PD/CC0, standardmäßig keine Namensnennung nötig; bei Verwendung externer CC BY Daten muss attribution ausgefüllt sein).

  5. Gerüst-Beschleunigung (optional): Zuerst S1 script.json + S2 character_manifest.json / scene_manifest.json erstellen, dann python scripts/build_storyboard.py --project <DIR> --platform bilibili laufen lassen, um automatisch einen storyboard.json-Entwurf zu generieren (fügt automatisch character_ref/scene_ref pro Beat ein, wählt 1 primäre Kamerabewegung aus subject_aware_map, wählt Bildausschnitt pro Beat-Typ, setzt negative_prompt mit vollständiger IP-Token-Abdeckung zusammen), dann manuelle Optimierung von Kamerawinkeln / Emotion / Dialog / Rhythmus. Dieses Skript ist die automatisierte Umsetzung der „Asset-first“-Reihenfolge, seine Ausgabe kann direkt von validate_pipeline.py validiert werden.

Station 4 · S4 Audio

  1. assets/s4/audio-manifest.json (bereits heruntergeladene CC0-Audio-Liste, inkl. BGM / Soundeffekte / Emotionskategorien: ambient / cinematic / playful / tense / romantic / lullaby etc.) laden.
  2. Nach Einstellungs-Emotion matchen: spannungsvolle Bässe → Twist-Abschnitt, sanftes Klavier → emotionale Szene, Whoosh → Übergang, Lullaby → Schlafszene, Cartoon Bounce → lebhafte Szene.
  3. audio_manifest.json ausgeben: items[{file, license, source, duration_ms}], nur CC0.

Station 5 · S5 Compositing (Schließt den Kreislauf zum fertigen Video)

  1. references/s5-composite.md (S5 Compositing SOP: Fünf-Schritte-Kreislauf + Tool-Matrix + Konsistenz-Endkontrollliste) laden. 1.5 Verankerungsbilder auflösen: python scripts/resolve_ref_images.py --project <DIR> laufen lassen, um die ref_images-Tokens (char:: / scene::) jedes Shots in echte Bildpfade aufzulösen, gibt storyboard.resolved.json aus (nicht aufgelöste Tokens bleiben erhalten mit Warnung).
  2. Bild-erzeugen / Bild-zu-Video pro Einstellung: Mit storyboard.resolved.json ref_images (aufgelöste echte Bilder) als Gesichts-/Kleidungs-Stabilisierungsreferenz, zusammen mit fixed_prompt + camera_movement + camera-movements.json lens/stages an Jimeng @Referenz / Runway Gen-4 / Kling / Seedance verfüttern, um jeden Clip zu generieren.
  3. Audio-Synchronisation: BGM aus audio_manifest.json (CC0) nach Beat-Emotion auswählen, Soundeffekte nach duration_s zuschneiden.
  4. Schnitt/Montage: python scripts/build_ffmpeg_concat.py --project <DIR> --clips-dir <DIR>/clips laufen lassen, um Concat-Liste und Befehl zu generieren, nach aspect_ratio (horizontal 16:9) als 1080p exportieren.
  5. Konsistenz-Endkontrolle: §4-Checkliste (Figur/Szene/Achse/Machtachse/Dauer/IP-Firewall/Audio/Seitenverhältnis) abhaken, bevor veröffentlicht wird.

Schritt 6 · Zutrittskontrolle (Pflicht)

scripts/validate_pipeline.py --project <DIR> --platform bilibili [--strict] [--content-rating {normal,child}] ausführen, um die Verträge der vier Stationen + die fünf Qualitäts-Gates zu prüfen: Der negative_prompt jedes Shots in S3 muss alle gesperrten IP-Tokens aus assets/s2/negative-ip.json abdecken (harte Anforderung, echte Drittanbieter-Urheberrechtsfiguren zu schützen; Fehlen führt unter --strict zum Fehlschlag); die Dauer muss innerhalb der gültigen Menge der platform-presets.json liegen, das Seitenverhältnis muss passen (horizontales Manga-Drama standardmäßig 16:9); Audio-Dauer 0.3–180s (sehr kurze Soundeffekte erlaubt). Unter --strict werden auch Warnungen als Fehlschlag gewertet. Erst nach Bestehen darf die Video-Compositing-Phase beginnen.

Inhaltsbewertung (wichtig · Standard keine Einschränkung des Themas): Die Zutrittskontrolle standardmäßig --content-rating normal – keinerlei Inhaltsbewertungseinschränkungen, Kampf / Gewalt / Spannung / düstere etc. Erwachsenenthemen können normal produziert werden, nur die IP-Firewall und Asset-Verträge werden eingehalten. Erst für kindgerechte Pipeline wird --content-rating child (oder der alte Alias --child) hinzugefügt: Erzwingt in S1 einen „Value-Resolution“-Beat-Typ, in S3 die Abdeckung von Kindersicherheits-Negativ-Tokens (violence/gore/horror/blood/mature/nudity/weapon…), scannt die Beats auf erwachsene Inhalte (unter strict Fehlschlag). D.h.: --child ist ein rein optionaler „Kindersicherheits-Schalter“, wird er nicht übergeben, ist der Manga-Drama-Inhalt völlig frei und wird nicht kindgerecht gemacht.

Herunterlade-Skripte (Null IP-Risiko)

Beide Skripte verwenden nur die Standardbibliothek + systemeigenes curl, kein pip install nötig:

# S2 Visuelle Assets: OBI Public Domain mehrstilige Illustrationen (inkl. Kinderbuch/chin. Comic-Stil) + Openverse CC0 Bilder + Met Public Domain Art
python scripts/fetch_visual_assets.py --out <DIR> --sources obi,openverse,met

# S4 Audio: Openverse CC0 (schlüsselfrei); PIXABAY/FREESOUND-Key eintragen, um erweiterten Kanal zu aktivieren
python scripts/fetch_audio.py --out <DIR>
  • Qualitäts-Gates eingebaut: Lizenz (PD/CC0), Bildqualität (lange Seite≥1000 und kurze Seite≥600, Datei≥50KB), Deduplizierung (SHA256 überläuft), Quellen-Gate (nur institutionelle Quellen), Sensitivitäts-Gate (Openverse mature=true generell ausschließen, harte Anforderung für alle Quellen).
  • OBI-Übertragung verwendet curl-Engine (--retry 5 --retry-all-errors -k), um gelegentliche SSL-Abbrüche der Python urllib zu umgehen.

Fünf Qualitäts-Gates (Für alle Stationen gültig)

  1. Lizenz-Gate: S2/S4 akzeptieren nur Public Domain / CC0; Einführung von CC BY 4.0 muss attribution enthalten.
  2. Bildqualitäts-Gate: Bild längste Seite ≥1000 und kürzeste Seite ≥600; Audio-Dauer 0.3–180s, Datei≥100KB.
  3. Deduplizierungs-Gate: SHA256 persistent über Läufe, doppelte Bilder/Audios automatisch überspringen.
  4. Quellen-Gate: Nur institutionelle/Public-Domain-Quellen (OBI, Openverse, Met, Freesound CC0…); unbekannte Quellen ablehnen.
  5. Sensitivitäts-Gate: Gesamter Inhalt schließt mature aus (bei Kinderinhalt zusätzlich verstärkt); S2/S3 erzwingt Injektion von IP-Firewall-Negativbegriffen, blockiert bekannte Urheberrechtsfiguren; bei beliebten Manga-Drama-/Webroman-IPs dürfen deren Thema / Emotionsstruktur / Befriedigungsstruktur (Methodenebene) übernommen werden, aber keine vollständige Kopie einzelner Figuren, Szenen oder ikonischer Momente (vollständiges Plagiat).

IP-Firewall (Übernehmen, nicht kopieren)

  • Konstante Negativbegriffe siehe assets/s2/negative-ip.json, deckt Peppa Pig, Disney, Marvel, Sanrio, Numberblocks, My Little Pony etc. bereits registrierte echte Drittanbieter-Urheberrechtsfiguren ab – dies sind harte Grenzen, unabhängig davon, ob übernommen oder nicht, dürfen nicht reproduziert werden (Zutrittskontrolle erzwingt Token-Abdeckung).
  • Manga-Drama-spezifische Disziplin (Übernehmen, nicht kopieren): „Thementyp, Emotionsstruktur, Befriedigungsparadigma, Kamerasprache, Rhythmus“ beliebter Manga-Drama-/Webroman-IPs gehören zur Methodenebene, sind nicht urheberrechtlich geschützt und können als kreative Nahrung dienen, Übernahme ist erwünscht; aber vollständiges Plagiat ist verboten – d.h. keine einzelne Figur vollständig kopieren (gleicher Name, gleiches Setting), keine ikonischen Momente Szene für Szene reproduzieren, keine Markenzeichen-Stilkombinationen direkt nachahmen, keine Originaldialoge übernehmen. Selbst wenn der Benutzer eine bestimmte Hit-IP nennt, wird nur deren „wiederverwendbares Methodengerüst“ extrahiert, nicht der „Ausdruck“, in eine originale Beschreibung umgewandelt („Schicksalhafter schwarzgekleideter männlicher Protagonist + rotgekleidete weibliche Protagonistin im Konflikt“), dann an Bild/Video-Modelle verfüttert, und als doppelte Absicherung negative prompts hinzugefügt, um echte Drittanbieter-Urheberrechtsfiguren zu schützen.
  • Dieser Skill enthält keine urheberrechtlich geschützten Texte, erfasst nur strukturelle/Methoden-Ebene-Paradigmen; alle Beispiele sind Public Domain oder benutzereigenes Material.

Ressourcen

  • assets/s1/: Geschichtenstrukturvorlagen, Adaptionskompressionsmethodik, ausfüllbare Beat-Tabelle, Drehbuchformat-Standard, zwei Adaptionsbeispiele.
  • assets/s2/: Negativbegriffsliste negative-ip.json + IP-Firewall-Erklärung negative-ip-firewall.md + Charakter-Asset-Methodik character-design.md + Szenen-Asset-Methodik scene-multiview.md.
  • assets/s3/: Storyboard-Vorlagenbibliothek template-library.json, Kamerabewegungsbibliothek camera-movements.json, Plattform-Vorgaben platform-presets.json, Tag-Statistiken tag-stats.json, Qualitäts-Negativbegriffe negative-quality.md.
  • assets/s4/: Bereits heruntergeladene CC0-Audio-Liste audio-manifest.json.
  • scripts/: fetch_visual_assets.py (S2 Bilder herunterladen), fetch_audio.py (S4 Audio herunterladen), build_storyboard.py (S1+S2 → S3 Storyboard-Gerüst automatisch generieren, unterstützt ref_images-Verankerungsautoextraktion / power_dynamic automatische Winkelauswahl / --target-duration-Einstellungsbudget / --no-growth Selbstverbesserungsvorschläge abschalten), resolve_ref_images.py (S5 löst ref_images-Tokens in echte Bildpfade auf, gibt storyboard.resolved.json aus), build_ffmpeg_concat.py (S5 generiert aus storyboard.json FFmpeg-Concat-Liste + Befehl), validate_pipeline.py (Stationen-Zutrittskontrolle, standardmäßig --content-rating normal null Inhaltseinschränkung; --content-rating child / --child aktiviert harte Kindersicherheits-Zutrittskontrolle), collect.py (Selbstverbesserungs-Sammelendpunkt: sammelt Ausgabe einer Ausführung + menschliche Bewertung + Fehlerprotokolle zurück zum Gedächtnisserver), load_learnings.py (Selbstverbesserungs-Einspeisungsendpunkt: zieht learnings.json vom Gedächtnisserver und cached lokal, damit build_storyboard.py häufig auftretende Fehlermuster-Vorschläge lesen kann).
  • memory_server/: server.py (Null-Abhängigkeits-Gedächtnisdienst, 4 Tabellen SQLite + Bearer-Authentifizierung + Ratenbegrenzung), growth.py (Aggregation → snapshot/learnings.json + Einspeisung von Priors), .env.example, README.md (Caddy HTTPS / systemd / cron Deployment).
  • references/: architecture-licenses.md (Open-Source-Lösungsübernahme und Lizenzgrenzen), workflow.md (Detaillierte Verträge und Verwendung der vier Stationen), case-studies.md (Übernahme von Kamerabewegungs-/Storyboard-Syntax von Hit-Manga-Dramen/Kurzfilmen, Methoden-Literatur, keine Kopie von IPs), benchmark.md (Vergleichstest: NVP vs ViMax/seedance/ai-shortfilm/ArcReel etc. Bewertungsmatrix + empirische Selbsttests), s5-composite.md (S5 Compositing SOP: Fünf-Schritte-Kreislauf + Tool-Matrix + Konsistenz-Endkontrollliste).

Hinweise

  • Große Bild-/Audio-Bibliotheken nicht in den Skill einbetten (portabel halten); zur Laufzeit mit Skripten herunterladen oder auf eigenes CC0-Materialverzeichnis verweisen (z.B. ./assets/characters, S4-Audio-Bibliothek/samples/ etc. lokale saubere Charge).
  • Dieser Skill ist eine Orchestrierungsmethodik + eigenständige Assets, benötigt keine externen Code-Abhängigkeiten wie ViMax/ArcReel.
  • Nach Erhalt von BHL-Key / NYPL-Token kann in fetch_visual_assets.py selbst ein fetch_bhl() / fetch_nypl()-Kanal hinzugefügt werden (OBI hat bereits bestätigt, dass kein Key nötig ist).

Selbstverbesserung (Optional · Datenkreislauf schließen)

Lässt den Skill mit der Nutzung selbst verbessern: Nach jeder Pipeline-Ausführung werden objektive Metriken / menschliche Bewertungen / Fehlerprotokolle in die Gedächtnisdatenbank zurückgespeist, nach Aggregation werden „häufig auftretende Fehlermuster-Vorschläge / Bewertungen / Stilsignale“ in den Skill zurückgespeist, um bei der nächsten Generierung vorzeitig zu vermeiden. Reine Standardbibliothek, null Abhängigkeiten, kann unabhängig auf einem kleinen Server deployt werden, vom Skill-Kern entkoppelt. Vollständiges Deployment siehe memory_server/README.md.

Einzelrechner? Kein Deployment nötig. Wenn NVP_MEMORY_URL nicht gesetzt ist, verbinden sich collect.py / load_learnings.py automatisch direkt mit der lokalen SQLite im Skill (memory_server/data/nvp_memory.db) und aggregieren nach der Sammlung automatisch – null Konfiguration für einen vollständigen Kreislauf. Nur für „Multi-Maschinen-Zusammenführung / Teamarbeit / Remote-Einspeisung“ ist ein Start von server.py nötig (siehe unten „Server starten“ und README §2).

Drei Schritte des Kreislaufs:

  1. Sammlung (nach Pipeline-Lauf): python scripts/collect.py --project <DIR> --platform bilibili liest automatisch aus script.json / storyboard.json / storyboard.resolved.json Beats / Shots / Auflösungsrate / Dauer etc. Metriken, speichert in der Gedächtnisdatenbank (standardmäßig lokale SQLite; falls NVP_MEMORY_URL gesetzt, POST an den Dienst). Kann menschliche Bewertung --feedback 5 overall "Rhythmus war gut" oder Fehlerprotokoll --failures fails.json anhängen. Offline-Maschine mit --mirror ./mirror.json --dry-run Spiegel erzeugen, später collect.py --sync ./mirror.json mit Server synchronisieren. --local erzwingt lokal, --remote erzwingt Dienst.
  2. Aggregation (lokal automatisch / Server zeitgesteuert): Im lokalen Modus nach Sammlung automatisch aggregiert; im HTTP-Modus cron stündlich python memory_server/growth.py laufen lassen, um die vier SQLite-Tabellen zu snapshot/learnings.json zu aggregieren und stabiles Wissen in die priors-Tabelle zu upserten.
  3. Einspeisung (vor nächster Generierung): python scripts/load_learnings.py lädt learnings.json und cached in .cache/learnings.json (standardmäßig lokales Snapshot lesen; bei gesetzter URL Remote-Abruf; --local erzwingt lokal, --no-fetch liest nur Cache); build_storyboard.py liest automatisch und gibt während der Generierung „Selbstverbesserungsvorschläge“ aus (häufige Fehlermuster → vorzeitig vermeiden, z.B. unaufgelöste Referenzbilder, fehlende Machtachsen-Einstellungen), kann auch mit --no-growth deaktiviert werden.

Server starten: python memory_server/server.py --no-auth (lokaler Test) oder python memory_server/server.py (öffentliches Netz, benötigt NVP_API_TOKEN Umgebungsvariable / --token; Caddy Reverse Proxy für TLS). Endpunkte: GET /health, POST /ingest, GET /query, GET /snapshot, GET /export.

Verwandte Skills