왜 장면마다 얼굴이 바뀌나
이미지 모델은 요청을 받을 때마다 그림을 새로 그린다. «짧은 검은 머리, 둥근 얼굴의 30대 남자»라는 문장에 맞는 얼굴은 수없이 많고, 모델은 그중 하나를 매번 새로 고른다. 문장이 아무리 길어도 «이 사람»을 하나로 못 박기는 어렵다.
이것은 사용자 실력 문제만이 아니다. OpenAI의 API 이미지 생성 가이드는 이미지 모델의 한계 목록에 «반복해서 나오는 캐릭터나 브랜드 요소의 시각적 일관성을 여러 번 생성하는 동안 유지하기 어려울 때가 있다»는 항목을 넣었다. 같은 목록에는 글자를 정확한 위치에 선명하게 넣는 일도 아직 어려울 수 있다는 항목이 있다.
모델도 나아지고는 있다. OpenAI는 2026년 9월 8일 ChatGPT Images 2.5를 발표하면서, 참조 사진 속 대상을 더 잘 지키고 여러 번 이어서 고칠 때 편집 지시를 더 안정적으로 따른다고 적었다. 생성 지연은 Images 2.0보다 최대 50% 줄었다고 밝혔고, ChatGPT · ChatGPT Work · Codex 사용자 전체에 제공된다고 했다. 다만 «더 잘 지킨다»는 개선이지 «항상 같은 얼굴»이라는 보장은 아니다. 그래서 모델에게 기대는 것과 별도로, 사람이 «이 사람은 이렇게 생겼다»는 기준을 한 장으로 만들어 쥐고 있는 것이 시트의 역할이다.
캐릭터 시트란 — 일곱 칸 한 장
캐릭터 시트는 한 인물을 여러 각도와 상태로 한 장에 모은 기준 그림이다. 애니메이션 제작에서 여러 사람이 같은 캐릭터를 그릴 때 쓰는 «모델 시트»와 같은 생각이다. 여기서는 AI에게 줄 참조용으로 칸을 일곱 개로 나눈다.
| 칸 | 담는 것 | 왜 필요한가 |
|---|---|---|
| A 대표 상반신 | 가장 크게 그린 기준 얼굴 | 모든 판정의 기준점 |
| B 전신 4방향 | 앞 · 3/4 · 옆 · 뒤 | 키 · 체형 · 옷 실루엣이 장면마다 흔들리지 않게 |
| C 얼굴 3각도 | 앞 · 3/4 · 옆얼굴 + 눈 · 코 · 입 · 머리 확대 | 옆모습 장면에서 얼굴이 바뀌는 것을 막는 핵심 칸 |
| D 표정 | 무표정 · 미소 · 생각 · 피곤 · 놀람 · 걱정 · 차분 · 웃음 | 표정이 바뀌어도 같은 사람으로 보이는지 |
| E 포즈 | 서기 · 걷기 · 앉기 · 기대기 · 손 넣기 · 올려다보기 | 자주 쓸 몸짓을 미리 정해 둠 |
| F 옷 · 소품 | 깃 · 단추 · 천 · 신발 확대 | 옷이 얼굴만큼 «그 사람»을 알아보게 함 |
| G 색 견본 | 머리 · 피부 · 옷 색(필요하면 HEX 값) | 빛이 바뀌어도 기본 색을 지킴 |
칸을 다 채울 필요는 없다. 우선순위를 매기면 C(얼굴 3각도)와 B(전신 4방향)가 가장 중요하다. 장면 그림에서 얼굴이 가장 자주 무너지는 때가 정면이 아닌 각도이기 때문이다. 표정 · 포즈 칸은 그 캐릭터가 실제로 자주 할 표정과 몸짓만 넣어도 된다.
만드는 순서 — 다섯 단계
1. 기준 그림 고르기
출발점은 권리가 분명한 그림이다. 직접 만든 캐릭터 그림, 직접 그린 스케치가 가장 안전하다. OpenAI 이용 정책은 동의 없이 다른 사람의 모습(실사 이미지 · 목소리 포함)을 진짜인지 헷갈리게 하는 방식으로 쓰는 것을 금지하고, 18세 미만을 특별히 보호하는 조항을 따로 두었다. 남의 사진, 연예인 사진, 아이 사진을 넣어 시트를 만드는 일은 하지 않는다.
기준 그림은 한 장보다 두세 장이 낫다. 한 장이면 그 그림의 우연한 특징(그날의 조명, 살짝 벌린 입)까지 «이 사람의 특징»으로 굳는다. 서로 다른 장면에서 같은 사람으로 보이는 그림 두세 장을 고르면 공통점만 남는다.
2. 고정 묘사 문장 쓰기
그림과 별도로 «바뀌면 안 되는 것» 목록을 글로 만든다. 그림만 주면 모델이 무엇을 지켜야 하는지 모르고, 글만 주면 얼굴이 하나로 안 정해진다. 둘을 같이 준다.
- 얼굴형 · 눈 모양 · 쌍꺼풀 유무
- 머리 길이 · 결 · 앞머리 모양 · 색
- 안경 유무 · 수염 유무 · 점이나 흉터 같은 표시
- 대략의 나이대 · 체형
- 화풍(실사 · 반실사 · 만화풍, 붓 자국 여부)
«안경 없음», «수염 없음»처럼 없는 것을 적는 줄이 의외로 중요하다. 적지 않으면 어떤 장면에서는 안경이 생기고 어떤 장면에서는 수염이 자란다.
3. 시트 요청
아래 «요청문 틀» 절의 시트용 틀에 고정 묘사를 넣고, 기준 그림과 함께 보낸다. 칸 이름 · 이름표 같은 글자는 그림 안에 넣지 말라고 적는다. OpenAI 가이드가 글자 배치를 한계로 적은 만큼, 글자가 들어가면 철자가 깨진 채 시트에 박히기 쉽다. 칸 이름이 필요하면 그림을 받은 뒤 편집 프로그램으로 얹는다.
4. 시트를 눈으로 검사
시트가 나오면 기준 그림과 나란히 놓고 칸마다 본다. 이 단계에서 떨어진 시트는 쓰지 않는다. 틀린 시트를 참조로 쓰면 그 틀린 얼굴이 이후 장면에 계속 복제된다. 검사 항목은 아래 «점검표» 절에 모았다.
5. 장면마다 시트 + 기준 그림 + 고정 묘사
장면을 그릴 때는 «장면 문장»만 매번 바꾸고, 시트 · 기준 그림 · 고정 묘사는 그대로 같이 넣는다. OpenAI API 가이드는 참조 이미지를 하나 이상 넣어 새 이미지를 만들 수 있다고 설명한다. 부분만 고치려고 마스크를 쓸 때는 주의할 점이 있다. 입력 이미지가 여러 장이면 마스크는 첫 번째 이미지에 적용되고, 마스크는 프롬프트 기반이라 모양을 정확히 따르지 않을 수 있다고 가이드에 적혀 있다. 고칠 그림을 맨 앞에, 시트와 기준 그림을 그 뒤에 넣는다. ChatGPT 화면에서는 Images 2.5부터 그림 위에 직접 댓글을 달아 그 부분만 고치는 기능이 생겼다고 발표 글이 밝혔다.
요청문 틀 — 시트용과 장면용
영어로 쓰면 모델이 칸 구성을 더 일정하게 따르는 편이라 틀은 영어로 둔다. 대괄호를 채워 쓴다.
Create ONE character reference sheet of the SAME person shown in the reference images.
Keep exactly: [face shape], [eye shape, single or double eyelids], [hair length, texture, bangs, color],
[no glasses], [no beard], [age range], [body type]. Art style: [painterly warm digital illustration, not a photo].
Light neutral background. No text, no letters, no numbers, no logos anywhere. Leave label areas blank.
Layout as a grid:
[A] large half-body portrait
[B] full-body turnaround: front, three-quarter, side, back
[C] face: front, three-quarter, profile, plus close-ups of eyes, nose, lips, hair
[D] expressions: neutral, gentle smile, thoughtful, tired, surprised, worried, calm, laughing
[E] poses: standing, walking, sitting, leaning, hands in pockets, looking up
[F] outfit details: [top], [outerwear], [shoes]
[G] color swatches only for hair, skin, main outfit colors (no labels)장면용은 짧다. 얼굴 묘사는 시트와 같은 문장을 그대로 붙이고, 바뀌는 것만 적는다.
Use the character sheet and reference images: draw the SAME person (same face, hair, no glasses, no beard).
Scene: [where], [time of day and light], [what the person is doing], [outfit for this scene].
Framing: [waist-up / full body], person [not looking at the viewer].
No other people. No text, signs, logos, or numbers in the image. Same art style as the sheet.«No other people(다른 사람 없음)»과 «not looking at the viewer(정면 응시 아님)»처럼 장면에서 자주 어긋나는 것을 처음부터 적어 두면 다시 뽑는 횟수가 줄어든다. 간판 · 표지판이 나올 법한 장면이라면 «글자 없음»을 장면 문장에도 한 번 더 쓴다.
어긋날 때 고쳐 넣는 문장
시트나 장면 그림이 떨어졌을 때, 요청 전체를 새로 쓰기보다 어긋난 곳에 맞는 문장 하나를 더하는 편이 빠르다. 아래는 고침 문장을 증상별로 묶은 틀이다. 안경 · 수염, 화풍, 시선, 다른 인물, 글자 줄은 이 블로그의 일러스트 연재 요청문에 실제로 넣어 온 문장이고, 시트 칸을 가리키는 두 줄(옆얼굴 · 옷)은 시트를 쓸 때를 위해 만든 틀이라 아직 시험 전이다. 어느 문장이 듣는지는 모델과 장면에 따라 다르니, 한 번에 한 문장씩 더하고 결과를 비교한다.
| 증상 | 더하는 문장(영문 틀) | 메모 |
|---|---|---|
| 옆얼굴에서 다른 사람이 됨 | match the profile view in panel C exactly | 시트의 얼굴 3각도 칸을 직접 가리킴 |
| 안경 · 수염이 생김 | no glasses, no beard, clean-shaven | 없는 것을 매 장면 다시 적음 |
| 사진처럼 바뀜 | painterly illustration, visible brush strokes, not a photo | 화풍 줄을 장면마다 반복 |
| 정면을 노려봄 | not looking at the viewer, eyes on [대상] | 시선이 갈 곳을 함께 적어야 잘 먹힘 |
| 낯선 인물이 끼어듦 | no other people, empty [장소] | 길거리 · 카페 장면에서 자주 필요 |
| 간판 · 책등에 글자 | blank signs, no text, no numbers, no logos | 글자 나올 물건을 이름으로 짚음 |
| 옷에 얼굴이 끌려감 | same face as the sheet, only the outfit changes | 계절 옷처럼 큰 옷을 입힐 때 |
고침 문장이 늘어나면 공통으로 쓰는 것은 고정 묘사 쪽으로 옮긴다. 장면 문장은 짧게, 고정 묘사는 단단하게 두는 것이 오래 쓰기 좋다.
이 블로그의 기록 — 참조 그림 세 장으로 버틴 2주
이 블로그는 SNS에 하루 한 장씩 올리는 일러스트 연재에서 같은 남자 캐릭터를 그린다. 지금 방식은 시트가 아니라 그 전 단계다. 예전에 올린 그림 가운데 같은 사람으로 잘 나온 세 장을 잘라 참조로 넣고, 고정 묘사 문장(머리 모양 · 둥근 얼굴 · 안경 없음 · 화풍 · 그림 안 글자 금지)을 매번 같이 넣는다. 결과는 사람이 예전 그림 세 장과 새 그림을 나란히 놓고 같은 사람인지 눈으로 판정한다. 아래는 그 판정 기록을 센 것이다.
| 항목 | 기록 |
|---|---|
| 기간 | 2026년 10월 5일 ~ 10월 18일에 만든 그림 |
| 만든 그림 | 15장 |
| 첫 판에서 «같은 사람»으로 통과 | 14장 |
| 다시 뽑은 그림 | 1장 — 얼굴이 아니라 시선 문제(장면은 «연못을 보는 뒷모습»인데 어깨 너머로 보는 사람을 쳐다봄) |
| 다시 뽑을 때 고친 것 | 장면 문장에 «옆얼굴, 보는 사람을 보지 않음, 눈은 연못»을 넣음 → 둘째 판 통과 |
이 기록에서 얻은 것은 두 가지다. 하나, 참조 그림과 고정 묘사를 같이 넣는 것만으로도 상반신 · 3/4 얼굴 위주 장면에서는 꽤 버틴다. 둘, 어긋남은 얼굴보다 시선 · 다른 사람 등장 · 그림 속 글자 쪽에서 먼저 나왔다. 그래서 장면용 틀에 그 줄들을 미리 넣었다.
그런데도 시트를 준비해 두는 이유가 있다. 이 블로그가 정한 «시트로 바꿀 때»는 셋이다.
- 눈 검사에서 «다른 사람 같다»로 버리는 판이 두 번 넘게 나올 때
- 같은 인물을 짧은 영상으로 움직일 때 — 장면이 수십 프레임으로 늘면 옆모습 · 뒷모습이 훨씬 자주 나온다
- 계절이 바뀌어 코트 · 패딩처럼 실루엣이 큰 옷을 입힐 때 — 참조 그림의 옷에 얼굴까지 끌려가는지 봐야 한다
바꿀 때도 한 번에 갈아타지 않고, 참조 세 장에 시트 한 장을 더해 두 주쯤 나란히 비교한 뒤 정할 생각이다.
한계와 지킬 것
- 100% 같은 얼굴은 없다 — 시트는 어긋남을 줄이는 장치다. OpenAI도 일관성을 한계로 적었고, 마지막 판정은 사람 눈이 한다.
- 실존 인물 · 남의 사진 · 아이 사진은 쓰지 않는다 — 이용 정책이 동의 없는 타인의 모습 사용을 막고 18세 미만 보호를 따로 두었다.
- AI 그림 표시 — OpenAI는 자사 도구로 만든 그림에 C2PA 메타데이터와 보이지 않는 워터마크를 계속 넣는다고 밝혔다. 올리는 곳에 AI 생성 표시 규칙이 있으면 따른다.
- 글자는 따로 — 시트든 장면이든 그림 안 글자는 빼고, 필요하면 나중에 얹는다.
내 PC에서 ComfyUI로 그린다면 길이 조금 다르다. 같은 인물을 학습시킨 LoRA를 쓰거나, 참조 그림으로 느낌을 옮기는 노드(IP-Adapter 등)와 포즈를 따라 그리는 ControlNet을 섞는다. 이때도 시트는 «LoRA 학습용 그림을 고르는 기준»이나 «포즈 칸을 ControlNet 입력으로 쓰는 재료»로 쓸모가 있다.
점검표
시트를 받았을 때, 그리고 장면 그림을 받을 때마다 아래를 본다.
- 머리 — 길이 · 앞머리 모양 · 색이 기준 그림과 같은가
- 얼굴형 · 눈 — 둥근지 갸름한지, 눈매와 쌍꺼풀이 같은가
- 없는 것 — 안경 · 수염 · 점이 갑자기 생기지 않았는가
- 각도 — 옆얼굴 · 뒷모습 칸에서도 같은 사람으로 보이는가
- 화풍 — 기준이 반실사 그림인데 사진처럼 바뀌지 않았는가
- 손 — 손가락 수와 모양이 자연스러운가
- 글자 — 간판 · 옷 · 책등에 글자나 숫자, 로고가 들어가지 않았는가
- 다른 사람 — 요청하지 않은 인물이 끼어들지 않았는가
- 나란히 비교 — 기준 그림 두세 장 옆에 놓고 봤는가(새 그림만 보면 어긋남을 놓친다)
자주 묻는 것
캐릭터 시트를 쓰면 얼굴이 항상 똑같이 나오나요?
아닙니다. 시트는 장면마다 얼굴이 흔들리는 폭을 줄이는 기준 그림이지 보장 장치가 아닙니다. OpenAI도 API 가이드에서 반복 캐릭터의 일관성 유지를 이미지 모델의 한계로 적었습니다. 그래서 장면 그림마다 기준 그림과 나란히 놓고 사람이 판정하는 단계를 뺄 수 없습니다.
시트에 칸 이름이나 캐릭터 이름을 같이 넣어도 되나요?
넣지 않는 쪽을 권합니다. 이미지 모델은 글자를 정확한 위치에 선명하게 넣는 일을 아직 어려워해서, 철자가 깨진 글자가 시트에 박히고 그 글자가 장면 그림에 다시 나타날 수 있습니다. 칸은 비워 두고 이름표는 받은 뒤 편집 프로그램으로 얹습니다.
실제 사람 사진으로 시트를 만들어도 되나요?
본인이 동의한 경우가 아니라면 하지 않습니다. OpenAI 이용 정책은 동의 없이 다른 사람의 모습을 진짜와 헷갈리게 쓰는 것을 금지하고 미성년자 보호 조항을 따로 둡니다. 직접 만든 캐릭터 그림에서 출발하는 것이 가장 안전합니다.
기준 그림은 몇 장이 좋나요?
한 장보다 두세 장을 권합니다. 한 장이면 그 그림의 조명이나 표정 같은 우연한 특징까지 고정되고, 서로 다른 장면에서 같은 사람으로 보이는 그림 여러 장을 주면 공통 특징만 남기 쉽습니다. 이 블로그의 일러스트 연재도 예전 그림 세 장을 참조로 씁니다.
영상으로 움직일 때도 같은 시트를 쓰나요?
씁니다. 영상은 한 장면 안에서도 각도가 계속 바뀌어 옆모습 · 뒷모습이 자주 나오기 때문에, 전신 4방향과 얼굴 3각도 칸이 더 중요해집니다. 인물은 이미지 · 영상 모델로 만들고 글자와 전환은 코드로 얹는 방식(클로드 코드와 Remotion으로 모션그래픽 만들기)이라면, 시트는 인물 쪽 기준으로 계속 씁니다.
참고 자료
- OpenAI. Introducing ChatGPT Images 2.5 (2026-09-08) — 참조 사진의 대상을 더 잘 지킴, 여러 번 고칠 때 지시를 더 안정적으로 따르고 앞선 변경이 유지됨, Images 2.0보다 생성 지연 최대 50% 감소, ChatGPT · ChatGPT Work · Codex 사용자 전체 제공, API 모델 GPT-Image-2.5 Flare · Sunburst, 그림 위 댓글로 부분 고치기, C2PA 메타데이터와 보이지 않는 워터마크(2026-10-18 확인). openai.com
- OpenAI API Docs. Image generation guide — 모델 gpt-image-2.5-sunburst(편집 정밀) · gpt-image-2.5-flare(빠른 생성), 참조 이미지 하나 이상으로 새 이미지 생성, 마스크는 프롬프트 기반이라 모양을 정확히 따르지 않을 수 있음, 입력 이미지가 여러 장이면 마스크는 첫 이미지에 적용, 한계 «반복 캐릭터 · 브랜드 요소의 시각적 일관성 유지가 어려울 수 있음», 글자 위치 · 선명도 한계(2026-10-18 확인). developers.openai.com
- OpenAI. Usage policies — 동의 없이 실사 이미지 · 목소리를 포함한 다른 사람의 모습을 진위를 헷갈리게 하는 방식으로 쓰는 것 금지, 18세 미만 보호 조항(2026-10-18 확인). openai.com