배우 없이 말하는 사람을 만든다
인스타나 유튜브 쇼츠에서 사람이 카메라를 보고 편하게 조언하는 영상, 요즘 광고 시장에서 가장 잘 먹히는 포맷입니다. 광고처럼 안 보여서 스크롤이 멈추기 때문입니다. 문제는 그 "사람"이었습니다. 배우를 섭외하거나 본인이 카메라 앞에 서야 했고, 컨셉을 바꾸려면 처음부터 다시 찍어야 했습니다.
지금은 사진 한 장이면 됩니다. GPT Image 2(text to image AI)로 캐릭터 사진을 만들고, 제미나이 옴니 플래시(Higgsfield Gemini Omni Flash)에 그 사진과 대사를 주면 입싱크, 목소리, 미세한 고개 움직임까지 한 번에 나옵니다. 목소리를 따로 녹음하지도, 입모양을 따로 맞추지도 않습니다.
이 글은 90세 회장님 캐릭터로 60초 모놀로그 한 편을 실제로 만들면서 확인한 공정을 그대로 정리한 가이드입니다. 프롬프트는 전부 복사해서 바로 쓸 수 있고, 인물·옷·배경 자리만 바꾸면 여러분의 캐릭터가 됩니다.
- 캐릭터 스틸 프롬프트 전문UGC 질감을 만드는 리얼함 레버 5가지가 박힌 GPT Image 2 프롬프트 — 인물·옷·배경만 갈아끼우면 됩니다
- 보이스 리얼 블록성우톤 AI 목소리를 잡는 목소리 지시문 — 매 클립 그대로 반복하는 게 핵심입니다
- 60자 = 10초 규칙한글 대사 60자 안팎이 옴니 클립 10초에 딱 들어가는 실측 기준
- 클립 체인 이음새 규칙 3종문장 경계 컷, 정지 구도, 더블 레퍼런스 핸드오프로 10초 한계를 넘는 법
- 꼬리컷 마감말 끝나고 남는 죽은 프레임을 ffmpeg로 잘라 자연스러운 UGC 점프컷을 만드는 법
준비물 — 힉스필드 연결
두 모델은 모두 힉스필드가 호스팅합니다. 클로드 같은 AI에 힉스필드를 연결해두면 채팅으로 지시만 해도 생성이 됩니다. 연결은 MCP 커넥터 하나면 끝납니다.
힉스필드 MCP 연결
0/4 완료
클로드 코드(Claude Code)를 터미널에서 쓰는 경우에도 같은 엔드포인트를 MCP 서버로 등록하면 됩니다. 생성을 돌리기 전에 크레딧 견적부터 무료로 확인할 수 있습니다.
higgsfield model get gemini_omni # 스펙 확인 — 720p 전용, 최대 10초, 9:16/16:9
higgsfield generate cost gemini_omni --prompt "test" --duration 10 # 무료 견적 (잡 생성 안 됨) — 10초 30크레딧아직 힉스필드 계정이 없다면 아래 링크에서 시작할 수 있습니다.
STEP 1 — 캐릭터 사진 한 장 (리얼함은 여기서 다 결정된다)
한 장짜리 사진이 캐릭터의 원본이 됩니다. 옴니는 이 사진을 움직일 뿐이라, 리얼함의 레버는 전부 이미지 프롬프트 안에 있습니다. 아래는 실제로 쓴 프롬프트 전문입니다. < > 부분만 바꾸면 됩니다.
UGC style talking head photo of <인물: a Korean man who is 90 years old but looks remarkably youthful and vital, like a fit healthy man in his mid 60s>, warm confident smile lines, full silver hair neatly styled, healthy glowing skin, dressed in <옷: a fine cream cashmere crewneck knit sweater with a clean white t-shirt visible underneath at the collar>, simple elegant wristwatch, sitting in <배경: a warm private study with dark wooden bookshelves, a green banker's lamp and a leather armchair>, natural daylight from a window on one side, real soft shadows on his face, mid-sentence expression as if caught while talking, mouth slightly open, candid and unposed, slightly off-center framing, shot on a phone, no color grading, raw and real, vertical formathiggsfield generate create gpt_image_2 \
--prompt "<위 프롬프트 전문>" \
--aspect_ratio 9:16 --wait이 프롬프트에서 지우면 안 되는 리얼함 레버가 다섯 개 있습니다.
| 레버 | 프롬프트 조각 | 왜 |
|---|---|---|
| 말하다 걸린 표정 | `mid-sentence expression, mouth slightly open` | 포즈 잡은 얼굴은 광고 티가 납니다 |
| 진짜 조명 | `natural daylight from a window, real soft shadows on his face` | 스튜디오 조명이 곧 AI 티입니다 |
| 보정 없음 선언 | `no color grading, candid and unposed, raw and real` | 매끈함 자체가 가짜라는 신호입니다 |
| 폰카 구도 | `slightly off-center framing, shot on a phone` | 일부러 어긋나야 UGC로 읽힙니다 |
| 계층·직업 신호 | 소품으로 — 캐시미어, 시계, 서재, 가죽 의자, 뱅커스 램프 | "부자"라고 쓰지 말고 소품으로 보여줍니다 |
'in his 90s'처럼 나이 숫자만 쓰면 모델이 깊은 주름의 진짜 90대 얼굴을 그립니다. 원하는 체감 나이를 비유로 지정하세요 — '90 years old but looks remarkably youthful and vital, like a fit healthy man in his mid 60s'라고 쓰면 건강한 회장님이 나옵니다. 실측으로 확인한 차이입니다.
변주는 전부 프롬프트 한 조각 교체로 끝납니다. 인물 서술을 Korean woman in her 30s, office worker...로 바꾸면 다른 배우가 되고, 배경을 서재에서 평범한 거실로 바꾸면 계층 신호가 통째로 바뀝니다. 옷만 바꾸고 싶으면 스틸만 다시 뽑으면 되고 이후 영상 공정은 그대로입니다. 시리즈 양산이 여기서 나옵니다.
STEP 2 — 말하게 하기 (목소리가 최대 함정)
옴니에 스틸 한 장과 대사를 주면 발화 영상이 나옵니다. 클립 하나는 최대 10초, 한글 대사 60자 안팎이 10초에 딱 들어갑니다.
The man in the reference photo talks directly to camera, continuous single handheld shot, natural small head movements, occasional hand gestures and blinks, phone camera look preserved, the background stays exactly as in the photo. VOICE: a real elderly Korean man around 90 — slightly raspy and breathy with age, slower cadence, natural pauses mid-sentence, small imperfections and mouth sounds, warm but unpolished, casual conversational tone like chatting with his grandchild. NOT a smooth announcer, NOT an audiobook narrator, NOT a TTS voice. Natural quiet room ambience in the background. He says in Korean: '(여러분의 대사 — 한글 60자 안팎이 10초에 들어갑니다)' At the very end he finishes the sentence and pauses calmly, mouth closed, looking at camera. No subtitles, no captions, no on-screen text. no watermarkhiggsfield generate create gemini_omni \
--prompt "<위 프롬프트 전문>" \
--image character-still.png \
--aspect_ratio 9:16 --duration 10 --wait여기서 가장 크게 실패했던 게 목소리입니다. 처음에 warm, deep, confident elderly Korean voice라고 시켰더니 성우가 읽어주는 내레이터 톤이 나왔습니다. 듣는 순간 AI인 걸 알 수 있는 바로 그 목소리입니다. 해결책은 프롬프트 가운데의 VOICE 문단, 보이스 리얼 블록입니다.
VOICE: a real elderly Korean man around 90 — slightly raspy and breathy with age, slower cadence, natural pauses mid-sentence, small imperfections and mouth sounds, warm but unpolished, casual conversational tone like chatting with his grandchild. NOT a smooth announcer, NOT an audiobook narrator, NOT a TTS voice. Natural quiet room ambience in the background.목소리가 AI처럼 들리지 않게 하는 세 가지입니다.
1. "따뜻하고 신뢰감 있는 목소리" 같은 성우 주문 금지 — 그게 바로 AI 목소리가 나오는 이유입니다. 위처럼 숨소리, 느린 호흡, 미완성 톤을 시키세요.
2. 대사에 잔 필러를 심으세요. "그게… 생각보다 간단합니다"처럼 문장을 쓰다 만 듯한 말줄임과 쉼표가 사람 냄새를 만듭니다.
3. VOICE 문단은 클립마다 토씨 하나 바꾸지 말고 반복하세요. 스펙이 구체적이고 동일할수록 모델이 고르는 목소리가 같은 지점으로 수렴합니다. 두루뭉술하게 쓰면 클립마다 딴 목소리가 나옵니다.
캐릭터가 다르면 VOICE 블록의 나이·성별 부분만 인물에 맞게 고치고, 구조는 그대로 두세요. 숨소리와 불완전함을 지시하고 성우·오디오북·TTS를 부정하는 뼈대가 이 블록의 본체입니다.
체인에 넘기는 레퍼런스는 전부 이미지라서 모델은 앞 클립 목소리를 들은 적이 없습니다. 그런데도 유지되는 이유는 두 가지 — ① 보이스 블록을 매 클립 똑같이 반복하면 모델의 목소리 선택이 같은 지점으로 수렴하고, ② 옴니는 인물 외모(연령·성별·체격)에 맞춰 목소리를 고르기 때문에 같은 얼굴에서 출발하면 선택지 자체가 좁아집니다. 'same voice as the previous clip' 같은 문구는 모델이 앞 클립을 못 들으니 실효가 없습니다.
STEP 3 — 10초 넘는 대사는 클립 체인
옴니는 클립당 최대 10초입니다. 30초, 60초 모놀로그는 대사를 문장 단위로 쪼개 클립 여러 개를 만들고 잇습니다. 이음새 규칙은 세 개입니다.
첫째, 클립 경계는 문장 경계입니다. 대본을 클립당 60자 안팎, 문장이 끝나는 지점에서 자릅니다. 문장 중간에 자르면 이음새가 티 납니다.
둘째, 매 클립을 정지 구도로 끝냅니다. 프롬프트 끝의 At the very end he finishes the sentence and pauses calmly, mouth closed, looking at camera가 그 지시입니다. 이게 있어야 마지막 프레임이 깨끗하게 나와서 다음 클립에 넘길 수 있습니다.
셋째, 더블 레퍼런스 핸드오프입니다. 앞 클립의 마지막 프레임을 뽑고,
ffmpeg -sseof -0.1 -i clip1.mp4 -frames:v 1 clip1-last.png다음 클립을 만들 때 ①방금 뽑은 마지막 프레임과 ②원본 캐릭터 사진을 둘 다 --image로 넣습니다. 프레임만 넘기면 화질 열화가 누적되고, 원본만 넘기면 이음새가 어긋납니다. 그리고 프롬프트 맨 앞에 이 줄을 추가합니다.
Continues seamlessly from the reference frame — the exact same man in the exact same room, same framing, same phone camera look.higgsfield generate create gemini_omni \
--prompt "Continues seamlessly from the reference frame — ... <이하 STEP 2와 동일, 대사만 다음 문장으로>" \
--image clip1-last.png --image character-still.png \
--aspect_ratio 9:16 --duration 10 --wait프롬프트만으로 목소리가 계속 안 잡히면 꺼낼 카드가 하나 더 있습니다. 옴니는 --video로 영상 레퍼런스 1개를 받는데, 앞 클립 mp4를 통째로 넘기면 목소리와 말투를 실제로 듣고 맞춥니다. 대신 이미지 레퍼런스 자리가 최대 5장으로 줄어드니 기본 공정에서는 쓰지 않고, 안 잡힐 때의 예비 수단으로 남겨두세요.
STEP 4 — 꼬리 자르고 이어붙이기
옴니 클립은 말이 끝나고도 10초를 채우느라 0.6~1.2초씩 죽은 꼬리가 남습니다. 움찔하거나 의미 없이 기다리는 프레임입니다. 이걸 잘라내고 합치면 "말 끝나자마자 다음 문장"으로 넘어가는 자연스러운 UGC 점프컷이 됩니다. 정지 구도 지시 덕에 클립 경계 앞뒤 포즈가 거의 같아서, 꼬리만 빼면 이음새가 사라집니다.
먼저 클립마다 말이 끝나는 시각을 오디오로 찾습니다.
# 마지막 silence_start가 발화가 끝나는 시각
ffmpeg -i clip1.mp4 -af silencedetect=noise=-37dB:d=0.35 -f null - 2>&1 | grep silence_start컷 지점은 마지막 silence_start에 0.25~0.3초를 더한 곳입니다. 여운 한 박자만 남기는 겁니다. 예외가 둘 있습니다. 발화가 끝까지 차 있는 클립은 자르지 않고, 마지막 클립은 끄덕임·미소 여운을 살려 0.7초쯤 더 남깁니다.
정밀 컷은 -c copy로는 안 됩니다(키프레임 단위로만 잘림). 트림과 합치기를 한 번의 재인코딩으로 처리합니다.
# 클립 2개 예시 — 클립 수만큼 같은 패턴으로 늘리면 됩니다
ffmpeg -i clip1.mp4 -i clip2.mp4 -filter_complex \
"[0:v]trim=end=9.0,setpts=PTS-STARTPTS[v0];[0:a]atrim=end=9.0,asetpts=PTS-STARTPTS[a0];\
[1:v]trim=end=9.7,setpts=PTS-STARTPTS[v1];[1:a]atrim=end=9.7,asetpts=PTS-STARTPTS[a1];\
[v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]" \
-map "[v]" -map "[a]" -c:v libx264 -crf 18 -c:a aac -b:a 192k final.mp4ffmpeg가 부담스러우면 이 단계 전체를 클로드 코드에 맡기면 됩니다. 클립 파일들을 폴더에 두고 "클립마다 말 끝나고 남는 어색한 대기 프레임을 잘라서 하나로 이어 붙여줘. 마지막 클립은 여운을 좀 남겨줘"라고 시키면 위 명령을 알아서 돌립니다. 실측에서는 6클립 60.05초짜리가 이 공정을 거쳐 57.96초가 됐고, 경계마다 있던 움찔거림이 사라졌습니다.
마지막으로 클립 간 목소리 톤이 미세하게 어긋나면, 클립별로 손대지 말고 완성본에 힉스필드 voice_change를 한 번만 돌려 전 구간을 통일합니다.
higgsfield generate create voice_change \
--video final.mp4 --voice_id <프리셋 또는 클론 보이스 ID> --voice_type preset --wait차이가 안 느껴지면 건너뜁니다. 불필요한 변환은 음질만 깎습니다.
자주 하는 실수
같은 캐릭터로 60초 모놀로그를 만들면서 실제로 밟은 함정들입니다. 미리 알아두면 리롤 크레딧을 아낍니다.
- 나이를 숫자로 지정하지 않는다'in his 90s'는 폭삭 늙은 얼굴이 나옵니다. 체감 나이를 비유로 — '90세인데 건강한 60대처럼'
- 성우 주문을 하지 않는다'warm, deep, confident'가 성우톤 AI 목소리의 원인이었습니다. 보이스 리얼 블록으로 숨소리와 불완전함을 시키세요
- VOICE 블록을 클립마다 바꾸지 않는다토씨 하나 다르면 목소리가 흔들립니다. 매 클립 그대로 복붙이 정답입니다
- 문장 중간에 클립을 자르지 않는다클립 경계는 반드시 문장 경계 — 60자 안팎에서 문장이 끝나게 대본을 다듬으세요
- 정지 구도 지시를 지우지 않는다'pauses calmly, mouth closed'가 빠지면 마지막 프레임이 지저분해져 체인이 무너집니다
- 목소리 판정은 사람 귀로 한다얼굴·의상·배경 검수를 다 통과한 클립이 목소리에서 걸렸습니다. 시각 검수로는 안 잡힙니다
검수 루틴도 같이 적어둡니다. 클립마다 프레임을 서너 장 뽑아 얼굴·의상·배경이 원본 스틸에서 변형되지 않았는지 대조하고, 자막이나 텍스트가 멋대로 들어오지 않았는지, 입싱크가 맞는지 확인합니다. 얼굴도 리롤마다 복불복이라 눈으로 대조하는 수밖에 없습니다.
비용 (실측)
- 발화 클립: 10초 30크레딧, 8초 24크레딧 — 60초 모놀로그 6클립이면 180크레딧
- 캐릭터 스틸: GPT Image 2 이미지 단가
- 견적은 higgsfield generate cost로 잡 생성 없이 무료 확인
정리
사진 한 장이 배우가 되고, 프롬프트 한 조각이 캐스팅이 됩니다. GPT Image 2가 캐릭터를 만들고, 제미나이 옴니 플래시가 목소리와 입을 입히고, ffmpeg 마감 한 번이면 60초 모놀로그가 나옵니다. 인물 서술만 갈아끼우면 두 번째 배우부터는 만드는 시간이 급격히 줄어듭니다.
대사는 여러분 것을 쓰세요. 훅으로 시작해서 구체적인 근거를 거쳐 행동 제안으로 끝나는 구조면 어떤 캐릭터에도 붙습니다.
한 가지만 지키고 쓰시면 됩니다. 이렇게 만든 인물은 실존하지 않는 AI 인물입니다. 광고나 후기 형식으로 상업적으로 쓸 때는 AI 생성 표기 등 관련 규정을 꼭 확인하세요.
힉스필드 제미나이 옴니 플래시로 페이퍼 콜라주 다큐 만들기 — 스타일 시트 한 장 워크플로우
스타일 시트 한 장을 고정하고 소재별로 한 문단만 바꾸면, 제미나이 옴니 플래시가 내레이션까지 구워진 10초 콜라주 영상을 시리즈로 뽑아냅니다. 나노 바나나 2 라이트로 기준 이미지를 만들고, 힉스필드에서 영상으로 잇는 전 공정을 실측 프롬프트 전문과 함께 공개합니다.
GPT 이미지 2 + 시댄스 2 가이드
GPT 이미지 2로 실사급 이미지를 만들고, 힉스필드의 시댄스 2로 영상까지 연결하는 전체 워크플로우를 정리했습니다. 사고 모드 활성화, 4K 출력, 이미지 투 비디오 변환까지 한 번에 확인할 수 있습니다.
클로드 오퍼스 4.7 + 힉스필드 Seedance 2.0으로 향수 광고 혼자 만드는 가이드
클로드 오퍼스 4.7의 비주얼 디렉팅 능력과 힉스필드 Marketing Studio, Seedance 2.0을 조합해 가상 향수 브랜드 '누잇(Nuit)' 광고 15초를 기획부터 완성 영상까지 혼자 만드는 전 과정을 정리했습니다. 실제 JSON 프롬프트 3종도 같이 공개합니다.
