Communitygithub.com

taste-application

生成された映像をスタイルパックに基づいて仕上げ、カットして完成させるパイプラインの後半部分。リファレンスからプランを抽出します。

taste-application とは?

このスキルは、AI映像生成パイプラインの後半部分「Taste Application」を実装します。前半の「taste-distillation」でリファレンスから抽出したスタイルパックを元に、新しい映像を生成し、編集して完成品に仕上げます。主な機能には、スタイルパックに基づく映像生成、ショットの編集・カット、グレーディング、3Dプロップの生成と統合が含まれます。Fal、Blender、DaVinci Resolveなどのプラットフォームをサポートし、パフォーマンスと品質を最適化するための具体的なルール(例:ショットごとではなくテイクを生成する、ストリームコピーではなく再エンコードする)を提供します。また、結果の検証や出力の分布形状の確認方法についても詳細に説明しており、開発者やAIエージェントが高品質な映像作品を効率的に制作できるように設計されています。

対応~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/taste-application

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Taste Application

パイプラインの後半部分です。taste-distillation はリファレンスを計測してスタイルパックを作成します。このパートでは、そのスタイルパックに対して生成を行い、結果をカットします。

実行と納品に関する契約

オリジナルの実装は scripts/ に含まれています。ito-video の個別チェックアウトは必要ありません。ローカル処理のためには scripts/requirements.txt をインストールしてください。プロバイダ実行時のみ scripts/requirements-live.txt をインストールします。ライブでのアップロード、サブミッション、ダウンロードには、認証情報に加えて TASTE_FORGE_ALLOW_LIVE=1 の明示的な設定が必要です。ユーザーの許可された実行に対してのみ設定してください。--dry-run は認証情報不要で、ラベル付きプレースホルダを生成します。あいまいなプロバイダのタイムアウトは、新たな有料ジョブとして再試行されません。別のサブミッションが正当化されるかどうかを判断する前に、プロバイダのリクエストを検査してください。

プロバイダを呼び出さずに、既存の完了したテイクを使用します:

python scripts/pipeline.py --genre example --root stylepacks \
  --takes media/take-a.mp4 media/take-b.mp4 --duration 12 --fps 30 \
  --out out/review-v1.mp4

--duration は ベストエフォートのカデンツターゲット であり、厳密な実行時間ではありません。完了したショットは、より短いまたは長い編集を生成する可能性があります。アセンブラは、ターゲットに合わせるためにクリップを複製したりパディングを追加したりしません。出力マニフェストには実際の duration が保持され、要求された秒数と実際の秒数、不足、超過、および cadence_target ポリシーを含む duration_contract が追加されます。少なくとも1つの出力フレームの差は明示的に警告されます。厳密な duration モードは提供されていません。正確な実行時間が必要な場合は、領収書を検査し、納品前にカットを修正または拒否してください。

パイプラインは、編集可能な FCPXML と EDL がそれらを参照するため、各実行のグレーディング済みショットファイルを保持します。出力の衝突を拒否し、タイムラインのエクスポート失敗を報告します。完了したレンダリングは、保存されたエディタープロジェクトやクリエイティブな承認ではありません。ライブ編集の前後で、ソースアセットとバージョン管理されたプロジェクトのチェックポイントを保存してください。保存されたパスとダイジェストは、メモリ内のタイムライン領収書とは別に記録してください。

クローン可能な Fal グラフとそのオフライン入力コンパイラは、workflows/README.md に文書化されています。サブミッション前にブリーフとスタイルの方向性をコンパイルしてください。切断されたスキーマフィールドがモデルのプロンプトに影響を与えると想定しないでください。有料実行の前に、現在のエンドポイントフィールドを実際のプロバイダに対して検証してください。

Blender には、テクスチャ付きの完全なソース GLB を使用してください。リトポロジーは個別に名前が付けられた派生物であり、そのソースを決して置き換えません。blender_prop.py は、明示的な --width 1920 --height 1080 --fps 30 --receipt receipt.json をサポートし、パック由来のリムライティングとマテリアルテクスチャを保持します。シーンを保存することは、レンダリングとは異なります。領収書の状態とパックされた画像を検査してください。

Resolve オーバーレイには、明示的に選択され、バージョン管理されたターゲットから注入されたオブジェクトを指定して、taste.resolve.apply_placements を使用してください。そのホストで検証された規則に source_end_mode を設定してください。Resolve のバージョンをまたいで、インクルーシブなソースエンドを想定しないでください。アダプターは、保存されたトラックの上に重なるエフェクトを割り当て、すべての配置を即座に、そしてすべての追加後に再度チェックします。コンポジット整数は、インストールされている API と一致している必要があります。確認済みの Studio 21 ホストでは、Screen は 5 であり、過去のビルダーの誤った 22 ではありません。領収書は、メモリ内の配置のみを証明します。プロジェクトを保存し、そのチェックポイントを確認してから、納品を報告する前に正確なレンダリング出力を検査してください。

アクティベーションのタイミング

  • "このスタイルで動画を作成" / "パックを適用" / "このフッテージを補完"
  • 生成されたクリップを実際の編集リズムを持つものに組み立てる
  • ルックから 3D プロップを作成し、動画に戻す
  • 完成品が実際にリファレンスと一致することを確認する

役割分担

モデルは、コンテンツ、モーション、フレーミング、ライティング構造を提供します。パックは、色とリズムを提供します。 これはスタイル的な好みではなく、計測されたものです。詳細は taste-distillation を参照してください。実用的な結果:

  • 生成プロンプトには 色に関する記述を一切含めない でください。"色:なし。ニュートラルにレンダリング。グレーディングは後で適用。" を追加してください。
  • 2つの別々のフラグ を維持してください:--brief(何が起こるか:被写体、アクション、場所)と --style-steer(見た目)。これらをマージすると、スタイルの単語がシーンに漏れ出し("ティール" がティールのオブジェクトになる)、被写体の単語がグレードに漏れ出します。
  • モデルは、グローバルなルールよりも 局所的でチェック可能なルール に非常に良く反応します。"背景は真っ黒で無照明。被写体は白に向かって吹き飛ばす" は機能しますが、"極端なコントラスト" は機能しません。

ショットではなくテイクを生成する

"カデンツに合わせる" を素直に解釈すると、ショットごとに1つの生成になります。これは経済的に不合理です。平均 0.78秒/ショットのリファレンスを、最低4秒のエンドポイントで処理すると、10秒の作品のために 12回の呼び出し、48秒の生成、10秒使用(効率21%) となり、12の無関係なクリップが連続して読まれるべきものに縫い合わされます。

エディターは長いテイクをロールし、その内部でカットします。ショットを約5秒のテイクにグループ化すると:3回の呼び出し、13秒の生成、効率77% となり、連続するショットは同じ生成からのものであるため、互いに実際に属するものになります。

どのような形状を望むかをモデルに伝えないと、スローなロックオフプッシュをレンダリングし、その内部の6つのカットは吃音として読み取られます:

"内部にハードカットのない、1つの連続したテイクとして撮影されました。編集では約0.8秒の6つのピースにカットされるため、フレーミング、被写体、照明は全体を通じて変化し続ける必要があります。どの0.8秒のウィンドウも、それ自体で1つのショットとして成立する必要があります。"

カットのルール

  • 再エンコードし、ストリームコピーはしないでください。 ストリームコピーはキーフレームでのみカットします。0.78秒では、ショット長はすべての境界を最も近い GOP に丸め、パイプラインが存在する目的そのものを破壊します。
  • 既存のフッテージを補完する場合、そのフッテージ自身のショット境界を使用してください。 ベースビデオを連続したピースにスライスして順に再生すると、オリジナルが再構築されるだけです。すべての「カット」はショットの途中に着地し、見えなくなります。測定したところ、20ショットのアセンブリでは12の検出カットしか登録されませんでした。実際の境界を検出し、連続した選択が必ず不連続になるように N 番目ごとに取得してください。これにより、カット測定値が 0.78秒のターゲットに対して 1.29秒から 0.83秒に改善されました。
  • ショット長はリファレンスの平均ではなく分布からサンプリング することで、カットがリズムのばらつきを継承し、均一なクリップに平坦化されるのを防ぎます。

グレーディングのルール

  • クリップがある場合は、焼き込み LUT よりも直接測定が優れています。 クリップを測定し、その L* CDF に一致させ、ゾーンクロマを適用します。grade_clip_direct は MAE 1.58、コントラスト 34.0(ターゲット 34.7 に対して)を達成しました。
  • クリップのヒストグラムがリファレンスと異なる場合は、CDF マッチではなくアンカーを使用してください。 68% 黒の生成クリップを賑やかなリファレンスヒストグラムに強制すると、背景全体が黒から持ち上げられました。背景保存率は 26.0%(CDF)に対して 69.0%(アンカー)に低下しましたが、MAE とコントラストはどちらも依然として優れていました。デフォルトはアンカートーンにしてください。
  • バッチサイズは重要です。 48フレームを一度にグレーディングするとプロセスが OOM で強制終了されました。6 フレームは安全です。

復元された fal プラットフォームの動作

これらの観察結果とエンドポイントの例は、復元されたワークフローからのものです。現在のエンドポイントメタデータを再確認してください。これらは、将来のすべてのプロバイダバージョンに関する保証ではありません。バンドルされているグラフテンプレートは、個別に検証されたワークフロー入力(明示的な生成オーディオ制御を含む)を記録しています。

これらは発見するのに実際の時間がかかります。グラフを設計する前に確認してください。

制限詳細
3Dレンダラーはまったくないfal には image-to-3d、text-to-3d、3d-to-3d しかありません。すべての 3d-to-3d エンドポイントは別のメッシュを出力します。3d-to-image/3d-to-video カテゴリはないため、ミントされた GLB は fal のビデオグラフに 再び入ることはできません。ローカルでレンダリングし、fal-ai/ffmpeg-api/images-to-video を使用してください。
compose はオーバーレイできないfal-ai/ffmpeg-api/compose は、2番目のトラックを拒否します。「複数のビデオトラックはサポートされていません」— そして image トラックもビデオトラックとしてカウントします。1つのビデオトラックのみをシーケンスします。ffmpeg を使用してローカルでコンポジットしてください。
compose のキーフレームはミリ秒単位応答にはそのように書かれていません。秒単位で送信された実行は受け入れられ、1000倍短いビデオを返します。
extract-frame は first/middle/last のみ提供任意のタイムスタンプはありません。3つのフレームを3つの異なるコンディショニング画像として使用してください。
DAG にループも文字列連結もないショットごとの分岐はノードごとに作成するか、ローカルに保つ必要があります。
Kling 3.0 に reference-to-video はないv3 ラインはテキスト/画像/モーションコントロールのみです。reference-to-video は o3 ラインにあります:fal-ai/kling-video/o3/pro/reference-to-video。
プレフィックスは統一されていないbytedance/*、tripo3d/*、meshy/*、minimax/*、openai/* には fal-ai/ プレフィックスがありません。kling-video、veo3.1、flux-*、hunyuan-3d、ffmpeg-api にはあります。

エンドポイントの選択

スロットベスト価格代替案
reference→videobytedance/seedance-2.5/reference-to-video(~$0.473/秒 @720p)fal-ai/kling-video/o3/pro/reference-to-video(~$0.112/秒)
image→3Dfal-ai/hunyuan-3d/v3.1/pro/image-to-3d($0.375、最大8ビュー)tripo3d/h3.1/image-to-3d($0.20)
text→3Dfal-ai/hunyuan-3d/v3.1/pro/text-to-3dtripo3d/h3.1/text-to-3d
リトポロジーfal-ai/hunyuan-3d/v3.1/smart-topology($0.75)tripo3d/tripo/remesh(約75倍安い)
パーツ分割fal-ai/hunyuan-3d/v3.1/part(FBXのみ)tripo3d/tripo/segment
text→imagefal-ai/nano-banana-pro($0.15 固定)fal-ai/flux-2-pro($0.03/MP)

Seedance は同じ5秒に対して Kling o3 の約4倍の価格です。複数参照の忠実度(最大50の混合画像/ビデオ/音声参照)でその価値を発揮し、単一の静止画像で条件付けする場合は 価値を発揮しません。

モデルIDと価格は変動します。それらのいずれかを約束する前に、fal.ai/models で確認してください。

3D ブランチ

python mint3d.py --genre <名前> --from-stills 4 --retopo --render
python mint3d.py --genre <名前> --prompt "ひび割れたクロムバイザー" --render
  • 最初にクリーンなプレートを生成してください。リファレンスの静止画から抽出しないでください。 エンドポイントの記載された入力要件は、シンプルな背景、単一オブジェクト、オブジェクトがフレームの50%以上であることです。リファレンスリールはその逆です—コラージュ、ワイドショット、複数の被写体、焼き込みグラフィックス—そしてそれらは彫刻的なノイズを生成します。テキスト→単一オブジェクトプレート→メッシュの費用は約$0.15余分にかかり、これが使用可能なメッシュと廃棄されるメッシュの違いです。
  • マルチビューは、リストではなくアングルごとの名前付きフィールドです。 input_image_url(前面、必須)、次に back_image_url、left_image_url、right_image_url、left_front_image_url、right_front_image_url、top_image_url、bottom_image_url。input_image_urls も multi_view フラグもありません。それらをでっち上げると、機能しているように見えながら、すべてのミントをシングルビューに劣化させます。間違ったアングルラベルは、ビューを省略するよりも悪影響です。なぜなら、モデルはそれを信頼するからです。
  • GLB を位置ではなくキーで指定してください。 応答には、model_glb と共に thumbnail PNG と model_urls ブロックが含まれます。最初のURLを取得しても、キーが並び替えられるまでは機能し、プレビューPNGは問題なくダウンロードされます。Blender がそれを開くことを拒否するまで、何も失敗しません。
  • PBR マップを要求してください。 これらがないと、メッシュは塗装された段ボールのように照明されます。
  • 誰かが編集またはリギングする場合は、リトポロジーを実行してください。 生成されたメッシュは高密度で混沌としています。
  • ループを閉じるためにローカルでレンダリングしてください。 ターンテーブルがフレームになれば、それはフッテージです。下流のすべてのステージはすでにフッテージを処理しています。グレーディング、カット、要素としてのスクリーン表示、またはコンディショニング参照としてのアップロードが可能です。バイナリが PATH 上にある場合は Blender を使用してください。軽量な依存関係のソフトウェアラスタライザーをデフォルトとして維持してください。ヘッドレス GL コンテキストはコンテナで最も一般的に欠落している単一のものであり、ワークステーションでのみ動作するレンダラーはパイプラインの一部ではありません。

検証してから信頼する

他のすべてのステージは結果を主張します。それを確認し、モーメントだけでなく分布形状 を確認してください:

  • background — L*10 未満のフレームの割合と パックの 値を比較。ソースクリップではなくリファレンス と比較してください。68% 黒の生成ソースは、24~55% のバンド内のどのリファレンスよりも黒いため、「ソースの黒を保存する」は間違ったことを要求し、同様に持ち上げられたグレードを許容します。
  • chroma_mae — ゾーンごとの a*/b* 誤差。中央値 を使用します(パックのターゲットが測定された方法と一致させます。ここでの平均は、歪みに敏感な統計をロバストな統計と比較し、定義の不一致を誤差として報告します)。
  • contrast / black_point / white_point
  • banding — 占有されている L* ヒストグラムビンの 間の 空のビン。空のビンの総数をカウントしても機能しません。正当に暗いクリップには、空のハイライトビンがあります。
  • cadence — 検出された平均ショット長とリファレンスの比較。

単位のトラップ に注意してください:OpenCV は dtype によって Lab 規則を変更します。float32 では、L* は 0~100、a*/b* は符号付きです。uint8 では、L* は 0~255、a*/b* は +128 バイアスされます。これらを混在させると、クロマ誤差が数百単位で報告されます。

完全なチェーン

python pipeline.py --genre <名前> --refs a.mov b.mov \
  --brief "何が起こるか" --duration 12 \
  --base-video existing.mp4 --out out/FINAL.mp4

mint → distill → (mint3d) → apply → forge → verify。ステージ1~3はキャッシュされるため、ブリーフを繰り返しても何も再測定されません。--dry-run はすべてのネットワーク呼び出しをスタブします。計画、プロンプト、トラックレイアウト、マニフェストはすべて実行されます。

アンチパターン

しないこと理由
ショットごとに1つの生成効率21%、12の無関係なクリップ
プロンプトに色を入れる機能しないことが測定されています。LUT が望むニュートラルベースから遠ざけます。
カットをストリームコピーするキーフレームのみの境界がサブ秒のリズムを破壊します。
ベースビデオを連続してカットするオリジナルを再構築し、すべてのカットが見えなくなります。
compose でオーバーレイできると信じるできません。2番目のトラックを拒否します。
compose に秒を送信する静かに1000倍短くなります。
MAE だけで出荷する背景シェアチェックを追加してください。

借用したフッテージはキャプチャアプリのUIを引き継ぐ

納品されたカットで見つかった最悪の単一の欠陥:完成したビデオには、他の誰かの「いいね」ボタン、視聴回数カウンター、コメントバブルが含まれていました。なぜなら、ベース…

[翻訳のために切り詰められました]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

関連スキル