← 컷 프롬프트 해부도로 돌아가기
Video-Gen Voice Prompting

보이스 프로필 바이블

AI 영상 생성(Seedance 등)에서 캐릭터 목소리를 컷과 씬을 넘어 일관되게 유지하는 프롬프트 작성 규칙. 캐릭터 레퍼런스가 얼굴을 고정하듯, 이 문서의 프로필 공식이 목소리를 고정한다.

목소리는 프롬프트 텍스트로만 존재한다. 프로필은 에셋이다 — 만들고, 버전 붙이고, 토씨까지 복붙한다.
제1장

대원칙 — 모델은 아무것도 기억하지 않는다

영상 생성 모델은 이전 컷에서 어떤 목소리를 냈는지 기억하지 못한다. 지난 씬에서 완벽한 목소리가 나왔어도, 이번 프롬프트에 그 목소리의 설명이 없으면 모델에게 그 목소리는 존재한 적이 없다.

그래서 목소리 일관성의 방법은 하나뿐이다. 목소리를 텍스트 에셋으로 만들어서 모든 씬 프롬프트에 통째로 싣는 것. 캐릭터 이미지 태그(@char_NAME_v1)를 매 씬 첨부하듯, 보이스 프로필 문단도 매 씬 첨부한다.

한번 확정한 프로필은 절대 패러프레이즈하지 않는다. "깊은 바리톤"을 다음 씬에서 "낮고 묵직한 목소리"로 바꿔 쓰는 순간 드리프트가 시작된다. 좋은 결과가 나온 문구 그대로, 토씨까지 복붙.

프로필에도 버전을 붙여 관리하면 좋다 — 예: @voice_KANG_v1. 목소리가 마음에 안 들어 문구를 수정하면 v2로 올리고, 이후 모든 씬은 v2 문구만 쓴다.

제2장

고정층 — 프로필 7요소 공식

프로필은 2~3문장이면 충분하다. 대신 그 안에 아래 7가지가 전부 들어가야 한다. 하나라도 비면 모델이 그 자리를 멋대로 채운다.

① 나이age
들리는 목소리의 나이. 숫자로 정확히. A 47-year-old… / in her late 70s…
② 성별·정체성gender
man / woman / girl / boy. 국적과 한 덩어리로 쓴다.
③ 국적·언어nationality & language
어느 나라 사람이 어떤 언어·억양으로 말하는지. 한국인이면 표준어인지 사투리인지까지. South Korean / Seoul-standard Korean / Busan (Gyeongsang) dialect
④ 음역대pitch register
목소리의 높낮이. 성악 용어가 가장 정확하게 전달된다. bass / bass-baritone / baritone / tenor / high tenor · contralto / alto / mezzo / soprano · deep / low / mid-range / high
⑤ 음색·질감timbre & texture
같은 음역대라도 질감이 캐릭터를 가른다. gravelly(자갈 긁는) / husky(허스키) / raspy(쉰) / nasal(콧소리) / breathy(숨섞인) / resonant(울리는) / dry(건조한) / warm / thin / worn(닳은) / cracking(갈라지는)
⑥ 속도·리듬cadence
말의 빠르기와 박자. rapid / clipped(뚝뚝 끊는) / unhurried / slow / drawling(늘어지는) / even-paced / staccato / sing-song(노래하듯)
⑦ 말투 캐릭터delivery persona
이 사람이 어떤 부류처럼 말하는지, 직업·문화로 비유. online-streamer cadence / broadcast-anchor cadence / street cadence / deadpan / quietly menacing

7요소를 한 틀에 부으면 이런 문장이 된다:

프로필 문장 구조formula
A [①나이]-year-old [③국적] [②성별] with a [④음역대], [⑤질감] voice.
[⑥속도·리듬] [③언어·억양] in [⑦말투 캐릭터].
Definitely [양성 잠금]; never [네거티브 잠금].
제3장

네거티브 잠금 — "하지 마라"가 절반이다

실전에서 목소리가 무너지는 방향은 정해져 있다. 영어 대사는 미국 억양으로, 한국어 대사는 외국인 억양이나 TTS 내레이터 톤으로 흘러간다. 이 기본 드리프트를 막는 문장이 프로필의 마지막 줄, 네거티브 잠금이다.

영국 캐릭터의 "Definitely British, never American."이 교과서다. 한국인 캐릭터라면 이 네 가지가 실전 네거티브다:

제4장

변동층 — 씬마다 새로 쓰는 네 가지

프로필(고정층)에는 감정을 넣지 않는다. "화난 목소리"를 프로필에 박으면 모든 씬에서 화를 낸다. 감정과 상황은 씬 프롬프트 쪽에서 매번 새로 지시하는 변동층이다.

1. 이 씬의 감정 딜리버리

프로필과 분리해서, 이 씬에서 그 목소리가 어떤 상태인지 쓴다.

감정 딜리버리per-scene
The line is low, urgent and practically minded. He is frightened
and guarded, not hostile. His bravado has thinned, but he is
trying to sound composed.

2. 물리 동작과 목소리의 관계

캐릭터가 걷거나, 뛰거나, 무거운 걸 들며 말하는 씬이라면 그 동작이 목소리에 어떻게 반영될지 명시한다. 안 쓰면 대사가 뭉개지거나 끊긴다.

물리-목소리per-scene
Physical strain compresses his voice without causing stuttering.
The words remain clear and continuous.

3. 발화 대상 잠금

누구에게 하는 말인지가 바뀌면 모델은 톤(외침↔속삭임)을 멋대로 바꾼다. 대사마다 대상을 잠근다.

발화 대상per-scene
Every word is addressed directly to the hostage. He does not
speak to the room, the other men, or the camera. He does not
deliver the line as an aside.

4. 발화자 수 + 비언어 사운드 규격

화면에 있는 사람 수와 말하는 사람 수를 분리해서 명시한다. 그리고 말 못 하는(안 하는) 캐릭터가 내는 소리는 종류·원인까지 규격화한다 — 안 그러면 모델이 그 캐릭터에게 대사를 지어준다.

발화자 수 · 비언어per-scene
Two speakers only. Exact lines, no ad-libs, no extra voices.
The hostage produces muffled grunts and heavy gagged breathing,
but no intelligible dialogue. The breathing comes from terror,
pain and exhaustion.

5. 대사 볼륨 명시

조용한 앰비언스("quiet room tone only")만 지시하면 대사까지 조용하게 구워진다 — 실측으로 피크 -16dB(사실상 안 들림)까지 떨어진 사례가 있다. 오디오 섹션에 대사 볼륨을 한 줄 못박는다.

대사 볼륨per-scene
Dialogue at clear, natural speech volume, well above the
room tone.
제5장

캐스팅 — 목소리는 대비로 설계한다

비슷한 목소리 둘을 한 씬에 넣으면 모델이 섞어버린다. 캐릭터를 만들 때부터 음역대 × 속도 × 질감 × 억양, 네 축에서 서로 멀리 떨어뜨려 캐스팅한다. 깊은 바리톤 옆에는 콧소리 테너를, 빠른 서울말 옆에는 느린 사투리를 놓는 식이다.

아래 제6장의 예시 5인은 이 대비 설계가 적용된 앙상블이다:

캐릭터음역대속도질감억양
준호 (24)가벼운 테너빠름맑음·약한 콧소리서울 표준
강 형사 (47)깊은 베이스-바리톤느림자갈 긁는 소리부산
순 할머니 (70대)낮은 허스키아주 느림닳고 갈라짐전라
윤 앵커 (34)중저음 알토고른 페이스또렷·절제서울 방송체
하은 (17)밝은 고음빠름숨섞임서울 구어

준호와 하은은 둘 다 "빠른 서울말"이라 가장 가까운 쌍이다 — 대신 음역대(테너↔고음)와 성별로 갈라놨다. 이렇게 최소 두 축 이상 벌어지게 만든다.

고급 기법 — 외모와 목소리 어긋내기

외모와 목소리는 별개 채널이라, 각각 따로 잠그면 일부러 어긋낼 수도 있다. 겉모습은 10살 소녀인데 목소리는 80살 노파인 캐릭터가 대표 사례. 모델은 아이 얼굴을 보면 아이 목소리를 주려는 시각 편향이 있어서, 프로필에 어긋남을 명시적으로 선언하고("her voice is the OPPOSITE of her appearance") 네거티브로 편향 방향을 막아야 한다("never a cute high-pitched child voice"). 실제 3컷 테스트에서 이 이중 잠금으로 아이 얼굴 위에 노파 목소리가 끝까지 유지됐다 — 아래 실증 장의 사례 2 영상으로 직접 확인할 수 있다.

제6장

한국인 프로필 예시 5종 — 복붙용

프롬프트 본문이 영어라면 프로필도 영어로 쓴다. 아래는 그대로 VOICES 섹션에 붙여 쓸 수 있는 완성 프로필이다. 대사 자체는 한국어로 별도 표기하면 된다.

@voice_JUNHO_v120대 · 스트리머형
JUN-HO: A 24-year-old South Korean man with a light, clear tenor.
Rapid, casual Seoul-standard Korean in an online-streamer cadence —
quick bursts, playful, slightly nasal on emphasis.
Definitely a native South Korean speaker; never a foreign, dubbed
or AI-narrator accent; no regional dialect.
@voice_KANG_v140대 · 부산 형사
DETECTIVE KANG: A 47-year-old South Korean man with a deep,
gravelly bass-baritone. Slow, blunt Busan (Gyeongsang) dialect
with hard, clipped sentence endings and a heavy rhythm.
The dialect stays identical in every line; never drifts into
standard Seoul Korean; never a foreign accent.
@voice_SOON_v170대 · 전라도 할머니
GRANDMA SOON: A South Korean woman in her late 70s with a low,
husky, worn voice that cracks softly on long vowels. Slow, warm
Jeolla-dialect Korean with drawn-out, sing-song endings.
Definitely an elderly native Korean speaker; never a young voice;
never a newsreader tone.
@voice_YOON_v130대 · 앵커형
ANCHOR YOON: A 34-year-old South Korean woman with a poised,
mid-low alto. Precise standard Seoul Korean in a broadcast-anchor
cadence — even pacing, crisp consonants, controlled breath.
Definitely native Korean; never a casual vlogger tone; never a
foreign or dubbed accent.
@voice_HAEUN_v110대 · 여고생
HA-EUN: A 17-year-old South Korean girl with a bright, high,
slightly breathy voice. Fast, casual Seoul Korean with rising
sentence-end intonation and quick, giggly bursts.
Definitely a native teenage Korean speaker; never an adult
voice-actor tone; never dubbed.

빈칸 템플릿

@voice_______v1template
NAME: A [나이]-year-old South Korean [man/woman] with a [음역대],
[질감] voice. [속도·리듬] [표준어/○○ 사투리] Korean in a
[말투 캐릭터] cadence.
Definitely a native South Korean speaker; never a foreign, dubbed
or AI-narrator accent; [사투리/표준어 잠금]; [나이 잠금(필요시)].
제7장

나쁜 예 → 좋은 예

✕ 나쁜 예 민준: 차가운 목소리로 말한다.
"차갑다"는 감정이지 목소리가 아니다. 나이도, 음역대도, 억양도, 네거티브도 없다 — 모델이 전부 알아서 채우고, 씬마다 다르게 채운다. 감정어를 고정층에 넣었으니 모든 씬에서 차갑게만 말하게 되는 문제도 생긴다.
✓ 좋은 예 프로필(모든 씬 동일): MIN-JUN: A 29-year-old South Korean man with a dry, mid-low baritone. Unhurried standard Seoul Korean, flat and measured. Definitely native Korean; never a foreign or narrator accent.
이 씬의 딜리버리(씬마다 교체): In this scene his delivery is cold and clipped; he is suppressing anger, not raising his voice.

"차가움"이 고정층에서 빠져나와 변동층으로 갔다는 점이 핵심이다. 다음 씬에서 민준이 웃어야 한다면 프로필은 그대로 두고 딜리버리 문장만 바꾸면 된다.

제8장

사고 체크리스트 — 무너지는 여섯 가지 방식

프롬프트를 내보내기 전에 이 여섯 개만 훑는다.

F1허공 참조

"voice per locked profile"이라고만 쓰고 프로필 원문을 프롬프트에 안 실었다. 모델은 그 프로필을 본 적이 없다.

잠금 프로필 원문을 VOICES 섹션에 통째로 붙여넣는다. 참조만 하는 목소리는 존재하지 않는 목소리다.

F2네거티브 누락

"런던 억양" "서울말"까지만 쓰고 금지 방향을 안 적었다. 기본 드리프트(미국 억양·외국인 한국어·TTS톤)가 그대로 들어온다.

프로필 마지막 줄에 반드시 never 문장을 붙인다. 제3장의 한국어 네거티브 4종 참조.

F3감정을 고정층에

프로필에 "화난" "슬픈" 같은 감정어를 박았다. 캐릭터가 모든 씬에서 같은 감정으로 말한다.

프로필에는 물리적 성질(나이·음역·질감·속도·억양)만. 감정은 씬 프롬프트의 딜리버리 문장으로.

F4닮은꼴 캐스팅

한 씬의 두 화자가 음역대·속도·질감이 비슷하다. 모델이 두 목소리를 섞거나 바꿔치기한다.

네 축(음역·속도·질감·억양) 중 최소 두 축 이상 벌어지게 프로필을 수정한다.

F5침묵 캐릭터 무규격

화면에 있지만 말하면 안 되는 캐릭터(재갈·기절·군중)의 소리를 지정하지 않았다. 모델이 대사를 지어준다.

발화자 수를 명시하고("Two speakers only"), 침묵 캐릭터의 비언어 사운드를 종류·원인까지 규격화한다("muffled grunts, no intelligible dialogue").

F6패러프레이즈 드리프트

같은 캐릭터의 프로필 문구가 씬마다 조금씩 다르다. 문구가 흔들리면 목소리도 흔들린다.

확정 프로필은 버전 태그를 붙여 원본 문서에 보관하고, 모든 씬에 토씨까지 동일하게 복붙한다. 수정하면 버전을 올린다.

실증

실험으로 검증 — Seedance 2.0 실측 사례

이 바이블의 규칙이 실제로 작동하는지 Seedance 2.0으로 검증했다. 캐릭터마다 고정층(외모 묘사 + VOICE 프로필)을 3컷에 토씨까지 동일하게 복붙하고, 변동층(대사·감정·동작)만 컷마다 갈았다. 생성 후에는 STT(음성→텍스트) 전사로 대사 리터럴을 대조하고 볼륨 레벨을 계측했다. 모든 영상은 아래에서 바로 재생된다.

사례 1 — 미루

@voice_MIRU_v1기본 난도

2D 애니 · 16세 츤데레 여고생 · 과장된 애니 더빙톤 고음. 같은 목소리가 새침→당황→수줍 세 감정을 오가는지 — 고정층/변동층 분리의 검증.

VOICE 프로필 — 3컷 동일 복붙fixed layer
MIRU: A 16-year-old girl voiced in exaggerated anime-dubbing
style — very high, bright, slightly squeaky voice with big pitch
swings and drawn-out sentence endings. Fast, bouncy Korean with
theatrical voice-actress energy.
Definitely a stylized anime-dubbing tone; never a natural
live-action voice; never an AI-narrator or TTS tone; never a
foreign accent.
컷 1 · 새침"흥, 딱히 널 기다린 건 아니거든?!"sharp, haughty, chin up — 교과서적 츤데레 부정
컷 2 · 당황"뭐?! 아, 아니야! 그런 거 아니라고!"flustered, voice cracking into squeaky peaks — 말 더듬으며 급하게
컷 3 · 수줍"그... 그래도, 와줘서 고마워. 진짜로."soft, shy — 평소보다 훨씬 조용하지만 같은 고음
컷대본STT 전사 결과판정
1흥, 딱히 널 기다린 건 아니거든?!"딱시 널 덜 기다린 건" — 빠른 발화로 일부 뭉개짐준일치
2뭐?! 아, 아니야! 그런 거 아니라고!"왜? 어? 아니야. 그런 거 아니라고!"준일치
3그... 그래도, 와줘서 고마워. 진짜로.토씨까지 일치일치
배운 것 — 빠르고 과장된 톤은 발음 예산을 넉넉히. "fast, bouncy + theatrical"을 시키면 감탄사·조사가 뭉개질 수 있다. 흥분 컷일수록 대사를 짧게 쓰거나, 정확도가 중요한 단어를 대사 앞쪽에 배치하는 게 안전하다. 목소리 자체는 3컷 내내 같은 고음으로 유지됐고 감정만 바뀌었다 — 고정층/변동층 분리 성공.

사례 2 — 류 장로

@voice_RYUHIME_v1최고 난도

2D 애니 · 겉모습은 10살 은발 소녀, 목소리는 80살 노파. 외모 나이와 목소리 나이를 일부러 어긋낸 실험 — 모델은 아이 얼굴을 보면 아이 목소리를 주려는 편향이 있어서, 네거티브 잠금이 그 편향을 이기는지가 승부처였다.

VOICE 프로필 — 3컷 동일 복붙fixed layer
ELDER RYU: An ancient dragon elder in the body of a 10-year-old
girl. Her voice is the OPPOSITE of her appearance — a low, raspy,
smoky old-woman's voice, slow and commanding, like an 80-year-old
master. Archaic, haughty Korean with drawn-out sage-like endings.
The voice never matches her childlike look: never a cute
high-pitched child voice; never a young woman's voice; never an
AI-narrator or TTS tone.
컷 1 · 호통"네 이놈, 감히 내 잠을 깨우느냐."low, slow, commanding — 아주 오래되고 강한 존재의 으르렁거림
컷 2 · 마른 웃음"허허... 삼백 년 만에 손님이로구나."dry, wheezy old chuckle — 웃음이 말끝으로 굴러들어가게
컷 3 · 달램"가까이 오너라. 물지 않느니라."softer and coaxing — 부드러워져도 같은 걸걸함 유지
컷대본STT 전사 결과판정
1네 이놈, 감히 내 잠을 깨우느냐.토씨까지 일치일치
2허허... 삼백 년 만에 손님이로구나.일치 + STT가 웃음을 [웃음]으로 별도 검출일치
3가까이 오너라. 물지 않느니라.토씨까지 일치일치
증명한 것 — 네거티브 잠금은 모델의 시각 편향을 이긴다. "never a cute high-pitched child voice" 금지문 + "OPPOSITE of her appearance" 명시적 어긋내기 선언으로, 아이 얼굴에 노파 목소리가 3컷 내내 유지됐다. 옛말투 어미(-느냐/-로구나/-느니라)까지 전부 살아남았고, "마른 웃음을 섞으라"는 변동층 지시도 실제 웃음소리로 들어갔다. 외모와 목소리는 별개 채널이다 — 각각 따로 잠그면 따로 통제된다.

실험에서 나온 규칙 보강 두 가지는 본문에 이미 반영돼 있다: 대사 볼륨 명시(제4장 변동층 5번 — 볼륨 미지정 시 피크 -16dB까지 떨어진 실측 사례), 외모-목소리 어긋내기(제5장 고급 기법).