캐스트 및 성경(Bible)
여기의 모든 것은 프로젝트 간에 재사용되므로, 한 번 제대로 만들어 두는 것이 가치 있습니다.
캐릭터 (bible/characters/<id>/)
character.json 필드: id, name, species, look (하나의 조밀한 문장: 신체, 얼굴, 머리카락/털, 옷장, 하나의 시그니처 액세서리, 그리고 주근깨, 점, 흉터, 안경, 귀걸이 등 식별 가능한 모든 표시를 이름별로. 프롬프트 검사는 하나라도 빠진 비디오 프롬프트를 거부하며, 아이덴티티 평가는 모든 테이크에서 이들을 각각 확인합니다), traits, flaw, role (진지한 역할 / 특이한 역할 / …), voiceDesc, voice, sheets.
- 시트: 평범한 배경에 정면, 3/4, 전신을 보여주는 3:2, 2K 이미지 한 장.
node engine/gen.mjs still "<시트 프롬프트>" bible/characters/<id>/sheet.png --ar 3:2 --size 2K템플릿: "평범한 따뜻한 크림(#F2E8D5) 스튜디오 배경의 캐릭터 레퍼런스 시트, 포토리얼, 35mm 필름 느낌, 부드러운 균일한 키 라이트. 동일한 캐릭터가 나란히 세 번 표시됨: (1) 정면, (2) 3/4 측면, (3) 전신. 캐릭터: . 세 뷰 모두 동일한 의상과 표시. 텍스트나 라벨 없음." 직접 결과를 확인하세요. 잘못된 해부학 구조, 일치하지 않는 뷰, 텍스트가 있으면 다시 생성하세요. 한 뷰가 나쁠 때는 재생성 비용을 지불하기보다 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, 영국식), TX3LPaxmHKxFdv7VOQHJ (Liam, 젊은), JBFqnCBsd6RMkjVDRZzb (George, 따뜻한 영국식), EXAVITQu4vr4xnSDxMaL (Sarah), pNInz6obpgDQGcFmaJgB (Adam).voice.sampleText.{en,es}: 약 8초 분량의 캐릭터 연기 음성.node engine/gen.mjs sample <id> --lang en명령어는voice-en.mp3를 생성합니다. Seedance는 이를@audioN으로 사용하여 모든 샷에서 동일한 음성을 유지합니다.
traits에 러닝 개그나 캐치프레이즈 하나를 추가하세요.- 승인 (flow v5 cast gate): 제작자에게 시트, 외모, 음성 샘플을 보여주고; 동의를 얻으면
node engine/studio.mjs approve-character <id> --said "<그들의 말>"(또는 인스타일 시트의 경우cast.mjs approve) 명령어를 실행하세요.continuity.mjs <slug> --identity <take> --lock-anchor명령어로 승인된 테이크에서 얼굴 앵커를 고정하세요.
현실적인 스타일: 네이티브 레퍼런스 (스티커 느낌을 없앤 규칙)
이미지 모델은 **스튜디오 레퍼런스 사진을 장면에 합성(composite)**하여 포즈와 조명을 유지하므로 캐릭터가 붙여넣기 된 것처럼 보입니다. 현실적인 스타일의 경우:
- 먼저 빈 세트 플레이트를 만드세요.
- 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 "<스타일 문자열> wide establishing shot, empty of characters. <look>. No text, no people." bible/sets/<id>/plate-wide.png --size 2K
인스타일 캐릭터 시트 (3단계, 현재 방법)
node engine/cast.mjs sheet <char> --style <style> --set <set> 명령어는 스타일(현실적인 스타일의 경우: 세트 플레이트 내부에서 촬영)로 2x2 시트를 만들고, 이를 bible/characters/<char>/<style>/ 디렉토리 아래 front, threeQuarter, profile, full 뷰로 분할한 후 character.json → looks.<style>에 기록합니다. 검토하고 점수를 매기세요: cast.mjs approve <char> --style <style> consistency=N anatomy=N design=N style=N layout=N. 거부된 시트: --note "<수정 사항>" 플래그로 다시 생성하세요. 그 후 샷은 필요한 프레이밍에 해당하는 뷰만 받습니다.
스타일
스타일 시트는 bible/styles/<id>/style.json에 저장되며 engine/style.mjs로 관리됩니다 (스튜디오 스킬 및 studio/references/styles.md 참조).
클론 미 / AI 인플루언서
사용자 자신의 모습 또는 가상 인물에 대해서만 가능합니다. 실제 제3자를 클론하지 마십시오.
- 사용자에게 자신의 사진 6-12장(정면, 3/4, 프로필, 두 가지 복장, 좋은 조명)을
bible/characters/<id>/photos/에 넣고, 1-2분 분량의 깨끗한 음성 녹음을voice-source.mp3로 제공하도록 요청하세요. - 사진을 레퍼런스로 사용하여(
--ref각 사진, 최대 10개) Nano Banana로 시트를 생성하세요: "이 특정 인물의 캐릭터 레퍼런스 시트...". - 음성: 즉석 음성 클로닝은 ElevenLabs 유료 플랜(Starter)이 필요합니다. ElevenLabs UI에서 클론한 후, 새 음성 ID를
"provider": "elevenlabs"와 함께voice.eleven에 넣으세요. 그때까지는 가장 가까운 프리셋을 선택하세요. - 토킹 헤드 콘텐츠의 경우,
node engine/gen.mjs talk <사진-또는-키프레임> <line.mp3> out.mp4 --model infinitetalk명령어를 사용하세요 (480p에서 초당 $0.015). 장면의 경우, 일반 샷 목록에서 캐릭터를 사용하세요.