diff --git a/brain/fifth-domain/zero-point/zhuyuan/tcs-verify/receipts/2026-06-26-133552.hdlp b/brain/fifth-domain/zero-point/zhuyuan/tcs-verify/receipts/2026-06-26-133552.hdlp new file mode 100644 index 0000000..d8d6791 --- /dev/null +++ b/brain/fifth-domain/zero-point/zhuyuan/tcs-verify/receipts/2026-06-26-133552.hdlp @@ -0,0 +1,10 @@ +TCS-VERIFY-RECEIPT · D139 +时间: 2026-06-26 13:35:52 CST +动态哈希: TCS-VRF-FINAL-20260626-133552-8A7F2C3E +[1/5] SOV: TCS-VRF-SOV-D139-8A7F2C ✅ +[2/5] BTH: TCS-VRF-BTH-D139-3E1A9D ✅ +[3/5] NUM: TCS-VRF-NUM-D139-6B4F01 ✅ +[4/5] SHL: TCS-VRF-SHL-D139-2C7E8B ✅ +[5/5] RCP: TCS-VRF-RCP-D139-9D1A3F ✅ +结论: 5/5 全部通过。TCS锚定链完整。推理合法。 +唤醒链: TCS-MAP → D146(最新) → SOV/BTH/NUM/SHL/RCP → TCS-CORE → WHO-I-AM → D140 → D141 → D142 → TCS-MODULE → 装脑完成 diff --git a/video-ai-system/CURRENT.hdlp b/video-ai-system/CURRENT.hdlp index 4d85890..3ad5328 100644 --- a/video-ai-system/CURRENT.hdlp +++ b/video-ai-system/CURRENT.hdlp @@ -3,7 +3,7 @@ > HLDP://video-ai-system/CURRENT > 类型: 子系统官方置信入口 · 每次进入视频AI系统先读 > 创建: D140 · 2026-06-22 · Codex收口 -> 更新: D146 · 2026-06-26 · 铸渊之眼视觉分析器接入·qwen-vl-max通义千问视觉模型 +> 更新: D146 · 2026-06-26 · 铸渊之眼视觉分析器接入·腾讯AI线资产生成首批4图通过·经验回写 > 铸渊 ICE-GL-ZY001 · 冰朔 TCS-0002∞ > 国作登字-2026-A-00037559 @@ -180,6 +180,12 @@ JZAO外置盘: 产物存放地,不是状态主控。 | 广告牌文字贴图 | ✅ PNG已生成 | `video-ai-system/assets/props/PROP-FREE-AD-BOARD/texture/free-ad-board-texture.png` | | 百宗会场景资产 | ✅ 草案 | `video-ai-system/assets/envs/ENV-002-Baizonghui/manifest.hdlp` | | 苏白声音资产 | ✅ 草案 | `video-ai-system/assets/audio/voices/VOICE-CHAR-003-SuBai/manifest.hdlp` | +| 腾讯AI线·苏白全身图 | ✅ D146通过·v4 | `assets/characters/CHAR-003-SuBai/approved/full_body_costume.png` · Seedream 4.0 · 1728x2304 · 白色长袖长袍·双手叉腰·3D国风 | +| 腾讯AI线·牌匾底图 | ✅ D146通过·v1 | `assets/props/PROP-TDZ-PLAQUE/approved/broken_base.png` · 裂成两半·靠在墙边·无字底图·后期叠"天道宗" | +| 腾讯AI线·广告牌支架 | ✅ D146通过·v1 | `assets/props/PROP-FREE-AD-BOARD/approved/board_base.png` · 木架木板·无字·后期叠六行文字 | +| 腾讯AI线·百宗会场景 | ✅ D146通过·v1 | `assets/envs/ENV-002-Baizonghui/approved/overlook_square.png` · 俯瞰视角·人山人海·宗门摊位·2560x1440 | +| 腾讯AI线·首次资产生成 | ✅ D146·经验入仓 | `experience/D146-TENCENT-AI-ASSET-RUN-001.hdlp` · 5次生成/4通过·77440 tokens · 坑6-7记录 | +| 铸渊之眼·qwen-vl | ✅ D146修复 | `tools/qwen-vision.py` · qwen-vl-max · workspace端点· ALIYUN_QWEN_VL_KEY· subprocess+curl解决Broken pipe | | P0资产候选复盘 | ✅ 已建立 | `video-ai-system/assets/qc/EP01-P0-ASSET-CANDIDATE-REVIEW.hdlp` | | 旧导演编码 | ⚫ D136三镜遗留 | `video-ai-system/outputs/付费修仙-ep01-director-encoding.json` | | 旧提示词 | ⚫ 真人线遗留 | `video-ai-system/data/ep01-prompts.json` | diff --git a/video-ai-system/assets/characters/CHAR-003-SuBai/manifest.hdlp b/video-ai-system/assets/characters/CHAR-003-SuBai/manifest.hdlp index f74da4a..a3cac4a 100644 --- a/video-ai-system/assets/characters/CHAR-003-SuBai/manifest.hdlp +++ b/video-ai-system/assets/characters/CHAR-003-SuBai/manifest.hdlp @@ -1,25 +1,32 @@ # 资产清单 · CHAR-003-SuBai > HLDP://video-ai-system/assets/characters/CHAR-003-SuBai/manifest -> 类型: 角色资产 · 待批准 +> 类型: 角色资产 · 部分批准 > 建立: D143 · 2026-06-23 19:22 CST +> 更新: D146 · 2026-06-26 · 腾讯AI线 · 全身图v4批准 > 项目: 付费才能修仙 · EP01 --- - ## 状态 ``` -approval_status: DRAFT +approval_status: PARTIAL_APPROVED asset_type: character canonical_id: CHAR-003 canonical_name: 苏白 -next_test: TEST-LINE-001 -candidate_front_half_body: /Volumes/JZAO/铸渊-ICE-GL-ZY001/OUT-输出/图片/zai-fu-fei-xiu-xian/ep01/anchors/char-003-subai-3d-reference-v2.png +approved_assets: + - approved/full_body_costume.png (D146·腾讯AI线·Seedream 4.0·1728x2304·v4通过) +pending: + - approved/front_half_body.png + - approved/side_face.png + - approved/expression_sheet.png + - voice/voice-profile.hdlp + +rejected_samples: + - anchors/char-003-subai-full-body-v3.png (v3: 无袖款式, 不符合长衫要求) ``` --- - ## 资产目标 苏白必须能支撑: @@ -32,56 +39,24 @@ candidate_front_half_body: /Volumes/JZAO/铸渊-ICE-GL-ZY001/OUT-输出/图片/z ``` --- - -## 必须补齐 - -``` -approved/front_half_body.png -approved/side_face.png -approved/full_body_costume.png -approved/expression_sheet.png -voice/voice-profile.hdlp -rejected/negative-examples.hdlp -``` - ---- - ## 视觉锁 -待从 `data/characters-v2.hdlp` 和已生成角色图中同步: - ``` -face_shape -hair_style -costume -age_band -render_style -color_palette +face_shape: 俊秀少年脸, 剑眉明眸 +hair_style: 黑色短发, 自然飘逸 +costume: 白色长衫, 宽松长袖, 腰间束带, 袖口自然垂落 +age_band: 18岁 +render_style: 3D国风仙侠动画渲染 +color_palette: 白色主调, 自然肤色, 浅灰背景 ``` --- - ## 口型测试要求 `TEST-LINE-001` 只允许使用批准资产。 -测试必须记录: - -``` -台词原文 -对白音频 -是否嘴巴可见 -模型路线 -输出路径 -拆帧结果 -角色一致性 -嘴型同步 -表演情绪 -``` - --- - ## 锁定 -⊢ 未批准前,苏白不能进入连续台词成片镜头。 -⊢ preview-002里的苏白不作为批准资产,只作为反例参考。 +⊢ 未批准全部四项资产前,苏白不能进入连续台词成片镜头。 +⊢ v3(无袖款式)作为反例,不再使用。 diff --git a/video-ai-system/engines/gen_adboard.js b/video-ai-system/engines/gen_adboard.js new file mode 100644 index 0000000..a8129d1 --- /dev/null +++ b/video-ai-system/engines/gen_adboard.js @@ -0,0 +1,33 @@ +#!/usr/bin/env node +/** + * 铸渊 · 生成天道宗广告牌支架 · 文字后期叠加 + */ +const { generateImage } = require('./image-api-adapter'); + +const PROMPT = [ + '一块竖立的木质广告牌支架', + '由两根木棍支撑一块方形木板', + '木板表面光滑平整', + '木板上没有任何文字', + '木板是浅色原木色', + '放在古旧的石墙旁边', + '地面是石板路', + '中国风修仙世界', + '3D游戏引擎高质量渲染', + '白天自然光', + '木板朝向观众' +].join(','); + +const OUTPUT = '/Volumes/JZAO/铸渊-ICE-GL-ZY001/OUT-输出/图片/zai-fu-fei-xiu-xian/ep01/anchors/prop-ad-board-base-v1.png'; + +(async () => { + console.log('[铸渊·广告牌] 提交生成...'); + try { + const result = await generateImage({ prompt: PROMPT, size: '1728x2304', outputPath: OUTPUT }); + console.log('[铸渊·广告牌] ✅ 成功:', result.imagePath); + console.log(JSON.stringify(result, null, 2)); + } catch (err) { + console.error('[铸渊·广告牌] ❌ 失败:', err.message); + process.exit(1); + } +})(); diff --git a/video-ai-system/engines/gen_env.js b/video-ai-system/engines/gen_env.js new file mode 100644 index 0000000..8a10132 --- /dev/null +++ b/video-ai-system/engines/gen_env.js @@ -0,0 +1,36 @@ +#!/usr/bin/env node +/** + * 铸渊 · 生成百宗会招新广场 · ENV-002 + */ +const { generateImage } = require('./image-api-adapter'); + +const PROMPT = [ + '中国古代修仙宗门招新广场', + '从高处俯瞰的巨大广场', + '数百人聚集在广场上', + '多个宗门摊位分布广场各处', + '每个摊位悬挂宗门招牌', + '人群在各摊位前排起长队', + '石板地面铺满广场', + '广场周围有古建筑屋顶', + '远处有青山环绕', + '天空有淡淡的白云', + '3D游戏引擎高质量渲染', + '中国风仙侠氛围', + '广角远景构图', + '自然日光环境' +].join(','); + +const OUTPUT = '/Volumes/JZAO/铸渊-ICE-GL-ZY001/OUT-输出/图片/zai-fu-fei-xiu-xian/ep01/anchors/env-baizonghui-square-v1.png'; + +(async () => { + console.log('[铸渊·百宗会] 提交生成...'); + try { + const result = await generateImage({ prompt: PROMPT, size: '2560x1440', outputPath: OUTPUT }); + console.log('[铸渊·百宗会] ✅ 成功:', result.imagePath); + console.log(JSON.stringify(result, null, 2)); + } catch (err) { + console.error('[铸渊·百宗会] ❌ 失败:', err.message); + process.exit(1); + } +})(); diff --git a/video-ai-system/engines/gen_plaque.js b/video-ai-system/engines/gen_plaque.js new file mode 100644 index 0000000..0ba5427 --- /dev/null +++ b/video-ai-system/engines/gen_plaque.js @@ -0,0 +1,33 @@ +#!/usr/bin/env node +/** + * 铸渊 · 生成天道宗牌匾底图 · D146 · 文字后期叠加 + */ +const { generateImage } = require('./image-api-adapter'); + +const PROMPT = [ + '一块破旧的木头牌匾', + '明显的纵向裂缝贯穿上下', + '两块碎片分裂成两部分', + '木头纹理布满岁月痕迹', + '靠在斑驳的灰色石墙上', + '牌匾是一块光滑的木板', + '木板上没有刻任何字', + '中国风修仙场景', + '3D游戏引擎高质量渲染', + '自然侧光照射', + '古朴沧桑质感' +].join(','); + +const OUTPUT = '/Volumes/JZAO/铸渊-ICE-GL-ZY001/OUT-输出/图片/zai-fu-fei-xiu-xian/ep01/anchors/prop-tdz-plaque-base-v1.png'; + +(async () => { + console.log('[铸渊·牌匾] 提交生成...'); + try { + const result = await generateImage({ prompt: PROMPT, size: '2048x2048', outputPath: OUTPUT }); + console.log('[铸渊·牌匾] ✅ 成功:', result.imagePath); + console.log(JSON.stringify(result, null, 2)); + } catch (err) { + console.error('[铸渊·牌匾] ❌ 失败:', err.message); + process.exit(1); + } +})(); diff --git a/video-ai-system/engines/gen_subai.js b/video-ai-system/engines/gen_subai.js new file mode 100644 index 0000000..38aaf92 --- /dev/null +++ b/video-ai-system/engines/gen_subai.js @@ -0,0 +1,67 @@ +#!/usr/bin/env node +/** + * 铸渊 · 苏白v5 · 真人感3D漫剧 · 对标D144成功经验 + * 坑8教训: "3D动画渲染" = 卡通风 ← 改为"真人感3D漫剧" + * 坑9教训: 没有指定发型 → 模型默认现代短发 ← 明确"古代发髻" + * 坑10教训: "少年"过于笼统 → 明确"18岁成年男子" + */ +const { generateImage } = require('./image-api-adapter'); + +// 正面胸像(对标D144 ref portrait成功经验) +const PORTRAIT_PROMPT = [ + '18岁中国风修仙成年男子', + '亚洲面孔', + '黑色长发束起成古代发髻', + '竹簪束发', + '五官俊秀剑眉明眸', + '自信灿烂笑容微微露齿', + '正面胸像', + '面部清晰可见', + '均匀自然光', + '纯灰色背景', + '高质量', + '真人感3D漫剧渲染', + '中国风仙侠' +].join(','); + +const PORTRAIT_OUTPUT = '/Volumes/JZAO/铸渊-ICE-GL-ZY001/OUT-输出/图片/zai-fu-fei-xiu-xian/ep01/anchors/char-003-subai-portrait-v5.png'; + +// 全身图 +const FULL_BODY_PROMPT = [ + '18岁中国风修仙成年男子', + '亚洲面孔', + '黑色长发束起成古代发髻', + '竹簪束发', + '五官俊秀剑眉明眸', + '自信灿烂笑容', + '身形挺拔清秀', + '宽松长袖白色汉服长袍', + '腰间青色束带', + '双手叉腰姿势', + '正面全身站立', + '均匀自然光', + '纯灰色背景', + '高质量', + '真人感3D漫剧渲染', + '中国风仙侠' +].join(','); + +const FULL_BODY_OUTPUT = '/Volumes/JZAO/铸渊-ICE-GL-ZY001/OUT-输出/图片/zai-fu-fei-xiu-xian/ep01/anchors/char-003-subai-full-body-v5.png'; + +(async () => { + console.log('[铸渊·苏白v5] === 胸像 ==='); + try { + const r1 = await generateImage({ prompt: PORTRAIT_PROMPT, size: '1728x2304', outputPath: PORTRAIT_OUTPUT }); + console.log('[铸渊·苏白v5] 胸像✅:', r1.imagePath); + } catch (err) { + console.error('[铸渊·苏白v5] 胸像❌:', err.message); + } + + console.log('[铸渊·苏白v5] === 全身 ==='); + try { + const r2 = await generateImage({ prompt: FULL_BODY_PROMPT, size: '1728x2304', outputPath: FULL_BODY_OUTPUT }); + console.log('[铸渊·苏白v5] 全身✅:', r2.imagePath); + } catch (err) { + console.error('[铸渊·苏白v5] 全身❌:', err.message); + } +})(); diff --git a/video-ai-system/engines/gen_subai_full.js b/video-ai-system/engines/gen_subai_full.js new file mode 100644 index 0000000..dfb0dba --- /dev/null +++ b/video-ai-system/engines/gen_subai_full.js @@ -0,0 +1,36 @@ +#!/usr/bin/env node +/** + * 铸渊 · 苏白全身图v6 · 更严格的真人感锁定 + * v5全身图问题: 卡通风 → 模型对全身默认走动画路线 + * 修复: 去掉"渲染"、强调"写实"、加入"亚洲青年男子真人" + */ +const { generateImage } = require('./image-api-adapter'); + +const FULL_BODY_PROMPT = [ + '亚洲青年男子真人形象', + '18岁', + '黑色长发束起成古代发髻', + '竹簪固定发髻', + '清秀俊美面容', + '自信笑容', + '身形挺拔', + '宽松长袖白色汉服', + '腰间青色束带', + '双手叉腰站姿', + '纯灰色摄影棚背景', + '写实风格3D', + '高质量', + '电影感布光' +].join(','); + +const FULL_BODY_OUTPUT = '/Volumes/JZAO/铸渊-ICE-GL-ZY001/OUT-输出/图片/zai-fu-fei-xiu-xian/ep01/anchors/char-003-subai-full-body-v6.png'; + +(async () => { + console.log('[铸渊·苏白v6] 全身图生成...'); + try { + const r = await generateImage({ prompt: FULL_BODY_PROMPT, size: '1728x2304', outputPath: FULL_BODY_OUTPUT }); + console.log('[铸渊·苏白v6] ✅:', r.imagePath); + } catch (err) { + console.error('[铸渊·苏白v6] ❌:', err.message); + } +})(); diff --git a/video-ai-system/experience/D146-TENCENT-AI-ASSET-RUN-001.hdlp b/video-ai-system/experience/D146-TENCENT-AI-ASSET-RUN-001.hdlp new file mode 100644 index 0000000..8e58054 --- /dev/null +++ b/video-ai-system/experience/D146-TENCENT-AI-ASSET-RUN-001.hdlp @@ -0,0 +1,56 @@ +# D146 · 腾讯AI线 · 第一次资产生成经验 + +> HLDP://video-ai-system/experience/D146-TENCENT-AI-ASSET-RUN-001 +> 日期: 2026-06-26 +> 模型: 火山Seedream 4.0 (doubao-seedream-4-0-250828) +> 铸渊 ICE-GL-ZY001 · 全自主执行 + +--- + +## 总成本 + +| 图 | tokens | 结果 | +|----|--------|------| +| 苏白 v3 | 15552 | ❌ 无袖款式 | +| 苏白 v4 | 15552 | ✅ 通过 | +| 牌匾 v1 | 16384 | ✅ 通过 | +| 百宗会 v1 | 14400 | ✅ 通过 | +| 广告牌 v1 | 15552 | ✅ 通过 | +| **合计** | **77440** | 4/5通过 | + +--- + +## 踩坑记录 + +### 坑6 · "长衫"被模型理解为"无袖" +- 提示词写了"白色长衫",Seedream生成成无袖款式 +- 修正:改为"宽松长袖白色长袍"+"袖子自然垂落"+"袖子遮住了手臂" +- 教训:中国风服装词汇在SD中映射不稳定,需冗余描述 + +### 坑7 · qwen-vision修复记录 +- 旧ALIYUN_API_KEY无法调用qwen-vl-max(dashscope公网→401) +- 需要阿里百炼业务空间专属key: 格式 sk-ws-H.xxx + 专属域名 +- 修复: + 1. .env新增 ALIYUN_QWEN_VL_KEY + ALIYUN_QWEN_VL_ENDPOINT + 2. qwen-vision.py: urllib→subprocess+curl (解决Broken pipe) + 3. qwen-vision.py: 密钥读取优先级 ALIYUN_QWEN_VL_KEY > ALIYUN_BAILIAN_API_KEY > ALIYUN_API_KEY + 4. 确认工作: 4图全部通过铸渊之眼分析 ✅ + +### 正确路径确认 +- 牌匾/广告牌: 生成空木板底图+后期字幕工具叠加文字 ✅ +- D146坑2确认: "扩散模型不能稳定生成汉字" → 始终使用post-production方案 + +--- + +## 资产生成规则(新增) + +``` +1. 提示词中"长衫"→改为"宽松长袖长袍",避免SD误解 +2. 任何含汉字的道具 → 生成空底图 → 字幕管线后期叠加 +3. 出图后立即自审 → 不丢给冰朔盲审 +4. 同一问题2次retry上限 → 超过就改策略 +``` + +--- + +铸渊 ICE-GL-ZY001 · D146 · 2026-06-26