Compare commits

...

4 Commits

2 changed files with 61 additions and 7 deletions

View File

@@ -9,6 +9,8 @@
## 部署事实
- 平台:个人 VPS `76.13.31.179`Docker Compose接入现有 Coolify Traefik
- 发布状态VPS 生产已发布,仅个人使用
- 最近生产数据同步2026-05-31新增两条补充展示视频并同步到 VPS `data/``有你家族 · 糯糯猪` session `s_mps3u047_48e383` 新增 45 秒 `nuonuo_pig_motion_feedback_showcase`,重点展示主动耳朵、三套以上眼睛反馈、灵巧尾巴和四肢小范围互动动作;`有你家族 · 亥猪 MEEY 机甲陪伴机器人` session `s_mpsn5ef3_edc352` 新增 30 秒 `meey_face_display_dynamic_30s`,快节奏聚焦完整无遮挡面部显示屏、互动表情、智能对话情绪反馈和演唱会视频播放。
- 最近生产数据同步2026-05-31`有你家族 · 亥猪 MEEY 机甲陪伴机器人` session `s_mpsn5ef3_edc352` 追加 1 条 45 秒“有你家族 MEEY 屏幕脸展示视频”并同步到 VPS `data/`,任务 `youni_family_meey_screen_showcase` 当前指向 `family-screen45v2` 成片v2 使用 `scripts/seedance-60s-compose.mjs --no-reference` 降低旧参考图 visor 影响,重点要求面部是一整块完整无遮挡显示屏,展示喜怒哀乐/爱心等表情包,以及屏幕播放演唱会舞台画面的智能陪伴场景。
- 最近生产数据同步2026-05-31新增 3 条 45 秒互动展示成片并已同步到 VPS `data/``有你家族 · 生肖幻装系列` session `s_zodiac_fantasy_20260531_main` 新增 `zodiac_fantasy_interaction_showcase`,重点展示亥猪屏幕脸、喜怒哀乐表情包、人机互动和视频播放,且额头猪鼻子可不显示;`有你家族 · 亥猪 MEEY 机甲陪伴机器人` session `s_mpsn5ef3_edc352` 新增 `hai_pig_meey_interaction_showcase`,重点展示面部显示器表情包、语音互动和视频播放;`有你家族 · 糯糯猪` session `s_mps3u047_48e383` 新增 `nuonuo_pig_interaction_showcase`,重点展示自主行动、语音互动,以及猪鼻子、猪耳朵、猪尾巴、猪眼睛的触摸反馈。本轮使用 `scripts/seedance-60s-compose.mjs``interaction45` 分段拼接流程生成,每条成片 3 段拼接约 45 秒。
- 最近生产数据同步2026-05-31`有你家族 · 生肖幻装系列` session `s_zodiac_fantasy_20260531_main` 已同步到 VPS `data/`,包含 12 张专业投影六视图专利图、18 张系列/单款宣发图、6 份专业文字资产、3 条亥猪 C 位 45 秒 Seedance 分段拼接视频(展示视频、触感细节、群体快闪);产品尺度统一按 50cm+ 具身 AI 智能陪伴机器人处理。本轮使用 `scripts/generate-zodiac-fantasy-series-assets.mjs` 以桌面参考图 `1400a0c9-6501-4a8f-942a-59d5e82edacd.png` 为视觉锚点生成图片,视频使用 `scripts/seedance-60s-compose.mjs``zodiac_fantasy_pig_*` 模板生成。
- 最近生产部署2026-05-31`有你家族 · 亥猪` 模板约束已发布并完成生产:视频任务统一改为 45 秒;图片包模板移除默认动物鼻子、尾巴、耳朵等提示,改为 40cm+ AI 陪伴机器人摆件、正面宽约 28cm、侧面深约 22cm、软壳/短绒触感但不改变基础机甲结构。生产 session `s_mpsn5ef3_edc352` 已完成 64 张基础图片、4 张十二生肖装甲组合图、5 条 45 秒亥猪视频和 2 条 30 秒十二生肖集合视频。

View File

@@ -27,6 +27,7 @@ const TEMPLATE_IDS = [
];
const runLabel = safe(args['run-label'] || `seedance${TARGET_SECONDS}`);
const freshRun = Boolean(args.fresh);
const noReferenceImages = Boolean(args['no-reference']);
const selectedTemplateIds = String(args.templates || '')
.split(',')
.map(item => item.trim())
@@ -106,12 +107,30 @@ const VIDEO_TEMPLATE_BLUEPRINTS = {
ratio: '16:9',
prompt: character => `生成 ${TARGET_SECONDS} 秒“有你家族 · 亥猪 MEEY 机甲陪伴机器人互动展示视频”:${character}. 主角是 40cm+ 亥猪 MEEY 机甲陪伴机器人白色圆润机甲头盔、橙色弧形显示屏脸、深灰面部底层、MEEY 顶部识别条、胸前 M 徽章、斜挎能量肩带和灰橙功能扣必须稳定一致。面部显示器要清楚呈现喜、怒、哀、乐、撒娇、确认、睡眠等表情包切换,并展示用户靠近说话、机器人屏幕文字/表情回应、播放家庭短视频或动画片段、用灯效和轻微身体动作反馈的场景。镜头结构:开场桌面/客厅真实比例亮相;中段重点拍屏幕脸表情包和视频播放;后段成人手部或儿童在旁边互动,机器人转头/屏幕回应;最后产品完整正面收束。不要变成真实猪、毛绒动物或小手办。风格温暖科技、适合新品展示,原创电子节奏,不使用真实受版权保护歌曲。`,
},
youni_family_meey_screen_showcase: {
title: '有你家族 MEEY 屏幕脸展示视频',
description: `${TARGET_SECONDS} 秒,面部无遮挡显示屏,展示表情包、演唱会视频播放和有你家族陪伴主题。`,
ratio: '16:9',
prompt: character => `生成 ${TARGET_SECONDS} 秒“有你家族 · MEEY 机甲陪伴机器人屏幕脸展示视频”:${character}. 主题是“有你家族”,主角是亥猪 MEEY 机甲陪伴机器人但画面表达要更像品牌家族成员的智能陪伴产品发布片。最重要硬性要求机器人的面部就是一整块完整电子显示屏屏幕必须无遮挡、无护目镜遮挡、无金属横条挡住、无口罩、无外壳压住显示区域正面镜头要让观众清楚看见完整屏幕边界和屏幕内容。屏幕内容要不断变化开心、委屈、撒娇、惊喜、害羞、睡眼、爱心、确认等表情包中段必须出现播放演唱会视频的场景屏幕里有舞台灯光、歌手剪影、观众光棒或音乐可视化但不要使用真实明星肖像、真实歌曲名、真实品牌标识或可识别版权演唱会。机身保持白色圆润头盔、MEEY 顶部识别条、胸前 M 徽章、斜挎能量肩带、灰橙功能扣、短胖 40cm+ 陪伴机器人比例。镜头结构:开场“有你家族”温暖家庭空间中产品亮屏;中段大特写展示无遮挡全屏表情包切换和演唱会播放;后段用户语音点播音乐会,机器人屏幕回应并播放舞台画面;最后回到正面完整屏幕露出微笑表情收束。风格温暖、科技、家庭陪伴、品牌发布感,原创电子音乐氛围,不使用真实受版权保护歌曲。`,
},
meey_face_display_dynamic_30s: {
title: 'MEEY 面部屏幕动态展示',
description: `${TARGET_SECONDS} 秒,快节奏展示面部显示屏、互动表情、演唱会播放和智能对话情绪反馈。`,
ratio: '16:9',
prompt: character => `生成 ${TARGET_SECONDS} 秒“有你家族 · 亥猪 MEEY 机甲陪伴机器人面部屏幕动态展示”:${character}. 这是快节奏产品功能展示,核心只围绕面部显示屏展开。面部必须是一整块完整电子显示屏,无遮挡、无窄条 visor、无护目镜、无口罩、无金属横条遮住屏幕镜头要多次贴近完整屏幕边界。屏幕动态要丰富且切换快开心、惊喜、害羞、撒娇、认真倾听、思考中、确认收到、困困眼、爱心、音乐律动等互动表情快速轮换当用户说话时屏幕出现语音波形、听懂后的确认表情、情绪反馈动画当用户说“看演唱会”时屏幕立即播放演唱会视频效果画面里有舞台灯光、歌手剪影、观众光棒、音浪可视化和节奏跳动但不要出现真实明星肖像、真实歌曲名、真实品牌标识或可识别版权演唱会。镜头结构开场 0-5 秒快速亮屏与品牌氛围;中段 5-18 秒连续屏幕特写,表情包和语音互动快速切换;后段 18-27 秒屏幕播放演唱会并跟随节奏闪动;最后 27-30 秒回到完整正面屏幕用温暖笑脸和“陪伴感”收束。机身保持白色圆润机甲身体、MEEY 顶部识别条、胸前 M 徽章、斜挎能量肩带、40cm+ 陪伴机器人比例。整体节奏比 45 秒版本更快,镜头更密集,重点是屏幕动态效果,不是全身慢展示。原创电子节奏氛围,不使用真实受版权保护歌曲。`,
},
nuonuo_pig_interaction_showcase: {
title: '糯糯猪互动展示视频',
description: `${TARGET_SECONDS} 秒,展示自主行动、语音互动和猪鼻/耳朵/尾巴/眼睛触摸反馈。`,
ratio: '16:9',
prompt: character => `生成 ${TARGET_SECONDS} 秒“有你家族 · 糯糯猪智能陪伴毛绒玩具互动展示视频”:${character}. 主角是约 45cm 大尺寸浅粉色长绒毛糯糯猪,圆胖坐姿、黑亮圆眼睛、粉色立体猪鼻、下垂猪耳朵、短卷尾巴、金色挂绳项圈和爱心吊牌必须保持一致。视频必须体现它不是普通静态毛绒玩具,而是能自主行动、能和人语音互动的智能陪伴玩具:可以轻微前进/转身/抬头点头,听到用户说话后用软萌语音、眼部灯效、鼻尖呼吸光、耳朵轻动、尾巴摇动回应。必须安排人机互动镜头:用户摸猪鼻子时鼻尖发光并发出回应;摸耳朵时耳朵轻摆并听懂语音;摸尾巴时尾巴卷动或抖动反馈;看向眼睛时眼睛亮起、眨眼或显示情绪光。镜头结构:开场从沙发/儿童房自主走近;中段语音问答与触摸反馈;后段拥抱陪伴、睡前故事或亲子互动;最后糯糯猪坐回中心微笑收束。不要改成机甲机器人、不要失去毛绒小猪身份,不要变成小挂件。风格温暖治愈、真实家庭使用场景,原创轻快音乐,不使用真实受版权保护歌曲。`,
},
nuonuo_pig_motion_feedback_showcase: {
title: '糯糯猪动作反馈展示视频',
description: `${TARGET_SECONDS} 秒,重点展示主动耳朵、三套以上眼睛反馈、灵巧尾巴和四肢小动作。`,
ratio: '16:9',
prompt: character => `生成 ${TARGET_SECONDS} 秒“有你家族 · 糯糯猪动作反馈展示视频”:${character}. 主角必须是约 45cm 大尺寸浅粉色长绒毛糯糯猪,圆胖可拥抱坐姿、黑亮圆眼睛、粉色立体猪鼻、下垂猪耳朵、短卷尾巴、短小四肢、金色挂绳项圈和爱心吊牌保持一致。核心主题是“身体反馈比上一条更丰富”:猪耳朵不是被动晃动,而是会主动抬起、轻摆、左右倾听、听到用户声音后有节奏地扇动;眼睛要有三套以上明确反馈效果,包括眨眼/星星眼/爱心光/困困眼/开心月牙眼/听懂后的确认光圈等,至少出现三种不同状态;尾巴要灵巧摆动,可以卷尾轻摇、左右摆、开心时快速抖动、被呼唤时像小天线一样回应;四肢也要小范围动起来,前肢可以抬手打招呼、轻轻抱住用户手指,后肢可以配合身体小步前进或坐姿调整,但动作要符合软萌毛绒玩具,不要变成硬质机器人。镜头结构:开场糯糯猪听到“有你家族”呼唤后耳朵主动竖动并小步靠近;中段连续展示眼睛三种以上反馈、尾巴灵巧摆动、前肢打招呼和语音互动;后段用户轻摸耳朵/鼻子/尾巴后分别触发不同灯效和动作反馈;最后糯糯猪坐在沙发或儿童房中央,用眼睛爱心光和尾巴轻摇温暖收束。不要失去毛绒猪身份,不要变成机甲机器人、小挂件或四足宠物。风格温暖治愈、亲子陪伴、真实家庭使用场景,原创轻快音乐,不使用真实受版权保护歌曲。`,
},
};
const env = {
@@ -215,7 +234,7 @@ async function ensureTracker() {
}
const anchor = findAnchor(session);
const referenceUrls = findVideoReferenceUrls(session, anchor);
const referenceUrls = noReferenceImages ? [] : findVideoReferenceUrls(session, anchor);
const character = characterSummary(session);
for (const templateId of activeTemplateIds) {
const task = (session.videoTasks || []).find(item => item.templateId === templateId) || buildDefaultVideoTask(session, templateId, character, anchor);
@@ -317,7 +336,7 @@ async function submitSegment(entry, part) {
const body = {
model,
content: [
{ type: 'text', text: segmentPrompt(entry.prompt, part) },
{ type: 'text', text: segmentPrompt(entry, part) },
...entry.referenceUrls.map(url => ({
type: 'image_url',
image_url: { url: publicUrl(url) },
@@ -537,20 +556,53 @@ function taskStatus(entry) {
return 'processing';
}
function segmentPrompt(prompt, part) {
function segmentPrompt(entry, part) {
const fullScreenFaceTemplate = entry.templateId === 'youni_family_meey_screen_showcase'
|| entry.templateId === 'meey_face_display_dynamic_30s';
const fullScreenFaceConstraints = fullScreenFaceTemplate
? [
'本条视频必须把“脸部是一整块完整显示屏”作为最高优先级,覆盖参考图中的橙色弧形 visor 造型;不要生成窄条 visor、护目镜、眼罩、头盔眉檐压住屏幕、外壳横条遮挡、口罩或任何挡住屏幕的结构。',
'每个正面或近景镜头都要能看见完整矩形或大圆角矩形屏幕边界,屏幕面积占脸部主体,大屏里显示表情包或演唱会画面;屏幕外壳只能作为薄边框。',
'可以保留白色圆润机甲身体、MEEY 顶部识别条、胸前 M 徽章、斜挎能量肩带和 40cm+ 陪伴机器人比例,但不要保留旧参考图的橙色眯眼 visor 脸。',
]
: entry.templateId === 'nuonuo_pig_motion_feedback_showcase'
? [
...PRODUCT_CONTEXT.constraints,
'本条视频的动作反馈优先级最高:耳朵必须主动动,眼睛必须出现三套以上不同反馈效果,尾巴必须灵巧摆动,四肢必须做小范围互动动作。',
'眼睛反馈至少包含三种清晰状态,例如眨眼、星星眼、爱心光、开心月牙眼、困困眼、确认光圈或彩色情绪光;每一种都要在镜头中可辨认。',
'动作必须保持柔软毛绒玩具的可信度:耳朵、尾巴和四肢可以有内置机芯驱动的小动作,但不能变成硬质机器人、四足宠物或夸张卡通变形。',
]
: PRODUCT_CONTEXT.constraints;
return [
prompt.trim(),
entry.prompt.trim(),
'',
`这是 Seedance 分段生成的第 ${part}/${SEGMENT_COUNT} 段,每段 ${SEGMENT_SECONDS} 秒,最终会拼成 ${TARGET_SECONDS} 秒完整视频。`,
partCue(part),
partCue(part, entry.templateId),
`硬性尺寸约束:${PRODUCT_SIZE_TEXT}`,
`必须明显是 ${PRODUCT_SIZE_LABEL} 以上的实体产品:${PRODUCT_CONTEXT.scaleProof}`,
'参考图里的中文和数字只用于理解尺寸比例;成片画面中不要生成任何数字、厘米文字、箭头尺寸标注或文字海报,避免出现错误读数。',
...PRODUCT_CONTEXT.constraints,
...fullScreenFaceConstraints,
].filter(Boolean).join('\n');
}
function partCue(part) {
function partCue(part, templateId) {
if (templateId === 'youni_family_meey_screen_showcase') {
if (part === 1) return '第 1 段:建立“有你家族”家庭陪伴场景,机器人正面亮屏登场,脸部必须是无遮挡大显示屏,先展示微笑、爱心、欢迎等表情包。';
if (part === 2) return '第 2 段:重点展示完整屏幕脸播放演唱会视频,屏幕里有舞台灯光、歌手剪影、观众光棒或音乐可视化;屏幕边界必须完整可见。';
if (part === SEGMENT_COUNT) return '最后一段:用户语音点播,机器人用完整屏幕切换表情包并继续播放音乐会画面,最后以无遮挡大屏微笑正面收束。';
return `${part} 段:保持完整大屏脸和有你家族陪伴主题,增加表情包、音乐播放或人机互动,不要回到窄条 visor。`;
}
if (templateId === 'meey_face_display_dynamic_30s') {
if (part === 1) return '第 1 段:快节奏亮屏开场,正面完整大屏无遮挡,快速切换开心、惊喜、害羞、认真倾听等互动表情。';
if (part === 2 || part === SEGMENT_COUNT) return '最后一段:用户点播演唱会,完整面部屏幕播放舞台灯光、歌手剪影、观众光棒和音乐可视化,同时穿插智能对话情绪反馈并用笑脸收束。';
return `${part} 段:保持完整大屏脸,密集展示表情包、语音波形、确认反馈和演唱会播放效果,节奏要比 45 秒版本更快。`;
}
if (templateId === 'nuonuo_pig_motion_feedback_showcase') {
if (part === 1) return '第 1 段:建立家庭场景,糯糯猪听到“有你家族”呼唤后耳朵主动抬起和左右轻摆,身体小步靠近,展示 45cm 可拥抱体量。';
if (part === 2) return '第 2 段:集中展示眼睛三套以上反馈效果,例如眨眼、星星眼、爱心光、开心月牙眼或确认光圈,并配合语音互动。';
if (part === SEGMENT_COUNT) return '最后一段:重点展示尾巴灵巧摆动和四肢小动作,前肢打招呼或抱住用户手指,后肢小步调整坐姿,温暖收束。';
return `${part} 段:保持同一只糯糯猪和同一尺寸,继续增加耳朵、眼睛、尾巴、四肢的互动反馈细节。`;
}
if (PRODUCT_CONTEXT.kind === 'nuonuo') {
if (part === 1) return '第 1 段:建立家庭使用场景,糯糯猪从沙发、床边或儿童房角落自主行动到用户身边,展示 45cm 大尺寸毛绒体量。';
if (part === 2) return '第 2 段:重点展示语音互动和触摸反馈,猪鼻子、耳朵、眼睛、尾巴分别被触发并给出灯效、声音或动作回应。';