새 작품(영화·시리즈)을 시작하기 전에 확정해 두는 프롬프트 공통 자산 — 세계관 프리픽스, 색 잠금, 캐릭터 앵커, 보이스 캐스팅, 락 라이브러리, 사운드 시그니처. 이미지에 캐릭터 시트라는 사전 자산이 있듯, 프롬프트에도 사전 자산이 있다.
영상 생성 모델에게 "이 작품"이라는 개념은 없다. 지난 컷에서 완벽한 톤이 나왔어도, 이번 프롬프트에 그 톤의 설명이 빠지면 모델에게 그 작품은 존재한 적이 없다. 작품의 룩과 목소리와 규칙은 매 컷 프롬프트에 실려 있는 동안에만 존재한다.
그래서 시리즈물의 최대의 적은 실력 부족이 아니라 드리프트다. 같은 내용을 컷마다 조금씩 다르게 표현하는 것 — "채도 낮은 보라"가 다음 컷에서 "desaturated purple"이 되고, 그 다음 컷에서 "muted violet"이 되는 순간, 세 컷의 색은 서로 다른 색이 된다. 보이스 프로필 바이블의 원칙("토씨까지 복붙")은 목소리만의 규칙이 아니라 작품 전체의 규칙이다.
이 관점에서 컷 프롬프트는 두 층으로 갈라진다:
[월드 스타일 프리픽스] ← 고정 (시간대만 골라서) SCENE CONTEXT ← 변동 (이번 컷) ACTIVE REFERENCES ← 고정 (캐릭터 앵커 복붙) LOCATION MAP ← 변동 (기존 장소면 재사용) FIRST FRAME / BLOCKING ← 변동 FORMAT MODE ← 고정 (포맷 상수 + 컷별 샷 수) OPTICS AND CAMERA ← 변동 — 컷의 본체 ACTION TIMING ← 변동 — 컷의 본체 PHYSICS / LIGHTING ← 변동 (프리픽스와 모순 금지) AUDIO ← 고정 (보이스+오디오 상수) + 컷별 SFX CHARACTER ACTING ← 변동 POSITIVE LOCKS ← 고정 (락 라이브러리) + 컷 전용 락 NEGATIVE ← 고정 (공통 네거티브) + 컷 전용
변동 블록이 컷의 창작이고, 고정 블록이 작품의 일관성이다. 이 바이블은 고정 블록 쪽을 다룬다 — 변동 블록(12블록 구조 자체)은 컷 프롬프트 해부도, 렌즈·무빙 문법은 옵틱스·카메라 바이블 참조.
새 작품에서 첫 컷을 생성하기 전에, 아래 여덟 개가 파일 하나에 확정돼 있어야 한다. 하나라도 비면 그 자리는 컷마다 즉흥으로 채워지고, 즉흥으로 채워진 자리가 곧 드리프트가 된다.
이 바이블의 예시는 전부 오리지널 IP 「사란」의 실전 고정 블록에서 가져왔다 — 실제 생성으로 검증된 문구들이다.
프리픽스는 "이 작품이 어떤 영화인가"를 모델에게 매번 다시 알려주는 문장이다. 매체(실사/3D/애니), 장르, 렌즈 질감, 팔레트가 들어가고, 모든 컷의 맨 앞에 토씨까지 동일하게 붙는다. 프리픽스가 흔들리면 그 아래 아무리 정교하게 써도 컷들이 서로 다른 영화가 된다.
다만 작품에는 막(幕)이 있다 — 새벽 씬과 한낮 씬의 팔레트가 같을 수는 없다. 그래서 프리픽스는 공통 코어 한 줄 + 시간대(막) 변형으로 설계한다. 코어는 절대 불변, 변형은 막마다 하나씩 확정해 두고 컷의 위치에 맞는 것을 골라 쓴다.
Cinematic photorealistic live-action, desert fantasy epic, fine film grain, anamorphic feel.
A. 새벽 블루 (오프닝) Blue pre-dawn desert — deep cobalt sky, cold grey-blue sand, the last stars fading; warm practical light is the only warmth in frame. B. 한낮 표백 (낮·사막 액션) Harsh bleached midday desert — bone-white sand, white-hot hazy sky, cold slate shadows; the leads are the darkest values in every frame. C. 마을 저녁 (생활 씬) Muted amber-and-bone palette cooled by dusk — carved sandstone, oil lanterns, coarse cloth; warm lantern pools against cooling shadows. D. 붉은 최종막 (붉은 구름 시퀀스) Inside the red sand-cloud — dull dried-blood red, matte, visibility three steps; all light is diffuse and directionless except practicals.
작품의 상징 오브젝트(사란의 균열 달처럼 매 컷 보이는 것)가 있다면 그 서술도 프리픽스급 자산이다. 컷마다 다시 묘사하지 않는다:
An enormous pale moon split by a single hairline fissure glinting
faint amber — cracked, not broken apart.
"cracked, not broken apart" 같은 부정 짝은 상징 오브젝트에 특히 중요하다 — 모델은 극적인 쪽(완전히 쪼개진 달)으로 과장하려는 경향이 있다.
작품에 서사를 지는 색이 있다면(마법의 색, 괴물의 색, 진영의 색) 그 색은 형용사가 아니라 3종 세트로 잠근다: 헥스 범위 + 명도 위계 + 부정문.
이렇게 확정한 색은 표로 만들어 작품 내내 쓴다:
보라 전기 (각성) violet electricity — #8F5BFF–#B07CFF, never pink, never blue-white; the brightest, coldest light in frame 보라 연기 (잡아먹음) cold violet smoke #6E5F8A–#8A79A8, the darkest value in frame — never pale lilac, never milky grey-lavender, never washed out 붉은 연기 (홀림) dull dried-blood red, matte — never orange, never crimson-bright 혼합 금지 the violet and the red never blend
명도 위계("frame에서 가장 어두운/밝은 값")는 헥스보다 힘이 세다. 모델은 절대색보다 상대 관계를 더 잘 지킨다.
얼굴 일관성의 본체는 캐릭터 시트(레퍼런스 이미지)다 — 시트 제작 공식은 캐릭터 시트 바이블에 있다. 고정 블록 쪽에서 확정할 것은 두 가지다.
레퍼런스를 여러 장 쓸 때는 장마다 담당을 못박는다. 얼굴 시트가 의상까지 지배하거나, 의상 시트가 얼굴을 덮어쓰는 사고를 막는다.
@Image 1 identity anchor, face and hair ONLY: a Korean woman, long
black hair in a clean braid, sun-tanned skin — exactly as this sheet
in every shot.
@Image 2 wardrobe anchor, clothing ONLY: sand-colored cloak, both
leather bracers, hip quiver, recurve bow slung across her back —
this sheet contributes clothing, never the face.
Identity only — camera and travel come from this prompt.
시트가 있어도 인물별 외모 서술 문단은 항상 함께 싣는다. 시트가 지는 요소(조명이 바뀌었을 때의 피부톤, 뒷모습의 머리 상태, 장비 디테일)를 텍스트가 받쳐 준다. 시트가 아직 없는 조연은 텍스트 앵커가 유일한 일관성 장치다:
하란 (55) a Korean man in his fifties, weathered dry face, sparse grey-streaked beard, long dark robe, longbow across his back — unhurried, economical movement. 사례 (30대 — 붉은 구름 속 환영으로 재등장) a Korean woman in her thirties, travel-worn, hair half-loosened from a braid — in the red cloud she appears EXACTLY as remembered, too clean, untouched by the storm.
신규 인물이 확정되면 컷에서 즉석으로 묘사하지 말고, 고정 블록 파일에 앵커부터 등록하고 버전을 올린다.
목소리는 프롬프트 텍스트로만 존재한다 — 프로필 7요소 공식과 네거티브 잠금은 보이스 프로필 바이블에 있다. 작품 단위에서 할 일은 전 인물의 프로필을 한곳에 모아 캐스팅 시트로 확정하는 것이다. 영화로 치면 성우 캐스팅이 끝난 상태로 크랭크인하는 셈이다.
@voice_saran_v1 Saran voice: "A bright, quick female voice, warm with a slight husky edge — she talks the way a real twenty-something grumbles at family: blunt, flat, casual, lazy consonants." @voice_haran_v1 Haran voice: "A low, dry, gravelly older male voice, unhurried and quiet — plain everyday speech, as if half to himself; the weight comes from calm, not from performance."
캐스팅 시트에는 프로필 말고 대사 컷 공통 딜리버리 상수도 함께 둔다. 감정은 고정층에 넣지 않지만, "어떻게 말하는 작품인가"(자연 발화 vs 성우극)는 작품 단위 결정이라 고정 자산이다:
All dialogue verbatim as written in ACTION TIMING, in Korean —
등장인물은 한국어로 말한다.
DELIVERY: every line is plain, natural, everyday conversation captured
like on-set production sound — unprojected volume, throwaway pacing,
slightly imperfect articulation, real speech rhythm; nobody performs,
nobody projects, no voice-actor polish.
Ambient sound ducks under dialogue; the voices stay close, clean
and unforced.
대사 텍스트는 리터럴 그대로. 숨소리를 글자로 쓰면 그대로 발음한다 — 호흡은 딜리버리 지시로 분리한다("The breaths are audible, never pronounced as words.").
★LOCK★은 컷마다 즉석에서 짓는 게 아니라, 작품 시작 때 카탈로그로 만들어 두고 골라 쓰는 것이다. 두 층으로 나뉜다.
★SPEED LOCK: real-time throughout — no slow motion, no speed ramps, no dreamy motion.★ (의도된 램프가 있으면 "the ONLY slow motion is the ramp inside shot N"으로 예외를 명시) ★CAMERA LOCK: every camera move is physical travel — dolly, arc, creep, handheld — never an optical zoom; all pushes are "camera moves forward, not zoom"; the camera never teleports.★ ★AXIS LOCK: (이동 방향 명시) — the camera never crosses the travel line; positions never mirror; nothing teleports across cuts.★ ★ALIVE LOCK: the end frame breathes — natural blinks, moving light — a held beat, not a freeze-frame.★ ★SUBJECT LOCK: (주연 명시) are the only foreground characters — no duplicates of the leads.★
대사 컷용(DIALOGUE·NATURAL SPEECH·DRY), 외형용(CLEAN HAIR·GEAR), 그리고 작품의 세계관에서 나오는 고유 락들. 사란의 경우:
★SMOKE-BIRTH LOCK: every creature is born from a rolling bank of red sand-smoke and dies back into it, running ON the surface — never from under the sand; the sand never bulges, splits or erupts.★ ★FIRE LOCK: fire arrow whose flame burns ONLY at the HEAD — shaft and white feather fletching clean and unburned; fletching NEVER ignites, never smolders, stays white in every shot.★ ★EYE LOCK (각성 후 전 컷): both irises hold a steady ember-red glow through the final frame — never flaring, never beams.★
고유 락은 대부분 사고에서 태어난다 — 깃털에 불이 붙고(FIRE), 괴물이 모래에서 솟고(SMOKE-BIRTH). 사고가 나면 그 컷만 고치고 끝내지 말고, 락으로 규격화해서 카탈로그에 등록한다. 같은 사고는 반드시 또 난다.
작품에서 반복되는 소리는 시각 자산과 똑같이 규격화한다. 세 가지가 고정 자산이다.
모든 컷 AUDIO 블록의 마지막 줄. 음악은 후반에서 직접 얹는 것이 통제 가능하므로, 생성 단계에서는 전 컷 차단한다:
No background music, no BGM, no soundtrack — only natural diegetic sound.
작품의 시그니처 사운드(괴물의 소리, 신호음, 자연현상)는 한 번 규격을 확정하면 매 등장마다 같은 문구로 쓴다:
괴물 스크림 (시리즈 시그니처) Each creature's shriek is hundreds of human voices layered into one scream. 뿔나팔 (마을 경보) The war-horn is a single immense bronze voice — a long, low blast that rolls in from far beyond the village, swells, and decays over the rooftops, felt in the chest as much as heard; the ambience cuts out under it. The horn itself is NEVER shown on screen.
대사 볼륨은 지정하지 않으면 낮게 깔리는 사례가 실측됐다. 대사 컷에는 Dialogue at clear, natural speech volume.을 상수로 넣는다.
NEGATIVE 블록도 매번 새로 쓰면 빠지는 항목이 생긴다. 작품 공통 베이스를 확정해 두고, 컷 전용 금지(no parkour, no arrows fired 등)만 그 뒤에 덧붙인다:
NEGATIVE — no subtitles, no on-screen text, no slow motion, no optical zoom, no crash zoom, no drone shot, no gimbal-smooth glide, no beauty filter, no extra fingers, no morphing faces, no identity drift, no modern objects, no electric light, no blood, no theatrical line delivery, no declamatory acting, no dubbing-studio voice tone, no over-enunciated speech, no melodramatic pauses, no tears, no crying, no wet or glassy eyes, no objects attached to her hair or head, no hair accessories, no BGM.
베이스에는 작품의 톤 결정이 녹아 있다 — 사란의 "no tears"류는 "감정은 마른 눈으로 연기한다"는 연출 결정이고, "no electric light"는 시대 고증이다. 네거티브는 금지 목록이면서 동시에 작품의 스타일 선언이다.
세계관 문서는 읽기 위한 글이고, 캐논 체크리스트는 프롬프트를 쓰기 직전에 위반을 검사하는 목록이다. 규칙을 "프롬프트에서 어기기 쉬운 형태"로 번역해 두는 게 핵심이다.
□ 달: 균열 하나(hairline) — 엔딩에서야 완전히 쪼개진다. 그 전 컷에서 broken 금지. □ 보라 연기 = 잡아먹음(옷만 남는다) / 붉은 연기 = 홀림. 색-기능 바꿔치기 금지. □ 괴물은 붉은 연기에서 태어나고 붉은 연기로 죽는다 — 모래 밑 분출 금지. □ 사란은 각성 전까지 한 번도 명중한 적 없다 — 각성 전 컷에서 맞히면 캐논 붕괴. □ 각성 후 홍채 앰버-레드 지속 발광 — 이후 전 컷 유지. □ 대사는 한국어, 화면 텍스트·영어 간판 없음.
특히 중요한 것이 시간축이 있는 캐논이다 — "각성 전에는 못 맞힌다", "달은 아직 덜 쪼개졌다"처럼 작품 진행에 따라 상태가 바뀌는 규칙. 컷을 순서 없이 제작하는 AI 워크플로에서는 이게 제일 잘 깨진다. 체크리스트에 시점 조건을 명시해 두면, 어떤 컷을 먼저 만들어도 그 시점의 상태를 검사할 수 있다.
고정 블록은 첫 컷보다 먼저다. 실무 순서는 이렇다:
작품명_고정블록_v1.md)에 모으고, 이후 모든 컷은 여기서 복붙 조립.