
角色不跑偏ProjectDream 的角色庫、定妝圖和聲線閉環本文繼續記錄 ProjectDream 的核心功能模塊這一篇聚焦角色庫、角色定妝圖和角色一致性控制。一、前言在 AI 漫劇或短視頻項目里角色一致性通常比“能不能生成”更難處理。如果同一個角色在不同鏡頭里長相變化太大用戶很快就會出戲。ProjectDream 在角色這部分做得比較完整不只是保存一個名字而是把角色當成一個長期資產來管理。這一篇主要講四件事角色庫角色詳情定妝圖生成與確認聲線綁定和改名同步二、模塊定位角色庫模塊負責把劇本中的人物從普通文本變成可管理的角色實體。每個角色都有唯一 ID、名稱、身份、性別、年齡段、外貌、性格、聲線和定妝參考圖。角色一致性模塊則負責在靜幀生成前校驗角色是否可識別、是否已經綁定到角色庫、是否具備清晰的性別年齡和參考圖從而減少 AI 生成時的人物漂移。簡單說角色庫解決的是“這個人是誰”一致性模塊解決的是“后面還像不像這個人”。三、角色庫頁面3.1 頁面作用角色庫是整個角色體系的入口頁。在這里用戶可以看到項目中的所有角色也可以手動創建角色或者直接基于總綱和劇本生成角色檔案。3.2 頁面流程角色庫頁的主要流程是用戶進入角色庫頁面讀取當前項目下的角色列表用戶可以手動新增角色也可以點擊 AI 生成角色進入角色詳情后繼續補充檔案3.3 頁面截圖四、角色詳情頁4.1 頁面作用角色詳情頁是角色管理的核心頁面。它不是單純展示信息而是圍繞角色檔案補全、定妝圖、聲線和改名同步做完整管理。4.2 頁面區域角色詳情頁主要分成幾個區域基礎檔案編輯AI 補全角色檔案角色定妝圖生成和確認聲線推薦、試聽和鎖定改名影響預覽和同步4.3 頁面截圖五、AI 生成角色檔案5.1 功能說明ProjectDream 支持從總綱和劇本自動抽取角色信息。這個過程會從文本里提取姓名、戲劇身份、性格、固定外觀和 TTS 音色然后寫入角色表。這樣用戶就不需要每個角色都從頭填一遍。5.2 流程AI 生成角色的流程大致如下POST /api/projects/:projectId/characters/generate - authenticate - 校驗項目 - 讀取總綱、場景、劇本 - aiGenerateCharacters() - normalizeCharactersPayload() - 去重并寫入 characters5.3 角色信息角色音色的管理并不是隨便選一個音色就結束而是要保存年齡段性別風格標簽聲線配置是否鎖定這樣后面的對白、旁白和口型同步才能保持一致。六、定妝圖生成與確認6.1 功能說明角色定妝圖是角色一致性的基礎。系統會根據角色檔案生成候選定妝圖用戶確認后寫入reference_image_url。后續靜幀生成時系統會讀取這張圖作為參考。6.2 頁面流程定妝圖的流程大致是進入角色詳情頁點擊生成定妝圖后端創建生成任務生成候選圖用戶確認其中一張作為主參考圖6.3 關鍵接口POST /api/characters/:characterId/images/generate GET /api/characters/:characterId/images POST /api/character-images/:imageId/confirm6.4 數據表相關表主要是character_imagescharacterscharacter_images里會記錄候選圖的版本號、圖片地址、提示詞快照、模型名和狀態。當前每個角色只允許一張confirmed定妝圖這樣后續靜幀和視頻生成才有明確參考。6.5 頁面截圖七、聲線推薦與鎖定7.1 功能說明角色不僅要像還要“聽起來像”。ProjectDream 會根據角色的年齡段、性別和氣質推薦聲線然后支持試聽和鎖定。對白生成時會優先讀取已經鎖定的角色主音色。7.2 關鍵邏輯角色音色的管理并不是隨便選一個音色就結束而是要保存年齡段性別風格標簽聲線配置是否鎖定這樣后面的對白、旁白和口型同步才能保持一致。7.3 真實接入真實接入記錄里這部分已經完成了 DashScope TTS 的接入和真實驗證。項目里支持角色短句試聽聲線推薦聲線確認鎖定后對白生成這樣角色的聲音不再是臨時隨機分配而是可以持續復用的配置。八、角色改名同步8.1 為什么要做同步角色改名不是簡單把characters.name更新一下就完了。因為角色名會出現在很多地方項目簡介總綱場景正文分鏡動作分鏡對白分鏡視覺提示詞如果只改角色表其他地方不動前后就會不一致。8.2 同步流程用戶改名時系統會先預覽影響范圍。如果用戶選擇同步引用后端會生成改名計劃并通過事務更新相關內容。8.3 涉及范圍同步會覆蓋項目描述總綱 JSON場景文本分鏡動作分鏡對白分鏡視覺提示詞這樣可以避免角色名稱在不同模塊里前后不一致。8.4 關鍵接口POST /api/characters/:id/rename-preview PUT /api/characters/:id九、角色一致性校驗9.1 校驗目標角色一致性校驗發生在靜幀生成之前。系統會檢查當前分鏡中的角色是否已綁定角色庫性別和年齡是否明確是否具備參考圖是否能和分鏡中的視覺描述匹配9.2 阻斷條件下面這些情況會直接阻止靜幀生成可見角色沒有參考圖分鏡里出現人類主體但無法匹配角色庫角色性別或年齡缺失角色識別上下文不完整這一步的目的很簡單就是盡量在生成前把問題攔住而不是讓模型生成完以后再修。十、總結角色庫這部分在 ProjectDream 里很重要因為它不只是“存角色信息”而是把角色變成了可以持續管理的生產資產。從檔案、定妝圖、聲線到改名同步和靜幀校驗整條鏈路都在圍繞一個目標展開讓角色在后面的分鏡、靜幀、視頻里盡量保持穩定。下一篇會開始寫分鏡靜幀視頻音頻相關功能