TasteForge Video
完全なスタンドアロン型クリエイティブパイプラインを使用する場合は、taste-distillation の後に taste-application を使用してください。これらのECCスキルは、自身のPythonスクリプトを直接提供します。リファレンスの測定、既存テイクの生成または通過、グレーディング、カット、コンポジット、検証、そしてBlenderおよびResolveへの引き渡しを行います。このフローに別のビデオリポジトリは必要ありません。このスキルは、ECCのパッケージ化されたオフラインエンジンと、その厳格なエビデンス契約について文書化します。
TasteForgeは、「このリファレンスのように感じさせる」ことを、繰り返し可能で検査可能なワークフローに変換します。テイストのインタビュー、構造化されたスタイルパックへの蒸留、パックの検証、その測定されたキャデンスとルックをローカルメディアに適用し、編集可能なタイムラインをエクスポートします。正規の実装は、ECC内の skills/taste-application/scripts/tasteforge/ に同梱されている tasteforge パッケージです。Ito-Markets/ito-video はパッケージ化されたECCエンジンを利用するサンプルプロジェクトです。
使用するタイミング
- ユーザーが映像ができる前にビデオのテイストについてインタビューを依頼した場合(「ルックについて聞かせて」「美的方向性についてインタビューして」)。
- ユーザーが美的感覚を構造化された制約に蒸留したい場合 — 雰囲気ではなく再利用可能なスタイルパック(「これらのリファレンスをパックにして」)。
- ユーザーがスタイルパックを検証したい場合(メタデータが完全か、スキーマが有効か、キャデンスが測定されているか、スペックが蒸留されているか)。
- ユーザーがスタイルパックをローカル映像に適用したい場合 — ローカルクリップに対してパックの測定されたキャデンスから決定論的にカットを計画する。
- ユーザーがEDL/FCPXMLをエクスポートしたい場合 — DaVinci Resolve / Premiere / Final Cut への編集可能でフレーム正確な引き渡し。
- ユーザーが生成メディアのプロvenance監査を依頼した場合 — このパック、スペック、カットはどこから来たのか、何がローカルで測定され、何がプロバイダによって生成されたのか、何がドライランだったのか。
- ユーザーがローカルリファレンスファイルからファイル駆動型のマルチモーダル画像、映像、3Dアセットの出力を発見または計画するよう依頼した場合。個別のマニフェスト、サブジェクトアンカー付きCVエフェクト、またはResolveエフェクトレシピを含む。
- ユーザーがTasteForge、スタイルパック、flashethereal、テイスト蒸留、キャデンス/リズム計画、マルチモーダル発見、蒸留/適用ワークフロー、またはビデオのテイストインタビューに言及した場合。
ローカル決定論的操作とプロバイダ生成
この境界が、この互換性スキルの核心です。その操作はローカル、決定論的、かつオフラインです。
| 操作 | 決定論的? | ECCが実行可能か |
|---|---|---|
| テイストインタビュー → プロファイル | はい(オフライン) | はい |
| パックの検査 / スキーマに対する検証 | はい | はい |
| プロファイル(+ 測定されたグラウンディング)→ スペックへの蒸留 | はい(ドライランセマンティクス) | はい |
| パックキャデンスをローカルメディアに適用 → レポート + タイムライン | はい | はい |
| EDL(CMX3600)/ FCPXML 1.9のエクスポート | はい | はい |
| プロvenance / 系統レポート | はい | はい |
| 静止画のビジョンモデル蒸留 | プロバイダ生成 | いいえ |
| リファレンスから動画へ、画像から3Dへ、ホスト型コンポーズ | プロバイダ生成 | いいえ |
プロバイダ生成はECCでフェイルクローズしなければなりません。 ライブなFal(または他のプロバイダ)呼び出し — ショットの生成、プロップメッシュの作成、ホスト型VLM蒸留 — には、個別の承認とレビューを持つ別のレーンでの明示的な個別承認された実行が必要です。この互換性レーンでは、ECCはFalを決して呼び出さず、APIキーや他の認証情報(FAL_KEYを含む)を読み取らず、メディアをアップロードせず、プロバイダアカウントの状態を変更しません。リクエストがプロバイダ生成を必要とする場合、正確にその境界を述べ、ローカル部分(インタビュー、パック検証、計画、エクスポート)を実行し、そこで停止します。
Falワークフローが保存されたと決して主張しないでください。 Falエンドポイント、モデルID、またはドライランURLへのローカルリファレンス(パックメタデータ内に現れます)は参照専用です。プロバイダ側のワークフローが保存、永続化、または実行が承認されたことを決して意味しません。オフラインで生成されたものにはすべてドライラン(dry-run/dry_run)セマンティクスが伴います。「ドライランスペック」または「決定論的計画」と言い、「モデルによって生成された」とは決して言わないでください。
正規の実装
- リポジトリ:
affaan-m/ECC;Pythonディストリビューション:ecc-tasteforge、パッケージディレクトリ:skills/taste-application/scripts/tasteforge/。抽出されたECCパッケージからpython3 -m pip install ./skills/taste-application/scriptsでインストールします。サンプルプロジェクトIto-Markets/ito-videoは特定のECCコミットを固定しています。 - CLI:
python3 -m tasteforge <command>—provenance,inspect,validate,interview,distill,apply,export,multimodal。--liveフラグはコード2で終了し拒否します。 - スキーマが契約です。テイストプロファイル、パックマニフェスト、グレード、キャデンス、スペック、タイムラインイベント、アプリケーションレポート(
providerは"none"に列挙ロック、dry_runはtrue)。 - リカバリされたソースの系統と意図的な除外は、リポジトリの
skills/taste-application/SOURCE.mdにあります。機械可読バージョンはpython3 -m tasteforge provenanceで実行します。
インストールされたECCエンジンをローカル決定論的コマンドに使用し、そのJSONを解釈します。パッケージ化されたエンジンが存在しない場合はインストールし、そのロジックをインラインで再構築しないでください。taste.resolve は tasteforge.resolve の互換性インポートであり、クリエイティブスクリプトとサンプルプロジェクトが1つの検証済みResolveアダプタを共有します。
python3 -m tasteforge CLIは、インストールされた ecc-tasteforge ディストリビューションを使用します。スタンドアロンの taste-distillation と taste-application スクリプトは、ECCのオプトインメディア生成モジュールに、独自のPython要件とともに同梱されています。どちらのパスも、ユーザーのリポジトリやメディアを公開する必要はありません。
保存されたチェックアウトを再開する前に、そのコミットを記録し、後の実装修正のためにローカルブランチとワークツリーを検査します。正規のパッケージのテストと python3 -m tasteforge apply --help を実行します。ECCのテキストとフィクスチャテストは、選択されたPythonチェックアウトがこの契約を実装していることを証明するものではありません。
クリエイティブスキルの連鎖
| 段階 | 所有者 | レビュー可能な結果 |
|---|---|---|
| クリエイティブディレクション | taste | 名前付きジャンル、リファレンス観察、選択されたルックと回避リスト |
| 蒸留と計画 | tasteforge-video | 測定されたエビデンス、個別のジャンスペック、ドライランマニフェストとキャデンス計画 |
| 編集とエフェクト | video-editing(選択されたレンダラー(Remotion、Manim、Fusionなど)を使用) | 適用された映像、実際のトラック、編集可能なエフェクトとタイムライン |
| オプションの生成アセットまたは音声 | fal-ai-media または選択されたオーディオワークフロー(独自の承認の下で) | プロバイダの受領書と検査された出力 |
| 配信 | 編集ワークフロー、その後リクエストに応じて content-engine | レビューされた正確なエクスポートと配信コピー |
プロジェクトが必要とする段階のみを使用してください。taste スキルの過去のangelcore/cloud-tranceパレットとビート文法はオプションのクリエイティブな例です。これらは現在のブリーフを上書きしたり、異なる番号付きジャンルをマージしたりしてはなりません。各ジャンルの実際のリファレンスをその方向性に使用し、3D Cyber Glitch や Fluid Sketch を含めます。TasteForgeはこれらのスキルを置き換えたり、すべてのレンダラーを必要としたりするものではありません。3Dマテリアル、ジオメトリ、ワイヤーフレーム動作、モーション、コンポジションをジャンルシグネチャで明示的に保持します。3Dリクエストマニフェストはアセットの計画であり、メッシュではありません。サブジェクトアンカー記述子はトラッキング要件に名前を付けるものであり、サブジェクトが検出または追跡されたというエビデンスではありません。実際のトラック、トラックロス動作、レンダリングされたサブジェクトフレームを検査してから、CVエフェクトが確実に適用されたと主張してください。
ワークフロー
- インタビュー (
interview):ルックの軸(パレット、グレイン、照明、焦点距離、カメラモーション、サブジェクトフレーミング、グレード、ムード形容詞、回避リスト)に対する回答を収集し、別途コンテンツブリーフを収集します。ルックとコンテンツは分離しておきます。それらをマージするのは古典的な失敗です。 - 蒸留 (
distill):プロファイルをオフラインでスペックスキーマにマッピングし、パックが提供された場合はパックの測定されたグラウンディング(黒/白点、コントラスト、ゾーン別クロマ、パレット、カットリズム)を埋め込みます。結果はドライランスペックになります。決定論的で、プロバイダは"none"です。 - 検証 (
validate/inspect):スキーマに対してパックをチェックします。エラーと警告を報告します(メタデータのみのパックの欠落している静止画はエラーではなく警告です)。 - 適用 (
apply):パックの測定されたキャデンス(シード付き、決定論的)から、ユーザーのローカルクリップに対してショット時間を計画します。アプリケーションレポートとフレーム正確なタイムラインイベントを生成します。 - エクスポート (
export):有理数、NTSCセーフな時間でCMX3600 EDL + FCPXML 1.9を書き出し、実際のNLEにインポートできるようにします。 - 監査 (
provenance):系統を報告します — リカバリされたソースのダイジェスト、生成履歴、フィクスチャプロvenance、プロバイダリファレンス(ポインタのみのレコードとして)。
繰り返しソースなしで実際の映像を適用する
ブリーフでクリップの繰り返しが許可されていない場合、apply --no-repeat --fps をサポートする正規のチェックアウトを使用し、出力フレームレートを明示的に設定します。これらのフラグが存在しない場合は、レガシーなラウンドロビン選択を黙って使用するのではなく、実装ギャップを報告します。厳密モードでは、各正規化されたソースパスをマニフェスト順で最大1回使用し、不十分または短すぎるソースを拒否します。キャデンス計画を満たすために十分なレビュー済みセレクトを準備します。これはソースレベルの一意性であり、同じ録音からの異なるイン/アウト範囲のサポートではありません。
アプリケーションレポートはカット計画です。視覚的なショットランキングの実行、映像のグレーディング、LUTの適用、オーバーレイのレンダリング、またはResolveプロジェクトのインポートは行いません。パックの測定されたリファレンスキャデンスは、出力フレームレートとは別に保持します。
エクスポートCLIは {"clips": [...]} を期待します。エクスポート前にアプリケーションの timeline_events を clips の下でラップし、アプリケーションで使用したものと同じ --fps を渡します。エクスポートのデフォルトフレームレートは計画を再構成してはなりません。発行されたイベント数、総フレーム数、ユニークなソース、メディアリンケージをチェックしてから、タイムラインを編集ワークフローに引き渡します。
そのワークフローがNLEで重複するエフェクトを適用する場合、互換性のあるトラックを割り当て、リクエストされたすべての開始、終了、期間を読み戻します。返されたアイテムや成功した追加呼び出しだけでは、スケジュールされたすべてのエフェクトが配置されたことを証明できません。レンダリング前に、欠落、シフト、または切り詰められた配置を拒否します。
ファイル駆動型マルチモーダル契約
ローカルリファレンスが画像、動画、および3Dアセット出力に対するドライラン生成計画を駆動する必要がある場合で、かつジャンルの分離を維持する必要がある場合にこのパスを使用します。
python3 -m tasteforge multimodal --config workflow.json --out-dir out/multimodal
設定は番号付きジャンルとローカルエビデンスファイルを指定します。これらの候補ジャンルは、1つの汎用的な美学にブレンドするのではなく、区別したままにします。
- Flash Ethereal
- 3D Cyber Glitch
- Fluid Sketch
このコマンドは、ffprobe/ffmpegを使用してローカルリファレンスを測定し、ジャンルごとに1つのスタイルスペック、個別の画像、動画、および3Dアセットマニフェスト、プロvenance、そしてResolveエフェクトレシピを出力します。エフェクトスケジュールは非周期シードでなければなりません。CVエフェクトには、正確なトラックロスポリシーが disable_effect_until_track_recovers である実際のサブジェクトアンカーが必要です。continue_without_anchor および他のすべてのポリシーはフェイルクローズします。すべてのエフェクトには、顔と読み取り可能なテキストを保存し、装飾的なコーナーメッシュがフルフレームの3D作業を置き換えるのを防ぐ配置制約が含まれます。
返される受領書はバンドルの境界です。出力されたすべてのエビデンスアーティファクトを、相対パス、バイトサイズ、SHA-256、ジャンル、モダリティ、provider_execution:false、正確な参照/時間プロvenanceでバインドします。受領書には provider_calls:0 を正確な整数として(JSONのブール値 false は無効)、provider_execution:false、dry_run:true が必要です。すべてのジャンスペックにも明示的な dry_run:true が必要です。Resolveエフェクトレシピにも同じ正確な整数 provider_calls:0、provider_execution:false、dry_run:true が必要です。すべてのモダリティマニフェストとすべてのネストされたリクエストには、4つの正確なフェイルクローズフィールドすべて(整数 provider_calls:0、provider_execution:false、dry_run:true、submit:false)が含まれていなければなりません。各リクエストには provider_call_mode:"disabled" も必要です。フィールドが欠落している場合は拒否であり、デフォルトではありません。dry_run:false は出力が書き込まれる前に拒否されなければなりません。
タイムライン、エビデンス、プローブ、およびソース期間データ内のすべての場所で、ブール値を無効な数値として扱います。そのような数値はすべて有限の実数でなければなりません。true、false、NaN、無限大、負のイベント開始、非正の期間、範囲外のエビデンス時間、宣言された有限の正のタイムラインを超えて終了するイベントは拒否します。ファイル全体のエビデンスは明示的なファイル全体の時間ベースを使用し、タイムスタンプを決して発明しません。
受領書の参照が期間の権威です。各検証済み参照期間を、引用されたSHA-256でキー付けます。1つのダイジェストの重複する出現は期間について一致しなければなりません。一致しない場合、バンドルは無効です。すべてのエフェクトエビデンス source_duration とすべてのサブジェクトアンカー source_duration は、そのダイジェストの検証済み受領書期間と等しくなければならず、単にその引用された時間を含んでいるだけでは不十分です。プローブ期間とすべてのプローブ測定は、バイトカウントとSHA-256に使用されたのと同じ安定したバイトを記述しなければなりません。ソースがプローブ中に変更されたり、利用可能なうちに異なるハッシュになった場合、受領書を発行または受け入れる代わりにフェイルクローズします。
作成後は常にバンドル検証を実行します。画像、動画、または3Dアセットマニフェストの欠落はフェイルクローズしなければなりません。汎用化されたまたは重複したジャンル、周期スケジュール、アンカーなしのCVエフェクト、欠落した配置制約、プロバイダ実行フラグ、バインドされていない出力ファイル、バイトサイズのずれ、SHA-256の改ざんはフェイルクローズしなければなりません。シンボリックリンクである出力ルート、中間ファイル、またはアーティファクトは拒否し、特殊ファイル(FIFOやデバイスを含む)も拒否します。出力は、実際のディレクトリツリーの下にある通常のファイルでなければなりません。ローカルの ffmpeg または ffprobe が利用できない場合、CLIはPythonトレースバックなしで、バインドされた非ゼロのローカルメディア処理エラーを返さなければなりません。エビデンスを削除したり検証を弱めたりして、失敗した受領書を修復してはいけません。
セッション例
# ECCエンジンをインストールした後。以下のパスはプロジェクトの入力です。
python3 -m tasteforge validate stylepacks/flashethereal
python3 -m tasteforge interview --answers answers.json --genre flashethereal
…
[翻訳のため省略]