Communitygithub.com

品味应用(Taste Application)

根据提炼的风格包生成新视频,并将其剪辑成成品——计划源自参考素材。

品味应用(Taste Application) 是什么?

品味应用(Taste Application)是一个AI智能体技能,专注于利用从参考素材中提取的风格包生成新视频,并进行专业剪辑。作为完整两阶段管道的后半部分,该技能接收来自“品味蒸馏”(taste-distillation)阶段生成的风格包,执行视频生成、镜头装配、色彩分级和最终输出。其核心设计哲学强调风格与内容的分离:生成提示中不应包含任何颜色词汇,而是通过独立的风格引导参数控制外观。技能支持多种平台集成,包括Fal.ai、Blender和DaVinci Resolve,并提供了详细的执行合约,涵盖干运行模式、碰撞检测和格式约束。该技能还包含一套高效的“连续镜头”生成策略,通过将多个短镜头分组为较长的连续拍摄(约5秒)来替代逐镜头生成,从而将效率从21%提升至77%,并确保相邻镜头在视觉上连续。此外,它提供了严格的验证基准,包括背景保留率、色度MAE、对比度、色阶断裂和节奏检测,并记录了Fal平台上发现的关键平台行为,如缺失3D渲染器、合成限制、关键帧时间单位陷阱等。技能还涵盖3D道具生成分支,通过文本或图像生成3D模型,并进行重拓扑和本地渲染,以闭环工作流。

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

品味应用(Taste Application) 是做什么的?

管道的后半部分。品味蒸馏将参考素材测量成风格包;此处根据该风格包生成并剪辑结果。

执行与交付合约

原始实现位于 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,并添加 duration_contract,包含请求和实际的秒数、不足、超出以及 cadence_target 策略。差异至少一帧时会明确警告。未提供精确时长模式;当需要精确运行时长时,请检查收据并修正或拒绝该剪辑再交付。

管道保留每次运行的已分级镜头文件,因为可编辑的 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道具并将其放回视频中
  • 验证成品是否实际匹配其参考素材

分工

**模型提供内容、运动、构图和光照结构。风格包提供颜色和节奏。**这是测量得出的,而非风格偏好——请参阅品味蒸馏以了解具体数字。实际后果:

  • 生成提示包含零颜色语言。添加 “颜色:无。渲染中性。后期进行调色。”
  • 保持两个独立的标志:--brief(描述发生什么:主体、动作、地点)和 --style-steer(描述外观)。合并它们会将风格词泄露到场景中(“青色”变成青色物体),并将主题词泄露到调色中。
  • 模型对局部、可检查的规则的反应远优于全局规则。“背景纯黑无光;主体向白色过曝”有效;而“极高对比度”则无效。

生成连续镜头,而非独立镜头

“匹配节奏”的直接理解是一个镜头一次生成。这在经济上是荒谬的。一个平均每镜头0.78秒的参考素材,针对一个最低4秒的端点,将10秒的作品变成 12次调用、生成48秒,仅使用10秒(21%效率),以及12个不相关的剪辑拼接成本应是连续的作品。

编辑通常会拍摄较长的连续镜头并在其中进行剪裁。将镜头分组为约5秒的连续拍摄:3次调用、13秒生成、77%效率,以及真正属于彼此的连续镜头,因为它们来自同一次生成。

告诉模型你想要什么形状,否则它会渲染一个缓慢的锁定推进镜头,而其中的六次剪裁看起来像卡顿:

“作为一次连续拍摄,内部无硬剪裁。它将在编辑中被剪成6段,每段约0.8秒,因此构图、主体和光照必须持续变化——任何0.8秒窗口都必须能独立成为一个镜头。”

剪辑规则

  • 重新编码,绝不流复制。 流复制仅在关键帧上剪裁,在0.78秒时,镜头长度会将每个边界舍入到最近的 GOP——破坏了管道存在的根本目的(精确节奏)。
  • 当补充现有素材时,使用其自身的镜头边界。 将基础视频切成连续片段并按顺序播放,只会重新组装原始视频:每个“剪裁”都落在镜头中间,是不可见的。测量显示,一个20镜头的组装只检测到12处剪裁。检测真实边界并每隔N个取一个,以确保连续选取的镜头保证不连续。这将剪裁测量值从1.29秒降低到0.83秒(目标0.78秒)。
  • 从参考素材的分布中采样镜头长度,而不是从其平均值,这样剪裁就能继承节奏方差,而不是扁平化为均匀的剪辑。

调色规则

  • 当拥有素材时,直接测量胜过烘焙的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 拒绝第二个轨道,错误为 “Multiple video tracks are not supported”——并且它将 image 轨道计为视频轨道。它只能序列化一个视频轨道。使用 ffmpeg 本地合成。
compose关键帧是毫秒响应中没有任何说明。以秒为单位提交的运行会被接受,但返回的视频会缩短1000倍。
extract-frame仅提供首/中/尾三帧无任意时间戳。使用这三帧作为三个不同的条件图像。
DAG中无循环、无字符串拼接每个镜头的扇出必须逐节点编写,或保持本地处理。
Kling 3.0 无参考到视频功能v3 系列仅支持文本/图像/运动控制;参考到视频功能位于 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 则带有该前缀。

端点推荐

槽位最佳选择高性价比替代
参考→视频bytedance/seedance-2.5/reference-to-video (~$0.473/s @720p)fal-ai/kling-video/o3/pro/reference-to-video (~$0.112/s)
图像→3Dfal-ai/hunyuan-3d/v3.1/pro/image-to-3d ($0.375, 最多8视图)tripo3d/h3.1/image-to-3d ($0.20)
文本→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
文本→图像fal-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 <name> --from-stills 4 --retopo --render
python mint3d.py --genre <name> --prompt "a cracked chrome visor" --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。 响应中包含一个 thumbnail PNG 和一个 model_urls 块以及 model_glb;取第一个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根据数据类型更改Lab约定。在float32上,L* 是0–100且a*/b*是有符号的;在uint8上,L* 是0–255且a*/b*是加128偏移的。混用它们会报告色度误差为数百。

完整链

python pipeline.py --genre <name> --refs a.mov b.mov \
  --brief "what happens" --duration 12 \
  --base-video existing.mp4 --out out/FINAL.mp4

生成 → 蒸馏 → (mint3d) → 应用 → 制作 → 验证。阶段1-3是缓存的,因此在简报上迭代时永远不会重新测量任何内容。--dry-run 为每个网络调用创建桩:计划、提示、轨道布局和清单仍会被测试。

反模式

不要做原因
每镜头一次生成21%效率,12个不相关的剪辑
在提示中添加颜色经过测量无效;偏离了LUT所需的中性基础
流复制剪裁仅关键帧边界会破坏亚秒级节奏
连续剪裁基础视频重新组装原始视频;每个剪裁不可见
相信 compose 可以叠加它不能;它会拒绝第二个轨道
向 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.

相关技能