角色與聖經
此處的所有內容皆可跨專案重複使用,因此值得一次做好。
角色(bible/characters/<id>/)
character.json 欄位:id、name、species、look(一個密集的句子:身體、臉部、頭髮/毛髮、衣櫃、一個標誌性配件,以及每個顯著特徵的名稱:雀斑、痣、疤痕、眼鏡、耳環。提示檢查會拒絕任何遺漏其中一項的影片提示,而身分評估會在每次拍攝時檢查每一項)、traits、flaw、role(直人 / 古怪 / …)、voiceDesc、voice、sheets。
- 角色表: 一張 3:2、2K 的圖片,在純色背景上顯示正面、3/4 側面和全身。
node engine/gen.mjs still "<sheet prompt>" bible/characters/<id>/sheet.png --ar 3:2 --size 2K模板:"Character reference sheet on a plain warm cream (#F2E5D8) studio backdrop, photoreal, 35mm film look, soft even key light. The same character shown three times side by side: (1) front view, (2) three-quarter view, (3) full body. Character: . Identical wardrobe and markings in all three views. No text, no labels." 請自己檢視結果。如果解剖結構錯誤、視圖不匹配或有文字,請重新生成。當某個視圖不好時,使用 ffmpeg 裁剪,而不是花錢重新生成。 - 聲音:
voice.id:Kie 提供的 ElevenLabs 預設聲音(列表在engine/voices.txt,預覽在https://static.aiquickdraw.com/elevenlabs/voice/<id>.mp3)。可選的語言覆寫voice.en/voice.es。voice.eleven:使用者自己 ElevenLabs 帳戶上的聲音,當 Kie 的端點失敗時使用。免費方案只能使用預製聲音:onwK4e9ZLuTAKqWW03F9 (Daniel, British)、TX3LPaxmHKxFdv7VOQHJ (Liam, young)、JBFqnCBsd6RMkjVDRZzb (George, warm British)、EXAVITQu4vr4xnSDxMaL (Sarah)、pNInz6obpgDQGcFmaJgB (Adam)。voice.sampleText.{en,es}:大約 8 秒的符合角色性格的說話內容。node engine/gen.mjs sample <id> --lang en會寫入voice-en.mp3。Seedance 使用@audioN來引用它,因此每個鏡頭的聲音保持一致。
- 在
traits中加入一個反覆出現的笑點或口頭禪。 - 審核(流程 v5 角色選角閘門): 向創作者展示角色表、外觀和聲音樣本;獲得同意後,執行
node engine/studio.mjs approve-character <id> --said "<他們的評語>"(對於符合風格的表使用cast.mjs approve)。使用continuity.mjs <slug> --identity <take> --lock-anchor鎖定批准拍攝中的臉部錨點。
寫實風格:原生參考(解決「貼紙感」問題的規則)
影像模型會將工作室參考照片合成到場景中,保持其姿勢和光線,使角色看起來像是被貼上去的。對於任何寫實風格:
- 首先製作空的場景底片。
- 在場景內僅從文字(僅以場景底片作為參考)生成每個角色,使用 Nano Banana Pro 設定為 2K 解析度:"a frame grab ... a real, normal-sized <animal/person> ... lit by the same light as the room, soft shadow on the floor, same video texture ... not composited"。服裝必須被描述為真實且不完全合身的服飾("loose, bunches at the shoulders")。
- 從該畫面中裁剪出角色 →
ref-native.png,設定"refs": ["ref-native.png"]。工作室的sheet.png僅作為設計參考;絕對不要將其輸入到鏡頭中。 - 使用寫實的尺寸詞彙("normal-sized house cat, small next to the furniture")和自然的動物姿態。
寫實角色除了符合風格的表之外,最好還有一個原生參考(
bible/characters/<id>/ref-native.png)。
場景(bible/sets/<id>/set.json)
look(一個密集的句子)、plates(至少一張寬的 9:16 空景底片)、geography(物品的位置,以及誰站在畫面的哪一側)。
node engine/gen.mjs still "<style string> wide establishing shot, empty of characters. <look>. No text, no people." bible/sets/<id>/plate-wide.png --size 2K
符合風格的角色表(第三階段,當前方法)
node engine/cast.mjs sheet <char> --style <style> --set <set> 會以該風格製作一張 2x2 的角色表(寫實風格:在場景底片內拍攝),並將其分割為 front、threeQuarter、profile 和 full 視圖,存放在 bible/characters/<char>/<style>/ 下,並記錄在 character.json → looks.<style> 中。檢視它並評分:cast.mjs approve <char> --style <style> consistency=N anatomy=N design=N style=N layout=N。被拒絕的表:使用 --note "<fix>" 重新生成。然後鏡頭只會獲得其構圖所需的視圖。
風格
風格表存放在 bible/styles/<id>/style.json 中,並使用 engine/style.mjs 進行管理(參見工作室技能和 studio/references/styles.md)。
複製我 / AI 影響者
僅限於使用者自己的肖像或虛構人物。絕不能克隆真實的第三方。
- 要求使用者提供 6-12 張自己的照片(正面、3/4 側面、側面、兩套服裝、光線良好),放入
bible/characters/<id>/photos/,以及 1-2 分鐘的乾淨語音,放入voice-source.mp3。 - 使用 Nano Banana 並以照片作為參考(
--ref每張照片,最多 10 張)來建立角色表:"Character reference sheet of this exact person…"。 - 聲音:即時語音克隆需要 ElevenLabs 付費方案(Starter)。在 ElevenLabs 介面中克隆,然後將新的聲音 ID 放入
voice.eleven,並設定"provider": "elevenlabs"。在此之前,選擇最接近的預設聲音。 - 對於說話頭部內容,使用
node engine/gen.mjs talk <photo-or-keyframe> <line.mp3> out.mp4 --model infinitetalk(480p 時為 $0.015/秒)。對於場景,則在正常的鏡頭列表中使用該角色。