Lulublox 视频
将用户的想法(例如“做一个关于哪个滑梯最快”)转化为一个垂直的短视频(Short),可直接发布,在 Roblox Studio 中制作动画。主角是 Lulu,一个充满魅力且可爱的 R15 女孩角色:
- 桃色皮肤和深栗色长发,侧分刘海,侧边发束修饰脸庞,配有一个粉色蝴蝶结。
- 卡通面容:带紫色虹膜的大椭圆形眼睛,两个高光和睫毛;细长的棕色眉毛;腮红;会随着声音动的嘴巴。
- 服装:带蓬松短袖的粉色上衣,紫色百褶裙(随着腿部动作自然打开,从不穿模),白色粉色鞋底运动鞋。
- 使用 官方 Roblox 动画包(Cartoony、Levitation 和 R15 表情)进行动画制作。
目标观众是儿童。在开始之前,请阅读 references/production-rules.md、references/format.md 和 references/animkit.md。
始终使用英语: 脚本、语音、字幕、屏幕文字、视频标题、描述、标签和文件名。不要为本技能生成葡萄牙语或西班牙语句子。语音台词准备就绪后,运行 scripts/fazer_short.py PROJECT。它会执行审核、录制、剪辑、审查字幕并渲染,最终生成 MP4 文件。使用 --so-conferir 参数仅检查交付物。
此技能依赖同级技能 roblox-video-editor(渲染器、音效/音乐库和贴纸)。仓库中的 install.py 会检查该依赖。
Lulu 的语音:Jessica (ElevenLabs,免费默认语音)
Lulu 始终使用 “Jessica - 活泼、明亮、温暖” 的声音,该声音由用户于 2026-10-15 选定。这是一个免费默认(预置)语音,位于 语音 → 我的语音 中,语音 ID 为 cgSgspJ2msm6clMCkdW9。请检查 ID,而不仅仅是名称。在每个项目的 roteiro.json 中:"vozes": {"lulu": "Jessica"}。除非用户要求,否则不要切换到其他语音。
- 使用 Eleven v4 模型,语言设置为自动。用英语书写每一句台词,并在开头添加情感标签,例如
[excited] Hi friends!、[giggles] Oops!、[gasps] No way!或[whispers] Shh...。不要添加口音标签。 - “探索”选项卡中的这些语音副本可能需要付费计划。始终使用“我的语音”中的副本,切勿建议付费。
- 如何生成和下载语音:
- 如果环境中设置了 API 密钥
ELEVENLABS_API_KEY(由用户设置):运行python scripts/tts_elevenlabs.py roteiro.json --out falas。 - 如果没有密钥:在用户已登录的浏览器中,逐行输入台词,使用 Ctrl+Enter 生成,并保留网站创建的两个版本中的
eleven_v4版本。使用scripts/receptor_falas.py PASTA(本地服务器运行在 127.0.0.1)和postMessage移动文件。然后运行python scripts/alinhar_falas.py roteiro.json falas,使用 Whisper(英语)进行对齐。 - 切勿输入用户的密码或密钥。
- 如果环境中设置了 API 密钥
每个视频的原创性
每个新视频都需要一个适合本技能儿童风格的原创想法和脚本。在创作前,请阅读 historico/roteiros.md 以及 entregas/ 目录下的 roteiro.json 文件,然后比较前提、目标、机制、尝试和转折。仅仅更改颜色、名称或同一挑战中的对象并不能使想法变得新颖。在项目中保存 originalidade.json(包含字段:premissa、objetivo、mecanica、tentativas、reviravolta、projetos_comparados、diferenca_dos_anteriores)。制作完成后,使用 python scripts/registrar_roteiro.py PROJECT 记录脚本。
如何驱动 Studio(无 MCP,无点击)
Roblox Studio 的命令行任务在编辑模式下对地点执行脚本并开始播放:RobloxStudioBeta.exe -task RunScript -localPlaceFile place.rbxlx -runScriptFile script.lua -outputFile out.log -quitAfterExecution。
scripts/studio_runscript.py montar --kit --cenario studio/cenario.lua --cena studio/cena.lua --play --saida studio/pipeline.lua:安装本技能的 AnimKit,构建场景,安装镜头并开始播放。scripts/studio_runscript.py rodar studio/pipeline.lua --place studio/base.rbxlx --gravar viewport.mp4:在用户窗口后面打开一个新的 Studio 窗口,并仅录制该窗口。切勿录制整个桌面。- 用户自己的 Studio 窗口永远不会被触及。
工作流程
- 项目与原创想法:创建
entregas/<主题>-<日期>。像处理批次一样,将modelos/base/(包含comum.py、edicao.py、cenario_comum.lua)复制到项目文件夹旁:每个项目包含gerar_cena.py、montar_edicao.py、studio/cenario_corpo.lua和roteiro.json。 - 脚本(
roteiro.json):每句台词的英语texto、titulo、arquivo(MP4 文件名)、"idiomas": ["en"]、vozes、destaques(需要标黄的单词)以及每句台词的计划。台词宜简短,每句一个想法,并为 ElevenLabs 添加情感标签。格式参考 references/format.md。 - 语音:如上所述。
- 场景(
studio/cenario_corpo.lua):- 色彩丰富且生动,周围放置道具。
- 每个地面用
K.piso(...)标记。 - 使用
K.criarGarota("Lulu", K.emPe(pos, lookAt))创建 Lulu。
- 镜头(
gerar_cena.py→studio/cena.lua):- 时间线基于真实语音时序,每句台词通过 MP3 包络线使用
K.falar。 - 表情跟随情感:
happy、smile、surprised、scared、scream、nervous、confident、angry、doubt、dizzy、squint、knockout以及她的标志性表情wink。 - 当 Lulu 改变位置时,使用硬切和
K.cortarPara。 - 摄像机移动必须在下一个切换前结束(
c.ate_corte)。
- 时间线基于真实语音时序,每句台词通过 MP3 包络线使用
- 自动审核与修复(必需):
K.auditar(noob)(碰撞检测)和K.auditarCamera(noob)(面部规则)必须最终报告total 0。她的头发、蝴蝶结和裙子属于软部件(Visual),不参与审核。然后,检查每个切换点周围的帧,包括从切换点前 0.05 秒到切换点后 0.1 秒内的每一帧(60 fps)。 - 编辑(
montar_edicao.py→roblox-video-editor渲染器,"entrega": "shorts"):- 英语卡拉 OK 字幕,每次显示一个想法。
- 语句块不以冠词或介词结尾;“no”、“not”和“never”显示为珊瑚色。
- 每个动作都配有音效。
- 切勿在效果进行中切断,也切勿在缩放结束前切断。
- 短小许可音乐,音量 -24 dB,低于语音。
- 最终审查:
revisar_legendas.py total 0,响度约 -14 LUFS,峰值低于 -1.5 dBTP,最终音频的 Whisper 转录为英语,并进行帧检查。 - 交付(
fazer_short.py PROJECT --so-conferir):最终的 MP4 文件加上publicacao.txt,包含英语标题、描述、标签、音乐致谢和语音致谢。
内容规则(儿童)
- 原创脚本。用户的参考资料仅为格式指南。
- 不得承诺真实的 Robux、不得包含链接、不得索要个人数据、不得有恐怖内容、不得有侮辱性语言或脏话。转折应保持轻松有趣。
- 不得使用第三方角色、标志或音乐。
- Lulu 友善、好奇且有趣。她可以失败并一笑置之,但绝不刻薄。
- 在不同视频之间变化场景、笑点和摄像机角度:AI 语音和系列化脚本可能被视为重复内容。