TasteForge Video
完全なスタンドアロンのクリエイティブパイプラインには、まず taste-distillation を使用し、次に taste-application を使用してください。これらのECCスキルは、リファレンスの測定、既存のテイクの生成またはパススルー、グレーディング、カット、コンポジット、検証、そしてBlenderやResolveへの受け渡しを行うPythonスクリプトを直接同梱しています。このフローに別のビデオリポジトリは必要ありません。このスキルは、ECCのパッケージ化されたオフラインエンジンとその厳格なエビデンス契約について文書化したものです。
TasteForgeは、「このリファレンスのように感じさせる」という曖昧な指示を、繰り返し可能で検査可能なワークフローに変換します。すなわち、テイストのインタビュー、構造化されたスタイルパックへの蒸留、パックの検証、測定されたリズムとルックをローカルメディアに適用し、編集可能なタイムラインをエクスポートします。標準実装は、ECC内の skills/taste-application/scripts/tasteforge/ に同梱されている tasteforge パッケージです。Ito-Markets/ito-video は、パッケージ化されたECCエンジンを利用するプロジェクトの例です。
使用するタイミング
- ユーザーが、映像素材ができる前に、映像のテイストについてインタビューするよう依頼した場合(「ルックについて教えて」、「美的方向性についてインタビューして」)。
- ユーザーが、美的感覚を構造化された制約に蒸留したい場合 — 雰囲気ではなく、再利用可能なスタイルパックとして(「これらのリファレンスをパックに変換して」)。
- ユーザーがスタイルパックを検証したい場合(メタデータは完全か、スキーマは有効か、リズムは測定されているか、仕様は蒸留されているか)。
- ユーザーがスタイルパックをローカルの映像に適用したい場合 — パックの測定されたリズムに基づいて、ローカルクリップ上で決定論的にカットを計画する。
- ユーザーがEDL/FCPXMLをエクスポートしたい場合 — DaVinci Resolve / Premiere / Final Cut へのフレーム精度の編集可能な受け渡し。
- ユーザーが生成メディアのプロヴェナンス監査を依頼した場合 — このパック、仕様、またはカットはどこから来たのか、何がローカルで測定され、何がプロバイダによって生成されたのか、何がドライランされたのか。
- ユーザーが、ローカルのリファレンスファイルからファイル駆動型のマルチモーダル画像、動画、または3Dアセットの出力を発見または計画するよう依頼した場合。これには、個別のマニフェスト、サブジェクトアンカー付きCVエフェクト、またはResolveエフェクトレシピが含まれます。
- ユーザーが、TasteForge、スタイルパック、flashethereal、テイスト蒸留、リズム/テンポ計画、マルチモーダル発見、蒸留/適用ワークフロー、または映像のテイストインタビューについて言及した場合。
ローカル決定論的操作 vs プロバイダ生成
この境界が、この互換性スキルの中核です。その操作はローカル、決定論的、かつオフラインです。
| 操作 | 決定論的? | ECCが実行可能? |
|---|---|---|
| テイストインタビュー → プロファイル | はい (オフライン) | はい |
| パックインスペクト / スキーマに対する検証 | はい | はい |
| プロファイル (+ 測定されたグラウンディング) → 仕様 | はい (ドライランセマンティクス) | はい |
| パックリズムをローカルメディアに適用 → レポート + タイムライン | はい | はい |
| EDL (CMX3600) / FCPXML 1.9 エクスポート | はい | はい |
| プロヴェナンス / 系統レポート | はい | はい |
| 静止画のビジョンモデル蒸留 | プロバイダ生成 | いいえ |
| リファレンスからビデオへ、画像から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 スクリプトは、独自のPython要件とともにECCのオプトインメディア生成モジュールに同梱されています。どちらのパスもユーザーのリポジトリやメディアを公開する必要はありません。
保存されたチェックアウトを再開する前に、そのコミットを記録し、ローカルブランチとワークツリーを検査して後で実装修正を行ってください。標準パッケージのテストと 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): CMX3600 EDL + FCPXML 1.9を有理数、NTSCセーフな時間で書き出し、実際のNLEにインポートできるようにします。 - 監査 (
provenance): 系統を報告します — 復元されたソースダイジェスト、生成履歴、フィクスチャプロヴェナンス、プロバイダリファレンス(ポインタ専用レコードとして)。
ソースを繰り返さずに実際のフッテージを適用する
ブリーフでクリップの繰り返しが許可されていない場合は、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アセットマニフェスト、プロヴェナンス、およびResolveエフェクトレシピを出力します。エフェクトスケジュールは非周期的にシードされる必要があります。CVエフェクトには、正確なトラック喪失ポリシーが disable_effect_until_track_recovers である実際のサブジェクトアンカーが必要です。continue_without_anchor およびその他すべてのポリシーはフェイルクローズします。すべてのエフェクトは、顔と読み取り可能なタイプを保存し、装飾的なコーナーメッシュがフルフレームの3Dワークを置き換えるのを防ぐ配置制約を持ちます。
返されるレシートはバンドル境界です。これは、出力されたすべてのエビデンスアーティファクトを、相対パス、バイトサイズ、SHA-256、ジャンル、モダリティ、provider_execution:false、および正確なリファレンス/時間プロヴェナンスでバインドします。レシートには、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 flashetherea
…
[翻訳のため一部省略]