mcpField
A
anime-soccer

anime-soccer

github.com/pika-labs创意与媒体41666 次安装14 周前更新
代码仓库

关于 anime-soccer

anime-soccer 是制作三幕日本动画风格足球短片的技能,用户将成为主角。它根据照片制作角色设定图以保持形象一致,设计具体比赛,再生成并拼接各场景。

主要功能

  1. 01根据照片制作动画角色设定图
  2. 02设计三场景戏剧性比赛
  3. 03为每个场景编写日语对白
  4. 04使用 Seedance 生成 15 秒场景
  5. 05拼接场景制作短片

适用场景

  1. 01制作以本人为主角的动画足球短片
  2. 02呈现指定主角扳平比分并打入制胜球

MCP 相关

通过 Pika MCP 工具完成图像、视频和拼接流程,包括 generate_image_edit、generate_reference_video 和 edit_concat。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pika-labs/pika-plugins --skill anime-soccer

安装后在 Claude Code 中输入/anime-soccer确认已加载。

详细介绍

anime-soccer

让用户成为一部 3 幕(约 45 秒)的日本动漫足球短片中的英雄,但主角是亲自运行流程的人。每一幕都是 15 秒的赛璐璐着色动漫片段,包含用户(以大写字母显示姓名)和日语对白。短片使用用户照片制作的动漫角色设定表,在 Seedance 上生成,然后拼接起来。

经过验证的流程(请勿更改顺序): 用户照片 → 动漫角色设定表(nano-banana-pro)→ 设计戏剧性的比赛 + 撰写 3×15 秒场景提示词(由你扮演 Claude)→ 使用角色设定表在 SEEDANCE 上生成各场景 → 拼接。

关键在于以下三点,顺序如下:(1) 使用角色设定表确保用户的动漫形象在每个场景中保持一致;(2) 为用户设计一场具体且戏剧性十足的比赛(用户的球队对阵对手,使用真实的球衣颜色,并为每个场景设计具体的进球机制,而不是泛泛地说“他进球了”);(3) 场景提示词公式(赛璐璐着色风格标签 + 大写字母标注的英雄姓名 + 镜头/动漫技巧 + 日语配音)。


阶段 0 — 信息收集

一次性收集以下信息(每位用户只会变化这些内容):

  • 用户照片 (必需) — 清晰的面部照片;这将成为动漫英雄的形象。可以是本地路径或 URL。形象相似度由此而来。使用 upload_asset 上传本地文件 → 使用 public_url。(如果使用 Claude Desktop,且粘贴的图片无法传到 MCP,请一次性询问 URL 或 .zip 文件。)
  • 屏幕上显示的英雄姓名 (可选) — 提示词和日语配音中使用的大写姓名(例如“KAITO”)。默认为用户的名字;如果用户不想使用姓名,则使用“THE STRIKER”。
  • 用户的球队 (必需) — 英雄所在的一方。记录球衣颜色/条纹图案(例如“天蓝色和白色竖条纹”),不要记录队徽或赞助商(描述颜色而非商标——参见失败模式中的去品牌化说明)。
  • 对手 (必需) — 与用户对阵的球队。也要记录对手的球衣颜色。对方球员(守门员、后卫)使用通用描述,只按球衣颜色描述,不要命名。

用一句话确认(“将由你出战动漫比赛——[TEAM] 对阵 [OPPONENT],由你打入制胜球……”),然后运行流程。无需再询问是否继续。


阶段 1 — 动漫角色设定表(generate_image_edit,nano-banana-pro)

根据用户照片生成一张动漫角色设定表。设定表(包含多个角度 + 全身像 + 特写)可以确保三个场景中的面部形象保持一致。

调用 generate_image_edit,参数如下:

  • provider:nano-banana-pro(必需的默认选项)。它能将真实人物面孔准确地转换为动漫风格。此处不要使用 gpt-image-2——OpenAI 的安全系统会拒绝对可识别人物的真实照片进行动漫风格编辑(content_policy / image_generation_user_error)。
  • images:[<用户照片的 url>]
  • aspect_ratio:16:9 · quality:high · output_format:png
  • prompt(逐字使用此模板——填入 {NAME};并为其穿上所在球队的球衣):
    Create a character sheet of this football player named {NAME} in a {TEAM kit colors} kit, with close-ups and full body shots from different angles in Japanese anime style.
    

将返回的 URL 保存为 state.sheets[HERO]。检查设定表:人物必须清晰可辨,采用动漫风格,并包含可用的全身像和面部角度。如果形象偏离,请重新生成。(如果用户还希望画面中出现有姓名的队友/对手,并且该角色有真实面孔,则用同样的方法为每个角色制作一张设定表;否则对手保持通用形象。)


第 2 阶段——设计比赛并撰写 3 段场景提示词(你 = “Claude”)

这是创作者在 Claude 中完成的步骤。请直接完成。不需要研究真实比赛——你要为用户设计一场戏剧性且具体的比赛,然后按公式写出来。具体细节才有说服力:每个场景都要选用真实的进球方式,别只写“他进球了”。

  1. 设计比赛:用户的球队([TEAM])对阵 [OPPONENT],比赛在一座灯火通明的夜间大型球场进行。确定比赛走向——主角在球队落后时替补登场,扳平比分,然后在比赛末段打入戏剧性的制胜球。为每个进球选择一种具体的方式(凌空抽射、接传中头球、转身射门、单骑突破、任意球),并给出比分和分钟数。全程使用两支球队的球衣颜色;对手门将和后卫只用颜色描述。

  2. 准确撰写 3 段场景,每段 15 秒,遵循经过验证的三幕式结构:

    • **场景 1——“登场召唤”:**主角替补登场/[TEAM] 开球,紧张感逐渐升高,观众欢呼,一名队友或替补席成员为主角加油。
    • **场景 2——“扳平比分”:**主角用选定的方式攻入扳平 [OPPONENT] 的进球(真实的助攻组织过程、射门、击败门将)——例如 1-1。
    • **场景 3——“制胜进球”:**伤停补时阶段,主角攻入决定胜负的一球,最后以获胜画面和屏幕上的最终比分牌收尾。
  3. 场景提示词公式(严格遵循此结构——这是它奏效的关键):

    • 以风格标签开头:Japanese anime action style, cel-shaded, high contrast, [color grade e.g. cold desaturated → blazing gold], [intensity], [setting: packed night stadium, the minute + scoreline].
    • 逐拍描写动作,写出主角的大写姓名和其球衣颜色、准确的进球方式,以及动画风格的镜头/特效语言:眼睛的极特写、低角度英雄式仰拍、缓慢推轨、动画 smear 帧、射门瞬间的子弹时间、冲击帧先闪成纯白再 SNAP 回全速、球网震荡、金色粒子迸发、运动模糊拖影、门将腾空扑救时定格。
    • **情绪变化:**例如 阴郁/坚定 → 激昂/欢庆 → 欣喜若狂/热烈爆发。
    • 以日语配音/字幕台词结尾,每位说话者一行,以角色姓名开头,另加一条解说员台词——简短对话 + 主角内心独白。格式:
      VO/subtitle (JP): {NAME}「…」 / {NAME} (inner)「…」 / commentator「…」
      
    • 场景 3 还要加上屏幕最终比分牌:Final on-screen card: {TEAM} {SCORE}.

    (经过验证的结构参考——这是本格式所模仿的戏剧性动画足球剪辑;严格照着它的结构来,换成你的主角姓名、你的球队和对手:场景 1 冷色调的特写 → 主角在泛光灯下大步登场,队友大喊,主角内心独白。场景 2 传中球飞来 → 主角凌空抽射破门,子弹时间 + 白色冲击闪光,比分 1-1,门将定格。场景 3 伤停补时,主角转身旋射,晃过后卫,膝盖滑行庆祝,金色彩纸飘落,比分牌显示“[TEAM] 2-1”。每段场景都以 cel-shaded 风格标签开头,并以日语对白 + 内心独白 + 解说员台词收尾。沿用这个结构,替换为你设计的主角、球队、对手和进球方式。)*

阶段 3 — 生成每个场景(generate_reference_video,seedance)

每个场景调用一次。使用角色设定图作为参考,并通过 Seedance 的 @Image1 标记将主角名称映射到图像。

调用 generate_reference_video 时设置:

  • provider:seedance · seedance_backend:ark
  • reference_images:主角设定图(以及该场景中使用的其他角色设定图)——例如 [sheets[HERO]]
  • aspect_ratio:16:9 · resolution:1080p · duration:15 · sound:true(日语对白和戏剧性音效是重点——这种格式会保留生成的语音/音频)
  • prompt:先写名称→图像映射行,再写场景提示词。示例:
    {HERO} is @Image1. <full Scene 1 prompt from Stage 2>
    
    在主角首次出现时,通过其 @ImageN 标记引用,这样 Seedance 才会关联其形象。

并行启动全部三个场景(background: true)并轮询结果。如果出现以下情况,请重新生成该场景:目标机制错误、面部与设定图不符,或标题/比分牌文字乱码。如果场景触发 OutputAudioSensitiveContentDetected,请使用新种子重新生成(或作为最后手段,仅对该场景设置 sound: false,并将对白作为叠加内容添加)。


阶段 4 — 拼接

按顺序将场景 1 → 2 → 3 拼接成最终约 45 秒、16:9、1080p 的成片(使用 edit_concat,或通过 ffmpeg 拼接标准化片段)。保留每个场景生成的音频。如果用户需要,可选择在其下方铺一层低调的史诗动漫风音乐(仅后期添加)。交付拼接后的 MP4 和 3 个场景片段。


设置速查

步骤工具关键设置
角色设定图generate_image_editnano-banana-pro(gpt-image-2 会拒绝真人照片),参考图 = 用户照片,主角穿队服,16:9
设计 + 提示词你(以 Claude 的身份)按上述公式设计一场具体且戏剧性的比赛 → 3 个 15 秒场景
场景视频generate_reference_videoseedance/ark,设定图作为参考,名称→@ImageN 映射,16:9、1080p、15s、sound:true
拼接edit_concat / ffmpeg按顺序排列场景,保留音频,约 45 秒

可选:seedance-anime(为提示词的语气提供风格参考)和 seedance-director 可协助润色镜头描述——但上述公式已经能复现目标效果。

故障排查

症状解决方法
不同场景中的面容发生变化每个场景都要传入角色设定图(而不是原始照片)作为参考;重新生成面容漂移的场景;将主角映射到其 @ImageN。
进球效果普通/无力你跳过了设计步骤——选择一种具体的机制(凌空抽射/头球/转身射门)、比分、队服颜色,并逐拍写出射门过程。
主角没有名字/没有日语对白必须遵循此格式:用大写字母写出主角名字,并在每个场景结尾添加 VO/subtitle (JP): … 区块。
比分/标题卡文字乱码缩短卡片文字("[TEAM] 2-1");重新生成;或者在后期将其作为干净的叠加层添加。
音频触发敏感内容检测(OutputAudioSensitiveContentDetected)更换种子重新生成;最后的办法是对该场景使用 sound:false,然后叠加日语台词。
视频触发版权/敏感内容检测(OutputVideoSensitiveContentDetected)仅更换种子无法解决——问题出在内容上。球员入场/仪式/转播风格的场景最容易触发检测。去除提示词中的品牌元素:不要提及具体赛事名称("World Cup" → "一座灯火通明的大型夜间球场"),不要使用真实俱乐部徽章/赞助商标志,不要显示屏幕上的记分牌/字幕条/转播图形,不要佩戴队长袖标。只描述队服颜色,保持纯粹的场上动作(开放式进球场景通常一次就能通过)。
任务进行中出现暂时性的 invalid_input/"Unknown provider: seedance-assets"/skill_crashedPika 后端出现短暂故障,不是你的输入有问题。使用新种子重新发起相同的调用。如果失败前已运行约 4 分钟以上,说明内容已经通过安全审核。
角色设定图出现 content_policy/image_generation_user_errorgpt-image-2(OpenAI)会阻止对真人照片进行动漫风格编辑。使用 nano-banana-pro 生成设定图(默认选项);不要用同一张照片重试 gpt-image-2。

备注

  • 流程:图像设定图 → 设计好的场景提示词 → Seedance 15 秒场景 → 拼接——完全基于 Pika MCP 构建,用户是主角(使用用户的照片、球队和对手)。
  • 默认输出:3 个场景 × 15 秒 = 约 45 秒,16:9、1080p、动漫赛璐璐风格、日语 VO。用户提出要求时可配置宽高比/时长(例如,短视频使用 9:16)。

评论

支持 Markdown