关于 scenario-ugc
用于在 Scenario 中制作用户生成内容风格创作者视频的制作路由技能,按说话者类型规划素材与工具,并要求使用真实产品素材和经用户认可的文案。
主要功能
- 01按说话者类型规划制作
- 02使用排序后的模型推荐
- 03将脚本组织为六个口播段
- 04要求上传真实产品素材
- 05交付前检查生成片段
适用场景
- 01用肖像制作创始人口播视频
- 02为现有素材添加新对白
- 03制作无露脸旁白片段
- 04剪辑竖屏创作者广告
MCP 相关
该技能描述了使用 Scenario 工具及配套技能的工作流,但未说明 MCP 接口。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-ugc安装后在 Claude Code 中输入/scenario-ugc确认已加载。
详细介绍
场景 UGC 创作者视频
概述
UGC 是一种表达方式,而非内容长度:内容读起来像一个人对着自己的手机说话,而不是品牌通过摄制团队对着镜头说话。本技能中的一切都服务于这种表达方式,大多数问题都源于把广告制作手法带入其中。本技能负责安排制作流程;具体操作由各环节中提到的相关技能负责。关于衔接和核心循环,请参阅此仓库中的 scenario 技能。如果你可用的技能中缺少这里提到的相关技能,请让用户安装(npx skills add scenario-labs/skills --skill <name>);如果无人值守,则根据工具架构继续操作,并标明缺失项。
有两条规则不可妥协。绝不生成产品:演示镜头必须从真实产品的上传照片或视频素材开始(静态图使用 scenario-product-shots)。绝不编造文案:不得捏造用户评价、评论数量、指标、医疗或财务声明,也不得编造法律文案;只说用户提供或批准的内容,并优先使用可观察的描述(“质地看起来更轻薄”),而不是声称效果(“这能治痤疮”)。
快速参考:按发言者环节安排流程
使用 recommend 发现成员,并传入该环节的能力和用户原话:它会按实测成本和延迟排序,并指出专用选项;而使用描述能力的 search 会返回数百个关键词匹配项,让人无从选择。按照 scenario 技能的要求,选择前先阅读 next_step。只有在你已经知道成员名称时才使用 search。绝不要将生成模型的 id 写死为常量。下文直接列出了 Scenario 自有的单用途工具模型:每种恰好只有一个,因此发现它们只会再次推导出一个常量。
| 路径 | 路由 | 合约 |
|---|---|---|
| 肖像加语音音频 | 说话头像成员(img2video) | scenario-kling |
| 现有视频,新台词 | 唇形同步成员(video2video),使用音频或 text,不能两者兼用 | scenario-kling |
| 录制好的表演,换一张脸 | 动作控制成员(video2video,在 recommend 提示词中写上“motion control”,否则会返回唇形同步成员):静态角色图加上作为驱动 video 的录制视频;keepOriginalSound 可保留人声;输出采用成员自身的尺寸,静态图仅提供方向 | scenario-kling |
| 生成原生语音的创作者视频 | 原生音频视频系列(txt2video),将对白放在引号内,并注明表达方式(语速、语气、一个手势) | scenario-veo、scenario-seedance、scenario-kling |
| 无人出镜的配音 | B-roll 片段(txt2video)加上 TTS 旁白(txt2audio) | scenario-video、scenario-elevenlabs |
| 产品演示插入镜头 | 基于上传的产品静态图进行图生视频 | scenario-product-shots、scenario-video |
| 字幕、剪辑、9:16 成片 | 使用组装工具模型;将文字卡片作为图像图层 | scenario-video-assembly、scenario-text-overlay |
脚本分为六个口语节拍:钩子(一个具体的矛盾或结果)、背景(为什么这个讲述者在意)、产品时刻、证明(可见演示或用户提供的事实)、转折(回应异议或展示前后变化)、结尾(轻柔的行动号召)。写出来要适合说出口,而不是适合阅读:可以使用缩略说法和话说一半的停顿,不要用广告语。口语语速接近每秒 2.5 个词,因此 25 秒广告大约有 60 个词,但这只是初步估算,而且虚拟形象成员往往达不到这个速度:观察到的语速为每秒 1.76 到 1.94 个词,有一位成员还在 60 词的脚本中插入了 21 秒静音。拼接前先计时返回的片段,然后删掉其中的静音,并在只是语速偏慢时删减脚本。合成器无法在单个图层内剪切,因此每个保留的片段都要单独用一个图层,并为其设置各自的 trimStart 和 duration。 |
在每条视觉提示词中保持统一的风格:手机高度的取景、自然光、带有杂物的真实场所、自然的皮肤纹理,手持镜头漂移最多一次。电影化的表现手法(推轨移动、黄金时段的轮廓光、浅景深变形宽银幕效果、调色、磨皮)会让内容看起来像广告,削弱可信度。原生采用 9:16 构图;生成前,按 scenario-formats 对工作流中使用的任何非竖版静帧重新取景(虚拟形象肖像、运动控制角色静帧、产品照片)。裁切自 16:9 母版的画面看起来会像电视。
示例:从肖像制作一支 25 秒的创始人广告
- 一次性说明需求:优惠、平台、时长、创始人可以声称的事实以及语气。收集肖像和真实的产品照片,然后不中断地完成整个流程。
- 在首次生成前创建本次运行的集合(
collection_create,目录写入通道,仅填写name),然后每当有素材通过筛选,就用collection_add_assets将其加入;返回的itemCount就是凭据。 - 起草六个节拍,总字数约 60 词,并与用户确认措辞;脚本是声明内容的载体,不只是文案。若无人值守,所有台词都只能使用需求说明中已有的措辞,并删去任何需要新增声明的节拍。
- 配音:上传创始人录制的旁白(
upload_asset),或者在他们想使用经批准的替代声音时,按照scenario-elevenlabs生成 TTS。 - 使用
capability="img2video"和用户自己的措辞描述需求,调用recommend;根据输入约定从其排序列表中选择:语音只以文本形式存在时,选用接受脚本的成员;有录音时,选用接受音频的成员。然后根据该成员能否设置为不嵌入字幕来选择:有些成员会臆造乱码字幕,任何负向提示词都无法抑制;而带有此开关的成员价格会高出数倍,recommend会替你计入价格。 - 上传肖像(
upload_asset)。提示角色双手空着、场景中不出现产品:头像类成员会臆造道具和标签字体。先设置dry_run=true调用model_run:头像类成员之间的价格差异很大,因此花钱前先报价。 - 正式运行时设置
wait=false,然后使用返回的 job id 调用jobs_wait;超时后再次调用时使用pending_job_ids,绝不要第二次调用model_run。 - 插入演示镜头:使用图像转视频成员为上传的产品照片制作动画(
scenario-video),时长 3 到 5 秒,只做一个微小动作。起始图像存在时aspectRatio是否生效取决于具体成员,架构说明可能对,也可能不对,因此不要假设比例已生效,而要读取返回素材的width和height。 - 按照
scenario-video-assembly使用model_scenario-compose-video进行拼接:以对话头像为主线,在第三和第四个节拍之间插入镜头;通过scenario-text-overlay将产品名称卡片制作为图像图层;若没有经批准的产品名称,则完全舍弃卡片,因为臆造名称正是需求说明所禁止的捏造。每个叠加图层都必须明确指定width和height,否则合成器会缩放图层;durationMode: "custom"则可锁定主视频的时长,避免图像图层将其拉长。合成任务成功并不能证明图层已绘制或放在指定位置:交付前,从合成视频中提取一帧,确认卡片存在且位置正确。最后再为成片添加字幕;使用recommend发现scenario-video-assembly中的字幕工具(有两个,因此没有固定 id),并将字幕放在平台的安全区域内:合成器没有文本图层。 - 使用
asset_display查看主视频。所有生成的片段都必须经过审核,包括对话头像:先获取平台提供的帧、通过asset_get免费获取firstFrame和lastFrame;如果需要片段中间的帧来作出判断,再使用model_scenario-video-to-image-seq提取帧,然后将它们与上传素材对照(scenario-asset-analysis)。无论预算多少,本地提取都不能替代这一流程,因为本地提取不会生成可归档或审计的素材,审核流程也就无法追溯;角色手中臆造的产品或清晰可读的生成字体,都会使片段不合格,就像插入镜头中的标签偏差一样。按 job id 汇总本次运行各 job 记录,计算花费:jobs_list的范围是整个项目,因此会高估花费;usage的主要数字则是项目的生命周期累计值。
常见错误
- 写好广告文案后直接交给创作者念:押头韵的标语让人面对镜头念出来会显得生硬;生成前先大声朗读脚本。
- 编造社会认同:虚构的“10,000 条五星好评”是用户从未提出的说法;数字和用户评价都应严格采用用户提供的表述。
- 把创作者当成商业广告来提示:三脚架取景、完美灯光和一尘不染的摄影棚厨房看起来都像广告;不完美才是这种形式的特点。
- 同时向 lipsync 成员传入音频和
text:输入只能二选一;选一个即可。 - 为虚拟形象和 lipsync 运行跳过
dry_run:各成员的定价差异太大,无法靠猜测估算。 - 生成产品或任何屏幕文字:产品应来自上传的照片,文字应在组装时叠加。原生语音成员可以为引用的台词添加字幕,而这些字幕会与字幕工具放在安全区域内的字幕冲突,因此每条对话提示词都以“no subtitles, no on-screen text”结尾。台词是唯一能调整的部分,而且不产生费用,但这并非保证(有个原生语音成员在创作时还是添加了字幕),所以合成前先提取一帧;虚拟形象成员可能会凭空生成字幕,且没有任何提示词能抑制这种情况,因此第 5 步会为它们的字幕开关计价。
- 只生成一段 40 秒的 B-roll 或创作者生成视频:应按节拍生成片段,并在节拍转换处剪辑;单个长镜头容易偏离方向,而且重试成本更高。面对镜头的脚本应保持为一个镜头,并在组装时修剪。
- 将横向母版裁剪为 9:16:人物头部和字幕会落在安全区域之外;从一开始就按竖屏构图。