Was macht TasteForge Video?
Für die vollständige eigenständige kreative Pipeline verwenden Sie taste-distillation und dann taste-application. Diese ECC-Skills liefern ihre Python-Skripte direkt: Referenzen messen, vorhandene Takes generieren oder durchschleusen, bewerten, schneiden, compositen, verifizieren und an Blender und Resolve übergeben. Für diesen Workflow ist kein separates Video-Repository erforderlich. Dieser Skill dokumentiert ECCs verpackte Offline-Engine und ihren strengen Evidenzvertrag.
TasteForge verwandelt „Mach es wie diese Referenz“ in einen wiederholbaren, überprüfbaren Workflow: Interview zu Taste, Destillieren in ein strukturiertes Style-Pack, Validieren des Packs, Anwenden seiner gemessenen Kadenz und seines Looks auf lokale Medien und Exportieren einer bearbeitbaren Timeline. Die kanonische Implementierung ist das Paket tasteforge, das in ECC unter skills/taste-application/scripts/tasteforge/ ausgeliefert wird. Ito-Markets/ito-video ist ein Beispielprojekt, das die verpackte ECC-Engine nutzt.
Wann zu verwenden
- Der Benutzer bittet um ein Interview zum Videogeschmack, bevor Filmmaterial erstellt wurde („Fragen Sie mich nach dem Look“, „Interviewen Sie mich zur ästhetischen Ausrichtung“).
- Der Benutzer möchte eine Ästhetik in strukturierte Einschränkungen destillieren – ein wiederverwendbares Style-Pack anstelle von vagen Stimmungen („Verwandeln Sie diese Referenzen in ein Pack“).
- Der Benutzer möchte ein Style-Pack validieren (Ist die Metadaten vollständig, schema-konform, die Kadenz gemessen, die Spezifikation destilliert?).
- Der Benutzer möchte ein Style-Pack auf lokales Filmmaterial anwenden – einen Schnitt aus der gemessenen Kadenz des Packs über lokale Clips planen, deterministisch.
- Der Benutzer möchte EDL/FCPXML exportieren – eine bearbeitbare, bildgenaue Übergabe an DaVinci Resolve / Premiere / Final Cut.
- Der Benutzer fragt nach einer Provenienzprüfung für generierte Medien – Woher stammen dieses Pack, diese Spezifikation oder dieser Schnitt; was wurde lokal gemessen versus von einem Provider generiert; was war ein Trockenlauf (Dry-Run).
- Der Benutzer möchte dateigesteuerte multimodale Bild-, Video- oder 3D-Asset-Ausgaben aus lokalen Referenzdateien entdecken oder planen, einschließlich separater Manifeste, subjektverankerter CV-Effekte oder Resolve-Effekt-Rezepte.
- Der Benutzer erwähnt TasteForge, Style-Packs, flashethereal, Geschmacksdestillation, Kadenz/Rhythmus-Planung, multimodale Entdeckung, Destillieren/Anwenden-Workflows oder ein Geschmacksinterview für Videos.
Lokale Deterministische Operationen vs. Provider-Generierung
Diese Grenze ist der Kern dieses Kompatibilitäts-Skills. Seine Operationen sind lokal, deterministisch und offline:
| Operation | Deterministisch? | ECC darf ausführen |
|---|---|---|
| Geschmacksinterview → Profil | ja (offline) | ja |
| Pack inspizieren / gegen Schemata validieren | ja | ja |
| Profil (+ gemessene Grundlage) → Spezifikation destillieren | ja (Dry-Run-Semantik) | ja |
| Pack-Kadenz auf lokale Medien anwenden → Bericht + Timeline | ja | ja |
| EDL (CMX3600) / FCPXML 1.9 exportieren | ja | ja |
| Provenienz / Abstammungsbericht | ja | ja |
| Vision-Modell-Destillation von Standbildern | Provider-Generierung | nein |
| Referenz-zu-Video, Bild-zu-3D, gehostetes Composing | Provider-Generierung | nein |
Provider-Generierung muss in ECC geschlossen fehlschlagen. Jeder Live-Fal (oder anderer Provider)-Aufruf – Generieren von Shots, Erstellen von Prop-Meshes, gehostete VLM-Destillation – erfordert eine explizite, separat autorisierte Ausführung unter einer separaten Spur mit eigener Überprüfung. In dieser Kompatibilitätsspur ruft ECC niemals Fal auf, liest niemals API-Schlüssel oder andere Anmeldeinformationen (einschließlich FAL_KEY), lädt keine Medien hoch und mutiert keinen Provider-Kontostatus. Wenn eine Anfrage eine Provider-Generierung erfordert, geben Sie genau diese Grenze an, führen Sie die lokale Hälfte aus (Interview, Pack-Validierung, Planung, Export) und brechen Sie ab.
Behaupten Sie niemals, dass ein Fal-Workflow gespeichert wurde. Ein lokaler Verweis auf einen Fal-Endpunkt, eine Modell-ID oder eine Dry-Run-URL (sie erscheinen in Pack-Metadaten) ist nur ein Verweis: Er bedeutet niemals, dass ein provider-seitiger Workflow gespeichert, persistiert oder zum Ausführen autorisiert wurde. Alles, was offline produziert wird, hat Dry-Run/Dry_run-Semantik – sagen Sie „Dry-Run-Spezifikation“ oder „deterministischer Plan“, niemals „vom Modell generiert“.
Kanonische Implementierung
- Repository:
affaan-m/ECC; Python-Distributionecc-tasteforge, Paketverzeichnisskills/taste-application/scripts/tasteforge/. Installation aus dem extrahierten ECC-Paket mitpython3 -m pip install ./skills/taste-application/scripts. Das BeispielprojektIto-Markets/ito-videopinnt einen bestimmten ECC-Commit. - CLI:
python3 -m tasteforge <command>–provenance,inspect,validate,interview,distill,apply,export,multimodal.--live-Flags beenden mit Code 2 und verweigern die Ausführung. - Schemata sind der Vertrag: Geschmacksprofil, Pack-Manifest, Bewertung, Kadenz, Spezifikation, Timeline-Ereignisse, Anwendungsberichte (
providerist per Enum auf"none"gesperrt;dry_runauftrue). - Wiederhergestellte Quellenabstammung und bewusste Ausschlüsse befinden sich in
skills/taste-application/SOURCE.mddes Repositorys. Führen Siepython3 -m tasteforge provenancefür die maschinenlesbare Version aus.
Verwenden Sie die installierte ECC-Engine für lokale deterministische Befehle und interpretieren Sie deren JSON. Installieren Sie die verpackte Engine, falls nicht vorhanden; rekonstruieren Sie deren Logik nicht inline. taste.resolve ist ein Kompatibilitätsimport von tasteforge.resolve, sodass die kreativen Skripte und das Beispielprojekt einen gemeinsamen verifizierten Resolve-Adapter verwenden.
Die CLI python3 -m tasteforge verwendet die installierte Distribution ecc-tasteforge. Die eigenständigen Skripte taste-distillation und taste-application werden im optionalen Medien-Generierungsmodul von ECC mit eigenen Python-Anforderungen ausgeliefert. Keiner der Pfade erfordert die Veröffentlichung des Repositorys oder der Medien des Benutzers.
Bevor Sie einen gespeicherten Checkout fortsetzen, notieren Sie dessen Commit und überprüfen Sie lokale Branches und Worktrees auf spätere Implementierungsfixes. Führen Sie die Tests des kanonischen Pakets und python3 -m tasteforge apply --help aus; Die Text- und Fixture-Tests von ECC beweisen nicht, dass der ausgewählte Python-Checkout diesen Vertrag implementiert.
Verkettung der kreativen Skills
| Phase | Verantwortlich | Überprüfbares Ergebnis |
|---|---|---|
| Kreative Richtung | taste | Benannte Genres, Referenzbeobachtungen, gewählte Look- und Vermeidungsliste |
| Destillation und Planung | tasteforge-video | Gemessene Evidenz, separate Genre-Spezifikationen, Dry-Run-Manifeste und Kadenzplan |
| Bearbeitung und Effekte | video-editing, mit dem gewählten Renderer wie Remotion, Manim oder Fusion | Angewandtes Filmmaterial, tatsächliche Spuren, bearbeitbare Effekte und Timeline |
| Optionale generierte Assets oder Stimme | fal-ai-media oder der ausgewählte Audio-Workflow, unter eigener Autorisierung | Provider-Quittung und inspizierte Ausgabe |
| Lieferung | Bearbeitungs-Workflow, dann content-engine auf Anfrage | Überprüfter exakter Export und Verteilungskopie |
Verwenden Sie nur die Phasen, die das Projekt benötigt. Die historischen angelcore/cloud-trance-Palette und Beat-Grammatik des Skills taste sind optionale kreative Beispiele; sie dürfen das aktuelle Briefing nicht überschreiben oder separate nummerierte Genres zusammenführen. Verwenden Sie für jede Richtung die tatsächlichen Referenzen des Genres, einschließlich 3D Cyber Glitch und Fluid Sketch. TasteForge ersetzt diese Skills nicht und erfordert nicht jeden Renderer. Halten Sie 3D-Materialien, Geometrie, Wireframe-Verhalten, Bewegung und Komposition explizit in der Genre-Signatur fest. Ein 3D-Anforderungsmanifest ist ein Plan für ein Asset; es ist kein Mesh. Ein Subjekt-Anker-Deskriptor benennt eine Tracking-Anforderung; es ist kein Beweis dafür, dass ein Subjekt erkannt oder getrackt wurde. Inspizieren Sie tatsächliche Spuren, Track-Verlust-Verhalten und gerenderte Subjekt-Frames, bevor Sie behaupten, dass CV-Effekte zuverlässig angewendet wurden.
Workflow
- Interview (
interview): Sammeln Sie Antworten für die Look-Achsen – Palette, Körnung, Beleuchtung, Brennweite, Kamerabewegung, Subjekt-Framing, Bewertung, Stimmungs-Adjektive, Vermeidungsliste – und separat die Inhaltsanweisung (Content Brief). Halten Sie Look und Inhalt getrennt; deren Zusammenführung ist der klassische Fehler. - Destillieren (
distill): Bilden Sie das Profil auf das Spezifikationsschema lokal ab, wobei die gemessene Grundlage des Packs (Schwarz-/Weißpunkt, Kontrast, Chroma pro Zone, Palette, Schnittrhythmus) eingebettet wird, wenn ein Pack geliefert wird. Das Ergebnis ist eine Dry-Run-Spezifikation: deterministisch, Provider"none". - Validieren (
validate/inspect): Überprüfen Sie das Pack gegen seine Schemata; melden Sie Fehler vs. Warnungen (fehlende Standbilder in einem reinen Metadaten-Pack sind eine Warnung, kein Fehler). - Anwenden (
apply): Planen Sie Shot-Dauern aus der gemessenen Kadenz des Packs (geseedet, deterministisch) über die lokalen Clips des Benutzers; erzeugen Sie den Anwendungsbericht und bildgenaue Timeline-Ereignisse. - Exportieren (
export): Schreiben Sie CMX3600 EDL + FCPXML 1.9 mit rationalen, NTSC-sicheren Zeiten für den Import in eine echte NLE. - Prüfen (
provenance): Berichten Sie über die Abstammung – wiederhergestellte Quellen-Digests, Generierungsgeschichte, Fixture-Provenienz, Provider-Verweise als reine Zeigerdatensätze.
Anwenden von echtem Filmmaterial ohne wiederholte Quellen
Wenn die Anweisung keine wiederholten Clips erfordert, verwenden Sie einen kanonischen Checkout, der apply --no-repeat --fps unterstützt, und legen Sie die Ausgabebildrate explizit fest. Wenn diese Flags fehlen, melden Sie die Implementierungslücke, anstatt stillschweigend die Legacy-Round-Robin-Auswahl zu verwenden. Der strikte Modus verwendet jeden normalisierten Quellpfad in der Manifest-Reihenfolge höchstens einmal und lehnt unzureichende oder zu kurze Quellen ab. Bereiten Sie genügend überprüfte Selects vor, um den Kadenzplan zu füllen. Dies ist Eindeutigkeit auf Quellenebene, nicht Unterstützung für unterschiedliche In/Out-Bereiche derselben Aufnahme.
Der Anwendungsbericht ist ein Schnittplan. Er führt kein visuelles Shot-Ranking durch, bewertet kein Filmmaterial, wendet keinen LUT an, rendert keine Overlays und importiert kein Resolve-Projekt. Halten Sie die gemessene Referenzkadenz des Packs von der Ausgabebildrate getrennt.
Die Export-CLI erwartet {"clips": [...]}. Wickeln Sie die timeline_events der Anwendung unter clips ein, bevor Sie exportieren, und übergeben Sie dieselbe --fps, die für die Anwendung verwendet wurde; die Standardbildrate des Exports darf den Plan nicht neu konformieren. Überprüfen Sie die Anzahl der ausgegebenen Ereignisse, die Gesamtframes, die eindeutigen Quellen und die Medienverknüpfung, bevor Sie die Timeline an den Bearbeitungs-Workflow übergeben.
Wenn dieser Workflow sich überlappende Effekte in einer NLE anwendet, weisen Sie kompatible Spuren zu und lesen Sie jeden angeforderten Start, jedes Ende und jede Dauer zurück. Ein zurückgegebenes Element oder ein erfolgreicher Append-Aufruf allein beweist nicht, dass jeder geplante Effekt platziert wurde; lehnen Sie fehlende, verschobene oder abgeschnittene Platzierungen ab, bevor Sie rendern.
Dateigesteuerter Multimodaler Vertrag
Verwenden Sie diesen Pfad, wenn lokale Referenzen trockene Generierungspläne für Bild-, Video- und 3D-Asset-Ausgaben antreiben müssen, während die Genre-Trennung erhalten bleibt:
python3 -m tasteforge multimodal --config workflow.json --out-dir out/multimodal
Die Konfiguration benennt nummerierte Genres und lokale Evidenzdateien. Halten Sie diese Kandidatengenres getrennt, anstatt sie zu einer generischen Ästhetik zu verschmelzen:
- Flash Ethereal
- 3D Cyber Glitch
- Fluid Sketch
Der Befehl misst lokale Referenzen mit ffprobe/ffmpeg und gibt eine Stil-Spezifikation pro Genre, separate Bild-, Video- und 3D-Asset-Manifeste, Provenienz und ein Resolve-Effekt-Rezept aus. Der Effekt-Zeitplan muss aperiodisch geseedet sein. CV-Effekte erfordern einen echten Subjektanker, dessen genaue Politik bei Track-Verlust disable_effect_until_track_recovers ist; continue_without_anchor und jede andere Politik schlägt fehl. Jeder Effekt trägt Platzierungsbeschränkungen, die Gesichter und lesbaren Text bewahren und verhindern, dass dekorative Eck-Meshes Full-Frame-3D-Arbeiten ersetzen.
Die zurückgegebene Quittung ist die Bündelgrenze. Sie bindet jedes ausgegebene Evidenz-Artefakt durch relativen Pfad, Byte-Größe, SHA-256, Genre, Modalität, provider_execution:false und genaue Referenz-/Zeit-Provenienz. Die Quittung erfordert provider_calls:0 als exakte ganze Zahl (der JSON-Boolean false ist ungültig), provider_execution:false und dry_run:true. Jede Genre-Spezifikation erfordert ebenfalls explizites dry_run:true. Das Resolve-Effekt-Rezept erfordert dieselbe exakte ganze Zahl provider_calls:0, provider_execution:false und dry_run:true. Jedes Modalitäts-Manifest und jede verschachtelte Anfrage muss alle vier exakten Fail-Closed-Felder enthalten: ganze Zahl provider_calls:0, provider_execution:false, dry_run:true und submit:false; jede Anfrage erfordert auch provider_call_mode:"disabled". Ein fehlendes Feld ist eine Ablehnung, kein Standard, und dry_run:false muss abgelehnt werden, bevor die Ausgabe geschrieben wird.
Behandeln Sie Booleans als ungültige Zahlen überall in Timeline-, Evidenz-, Probe- und Quell-Dauer-Daten. Jeder solche numerische Wert muss eine endliche reelle Zahl sein: Lehnen Sie true, false, NaN, Unendlichkeiten, negative Ereignis-Starts, nicht-positive Dauern, Evidenzzeiten außerhalb des Bereichs und Ereignisse ab, die über die deklarierte endliche positive Timeline hinausgehen. Ganzdatei-Evidenz verwendet eine explizite Ganzdatei-Zeitbasis und erfindet niemals Zeitstempel.
Quittungsreferenzen sind die Dauerautorität. Schlüsseln Sie jede validierte Referenzdauer durch ihren zitierten SHA-256; doppelte Vorkommen eines Digests müssen in der Dauer übereinstimmen, sonst ist das Bündel ungültig. Jede Effektevidenz source_duration und jeder Subjektanker source_duration muss der validierten Quittungsdauer dieses Digests entsprechen, nicht nur seine zitierte Zeit enthalten. Die Probedauer und alle Probemessungen müssen dieselben stabilen Bytes beschreiben, die für Byte-Zahl und SHA-256 verwendet werden. Wenn sich die Quelle während des Probens verändert oder während sie noch verfügbar ist, anders hasht, schlagen Sie fehl, anstatt eine Quittung auszugeben oder zu akzeptieren.
Führen Sie nach der Erstellung immer eine Bündelvalidierung durch. Ein fehlendes Bild-, Video- oder 3D-Asset-Manifest muss fehlschlagen. Generalisierte oder doppelte Genres, periodische Zeitpläne, unverankerte CV-Effekte, fehlende Platzierungsbeschränkungen, Provider-Ausführungsflags, ungebundene Ausgabedateien, Byte-Größenabweichungen oder SHA-256-Manipulation müssen fehlschlagen. Lehnen Sie Ausgabewurzeln, Zwischendateien oder Artefakte ab, die Symlinks sind, und lehnen Sie spezielle Dateien ab (einschließlich FIFOs und Geräte); Ausgaben müssen reguläre Dateien unter einem echten Verzeichnisbaum bleiben. Wenn lokales ffmpeg oder ffprobe nicht verfügbar ist, muss die CLI ihren begrenzten, von Null verschiedenen Fehler bei der lokalen Medienverarbeitung ohne Python-Traceback zurückgeben. Reparieren Sie keine fehlgeschlagene Quittung, indem Sie Evidenz löschen oder die Validierung abschwächen.
Beispielsitzung
# Nach Installation der ECC-Engine; Pfade unten sind Ihre Projekteingaben
python3 -m tasteforge validate stylepacks/flashethereal
python3 -m tasteforge interview --answers answers.json --genre flashethereal
# ...
[gekürzt für die Übersetzung]