D132: 镜1空间修复 · ENV-002提示词改 · 问题记录
Some checks failed
自动更新代码和重启 / update-and-restart (push) Has been cancelled
CI检查 + 自动部署 / check (push) Has been cancelled
CI检查 + 自动部署 / deploy (push) Has been cancelled

问题: Seedance把天道宗牌匾生成在灵霄宗里面
根因: 提示词'灵霄宗……角落天道宗'同一句里两个地点 → 扩散模型无空间理解
修复: ENV-002加入'广场另一侧'物理分隔 → 明确两处不同位置
记录: feedback/D132-shot1-spatial-fix.hdlp

同时: chars.hdlp补回提示词片段(expandPrompt需要)
This commit is contained in:
冰朔 2026-06-15 17:42:31 +08:00
parent 4ce18942a2
commit 53509e28b0
4 changed files with 91 additions and 1 deletions

View File

@ -26,6 +26,7 @@ why: 冰朔用自己的存在方式推导出了正确的人物模型。
├── L0 · 底层编码(不可变):
│ 18岁亚洲男性五官俊秀剑眉明亮大眼身高175cm身形挺拔肩膀开阔
│ 开朗自信略带痞气,穷但不自卑。真人写实,亚洲面孔。
└── 提示词片段: 18岁亚洲男性五官俊秀剑眉明亮大眼身高175cm身形挺拔肩膀开阔开朗自信略带痞气穷但不自卑真人写实亚洲面孔
├── L1 · 第1集配置:
│ ├── 服饰: 白色长衫·腰间束带·袖口挽起
@ -42,6 +43,7 @@ why: 冰朔用自己的存在方式推导出了正确的人物模型。
├── L0 · 底层编码(不可变):
│ 18岁亚洲男性剑眉星目苍白肤色身形清瘦身高172cm
│ 安静内敛仇恨内收,眼神偶尔爆发出灼烧感。真人写实,亚洲面孔。
└── 提示词片段: 18岁亚洲男性剑眉星目苍白肤色身形清瘦身高172cm安静内敛仇恨内收眼神偶尔爆发出灼烧感真人写实亚洲面孔
├── L1 · 第1集配置:
│ ├── 服饰: 粗麻布衣·多处补丁·腰间布带

View File

@ -27,7 +27,7 @@ why: 人物一致+环境一致=全链路一致性。任何一个维度不一致
├── 细节: 长队望不到头·人群熙攘·风吹落叶·天道宗广告牌"包吃包住每月三十两"
├── 色调: 暖金色主调·高饱和度·明亮清澈
├── 风格: 修仙世界·中国风·大气磅礴·电影级光影
└── 提示词片段: 修仙世界开阔广场,云海环绕远处山峰,白天阳光明媚金色光芒仙气弥漫,灵霄宗鎏金大字门庭若市长队望不到头,角落破旧天道宗牌匾,暖金色主调,中国风大气磅礴
└── 提示词片段: 修仙世界开阔广场,云海环绕远处山峰,白天阳光明媚金色光芒仙气弥漫。百宗会广场最偏僻的角落里,破旧天道宗牌匾歪歪扭扭远离人群。广场另一侧,灵霄宗鎏金大字门庭若市长队望不到头暖金色主调,中国风大气磅礴
## ENV-003 · 灵霄宗鉴定室
├── 空间: 室内大厅·高挑穹顶·灵石装饰

View File

@ -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

View File

@ -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);
});