mcpField
S
scenario-ugc

scenario-ugc

github.com/scenario-labs营销与增长1.2k384 次安装1 天前更新
代码仓库

关于 scenario-ugc

用于在 Scenario 中制作用户生成内容风格创作者视频的制作路由技能,按说话者类型规划素材与工具,并要求使用真实产品素材和经用户认可的文案。

主要功能

  1. 01按说话者类型规划制作
  2. 02使用排序后的模型推荐
  3. 03将脚本组织为六个口播段
  4. 04要求上传真实产品素材
  5. 05交付前检查生成片段

适用场景

  1. 01用肖像制作创始人口播视频
  2. 02为现有素材添加新对白
  3. 03制作无露脸旁白片段
  4. 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 秒的创始人广告

  1. 一次性说明需求:优惠、平台、时长、创始人可以声称的事实以及语气。收集肖像和真实的产品照片,然后不中断地完成整个流程。
  2. 在首次生成前创建本次运行的集合(collection_create,目录写入通道,仅填写 name),然后每当有素材通过筛选,就用 collection_add_assets 将其加入;返回的 itemCount 就是凭据。
  3. 起草六个节拍,总字数约 60 词,并与用户确认措辞;脚本是声明内容的载体,不只是文案。若无人值守,所有台词都只能使用需求说明中已有的措辞,并删去任何需要新增声明的节拍。
  4. 配音:上传创始人录制的旁白(upload_asset),或者在他们想使用经批准的替代声音时,按照 scenario-elevenlabs 生成 TTS。
  5. 使用 capability="img2video" 和用户自己的措辞描述需求,调用 recommend;根据输入约定从其排序列表中选择:语音只以文本形式存在时,选用接受脚本的成员;有录音时,选用接受音频的成员。然后根据该成员能否设置为不嵌入字幕来选择:有些成员会臆造乱码字幕,任何负向提示词都无法抑制;而带有此开关的成员价格会高出数倍,recommend 会替你计入价格。
  6. 上传肖像(upload_asset)。提示角色双手空着、场景中不出现产品:头像类成员会臆造道具和标签字体。先设置 dry_run=true 调用 model_run:头像类成员之间的价格差异很大,因此花钱前先报价。
  7. 正式运行时设置 wait=false,然后使用返回的 job id 调用 jobs_wait;超时后再次调用时使用 pending_job_ids,绝不要第二次调用 model_run。
  8. 插入演示镜头:使用图像转视频成员为上传的产品照片制作动画(scenario-video),时长 3 到 5 秒,只做一个微小动作。起始图像存在时 aspectRatio 是否生效取决于具体成员,架构说明可能对,也可能不对,因此不要假设比例已生效,而要读取返回素材的 width 和 height。
  9. 按照 scenario-video-assembly 使用 model_scenario-compose-video 进行拼接:以对话头像为主线,在第三和第四个节拍之间插入镜头;通过 scenario-text-overlay 将产品名称卡片制作为图像图层;若没有经批准的产品名称,则完全舍弃卡片,因为臆造名称正是需求说明所禁止的捏造。每个叠加图层都必须明确指定 width 和 height,否则合成器会缩放图层;durationMode: "custom" 则可锁定主视频的时长,避免图像图层将其拉长。合成任务成功并不能证明图层已绘制或放在指定位置:交付前,从合成视频中提取一帧,确认卡片存在且位置正确。最后再为成片添加字幕;使用 recommend 发现 scenario-video-assembly 中的字幕工具(有两个,因此没有固定 id),并将字幕放在平台的安全区域内:合成器没有文本图层。
  10. 使用 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:人物头部和字幕会落在安全区域之外;从一开始就按竖屏构图。

评论

支持 Markdown