From 69687116e79ddece88b9835f505e6bc229a8367c Mon Sep 17 00:00:00 2001 From: kang Date: Sun, 31 May 2026 19:33:24 +0800 Subject: [PATCH] feat: add MEEY screen face video template --- scripts/seedance-60s-compose.mjs | 34 +++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/scripts/seedance-60s-compose.mjs b/scripts/seedance-60s-compose.mjs index da2eeee..c4a26f1 100644 --- a/scripts/seedance-60s-compose.mjs +++ b/scripts/seedance-60s-compose.mjs @@ -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,6 +107,12 @@ 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+ 陪伴机器人比例。镜头结构:开场“有你家族”温暖家庭空间中产品亮屏;中段大特写展示无遮挡全屏表情包切换和演唱会播放;后段用户语音点播音乐会,机器人屏幕回应并播放舞台画面;最后回到正面完整屏幕露出微笑表情收束。风格温暖、科技、家庭陪伴、品牌发布感,原创电子音乐氛围,不使用真实受版权保护歌曲。`, + }, nuonuo_pig_interaction_showcase: { title: '糯糯猪互动展示视频', description: `${TARGET_SECONDS} 秒,展示自主行动、语音互动和猪鼻/耳朵/尾巴/眼睛触摸反馈。`, @@ -215,7 +222,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 +324,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 +544,33 @@ function taskStatus(entry) { return 'processing'; } -function segmentPrompt(prompt, part) { +function segmentPrompt(entry, part) { + const fullScreenFaceConstraints = entry.templateId === 'youni_family_meey_screen_showcase' + ? [ + '本条视频必须把“脸部是一整块完整显示屏”作为最高优先级,覆盖参考图中的橙色弧形 visor 造型;不要生成窄条 visor、护目镜、眼罩、头盔眉檐压住屏幕、外壳横条遮挡、口罩或任何挡住屏幕的结构。', + '每个正面或近景镜头都要能看见完整矩形或大圆角矩形屏幕边界,屏幕面积占脸部主体,大屏里显示表情包或演唱会画面;屏幕外壳只能作为薄边框。', + '可以保留白色圆润机甲身体、MEEY 顶部识别条、胸前 M 徽章、斜挎能量肩带和 40cm+ 陪伴机器人比例,但不要保留旧参考图的橙色眯眼 visor 脸。', + ] + : 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 (PRODUCT_CONTEXT.kind === 'nuonuo') { if (part === 1) return '第 1 段:建立家庭使用场景,糯糯猪从沙发、床边或儿童房角落自主行动到用户身边,展示 45cm 大尺寸毛绒体量。'; if (part === 2) return '第 2 段:重点展示语音互动和触摸反馈,猪鼻子、耳朵、眼睛、尾巴分别被触发并给出灯效、声音或动作回应。';