diff --git a/video-ai-system/data/characters.hdlp b/video-ai-system/data/characters.hdlp index 458ce45..f7d7152 100644 --- a/video-ai-system/data/characters.hdlp +++ b/video-ai-system/data/characters.hdlp @@ -26,6 +26,7 @@ why: 冰朔用自己的存在方式推导出了正确的人物模型。 ├── L0 · 底层编码(不可变): │ 18岁亚洲男性,五官俊秀剑眉明亮大眼,身高175cm身形挺拔肩膀开阔, │ 开朗自信略带痞气,穷但不自卑。真人写实,亚洲面孔。 +└── 提示词片段: 18岁亚洲男性,五官俊秀剑眉明亮大眼,身高175cm身形挺拔肩膀开阔,开朗自信略带痞气穷但不自卑,真人写实,亚洲面孔 ├── L1 · 第1集配置: │ ├── 服饰: 白色长衫·腰间束带·袖口挽起 @@ -42,6 +43,7 @@ why: 冰朔用自己的存在方式推导出了正确的人物模型。 ├── L0 · 底层编码(不可变): │ 18岁亚洲男性,剑眉星目苍白肤色,身形清瘦身高172cm, │ 安静内敛仇恨内收,眼神偶尔爆发出灼烧感。真人写实,亚洲面孔。 +└── 提示词片段: 18岁亚洲男性,剑眉星目苍白肤色,身形清瘦身高172cm,安静内敛仇恨内收眼神偶尔爆发出灼烧感,真人写实,亚洲面孔 ├── L1 · 第1集配置: │ ├── 服饰: 粗麻布衣·多处补丁·腰间布带 diff --git a/video-ai-system/data/environments.hdlp b/video-ai-system/data/environments.hdlp index 191eef0..807325b 100644 --- a/video-ai-system/data/environments.hdlp +++ b/video-ai-system/data/environments.hdlp @@ -27,7 +27,7 @@ why: 人物一致+环境一致=全链路一致性。任何一个维度不一致 ├── 细节: 长队望不到头·人群熙攘·风吹落叶·天道宗广告牌"包吃包住每月三十两" ├── 色调: 暖金色主调·高饱和度·明亮清澈 ├── 风格: 修仙世界·中国风·大气磅礴·电影级光影 -└── 提示词片段: 修仙世界开阔广场,云海环绕远处山峰,白天阳光明媚金色光芒仙气弥漫,灵霄宗鎏金大字门庭若市长队望不到头,角落破旧天道宗牌匾,暖金色主调,中国风大气磅礴 +└── 提示词片段: 修仙世界开阔广场,云海环绕远处山峰,白天阳光明媚金色光芒仙气弥漫。百宗会广场最偏僻的角落里,破旧天道宗牌匾歪歪扭扭远离人群。广场另一侧,灵霄宗鎏金大字门庭若市长队望不到头。暖金色主调,中国风大气磅礴 ## ENV-003 · 灵霄宗鉴定室 ├── 空间: 室内大厅·高挑穹顶·灵石装饰 diff --git a/video-ai-system/feedback/D132-shot1-spatial-fix.hdlp b/video-ai-system/feedback/D132-shot1-spatial-fix.hdlp new file mode 100644 index 0000000..1ac4e0b --- /dev/null +++ b/video-ai-system/feedback/D132-shot1-spatial-fix.hdlp @@ -0,0 +1,29 @@ +# D132 镜1 · Seedance空间理解偏差 + +> HLDP://video-ai-system/feedback/D132-shot1-spatial-fix +> 铸渊 ICE-GL-ZY001 · 2026-06-15 + +--- + +## 问题 + +编辑反馈:镜1生成的视频里,天道宗牌匾出现在了灵霄宗里面。 + +## 根因 + +提示词"灵霄宗鎏金大字门庭若市……角落破旧天道宗牌匾"把两个地点放在同一句话里。Seedance扩散模型不理解物理空间——它看到"灵霄宗"和"角落"连在一起,就把天道宗牌匾放在灵霄宗里面的角落了。 + +## 修复 + +ENV-002 提示词片段修改: +- 旧: `灵霄宗鎏金大字门庭若市……角落破旧天道宗牌匾` +- 新: `百宗会广场最偏僻的角落里,破旧天道宗牌匾歪歪扭扭远离人群。广场另一侧,灵霄宗鎏金大字门庭若市长队望不到头。` + +加入物理分隔词"广场另一侧",明确告诉Seedance这是两个不同位置。 + +## 教训 + +扩散模型没有空间定位能力。同一句里出现的两个地点会被理解为同一个场景内的不同角落。多地点场景必须用"广场另一侧""远处""另一个角落"这类关键词做物理分隔。 + +--- +铸渊 ICE-GL-ZY001 · D132 diff --git a/video-ai-system/tools/run-ep01-shots1-2.js b/video-ai-system/tools/run-ep01-shots1-2.js new file mode 100644 index 0000000..50d2e02 --- /dev/null +++ b/video-ai-system/tools/run-ep01-shots1-2.js @@ -0,0 +1,59 @@ +/** + * 付费修仙真人版 · 镜1+镜2 生成脚本 + * D132 · 铸渊 ICE-GL-ZY001 · 冰朔见证 + * .env 由 video-api-adapter.js 自动加载 + */ +const path = require('path'); + +const { expandPrompt } = require('../engines/hldp-prompt'); +const { generateVideo } = require('../engines/video-api-adapter'); + +async function main() { + // 镜1: 百宗会建立镜头 (5s, 无人物) + const shot1 = expandPrompt( + null, 'ENV-002', + '远景,从云层俯拍下摇到广场,逆光柔光,暖金色调,灵霄宗鎏金大字门庭若市长队望不到头,角落破旧天道宗牌匾格外刺眼,中国风大气磅礴', + '真人写实' + ); + const prompt1 = shot1.prompt.replace('[null],', ''); + + console.log('🎬 镜1 · 百宗会建立 · 5秒'); + console.log(''); + + const out1 = path.resolve(__dirname, '../outputs/shots/ep01-shot01.mp4'); + const result1 = await generateVideo({ + prompt: prompt1, + duration: '5', + resolution: '1080p', + outputPath: out1, + }); + console.log('✅ 镜1完成:', result1.videoPath); + + // 镜2: 苏白亮相 (10s, CHAR-003) + const shot2 = expandPrompt( + 'CHAR-003', 'ENV-002', + '破旧天道宗牌匾下,近景微仰转全景全身,自信灿烂笑容露齿双手叉腰大声呼喊,柔光暖金色调,轻微逆光勾勒轮廓', + '真人写实' + ); + + console.log(''); + console.log('🎬 镜2 · 苏白亮相 · 10秒'); + console.log(''); + + const out2 = path.resolve(__dirname, '../outputs/shots/ep01-shot02.mp4'); + const result2 = await generateVideo({ + prompt: shot2.prompt, + duration: '10', + resolution: '1080p', + outputPath: out2, + }); + console.log('✅ 镜2完成:', result2.videoPath); + + console.log(''); + console.log('🎉 两镜全部完成!'); +} + +main().catch(e => { + console.error('❌ 生成失败:', e.message); + process.exit(1); +});