이 글에서 다루는 인물은 실존하지 않는다. 생성형 이미지 모델로 만든 AI 가상 인물이고, 이 글에 실린 모든 사진은 촬영본이 아니라 생성된 이미지다. 특정 연예인이나 실제 인물을 재현하려는 시도도 아니다. 목적은 하나다. 실제로 존재하지 않는 얼굴 하나를 정하고, 그 얼굴을 여러 장면에 걸쳐 흔들리지 않게 유지하면서 피드 이미지를 자동으로 찍어내는 과정을 기술적으로 정리하는 것이다.

같은 인물인데 컷마다 얼굴이 달라졌다

가상 인플루언서를 만들겠다고 마음먹고 처음 이미지를 몇 장 뽑아봤을 때 바로 벽에 부딪혔다. 프롬프트에 나이대, 헤어스타일, 분위기를 아무리 자세히 적어도 생성할 때마다 다른 사람이 나왔다. 눈매가 바뀌고, 코 길이가 달라지고, 얼굴형이 넓어졌다 좁아졌다 했다. 한 장씩 따로 보면 그럴듯한데, 세 장을 나란히 놓으면 세 명이었다.

피드는 한 장짜리 이미지가 아니다. 같은 사람이 어제는 카페에 있었고 오늘은 새 옷을 입었다는 연속성이 있어야 계정이 성립한다. 컷마다 얼굴이 미세하게 어긋나면 보는 사람은 설명하기 어려운 위화감을 느낀다. 그래서 이 프로젝트의 진짜 과제는 예쁜 이미지를 뽑는 게 아니라 같은 얼굴을 붙잡아 두는 것, 즉 얼굴 일관성(consistency)이었다.

문제를 이렇게 다시 정의하고 나니 파이프라인의 뼈대가 잡혔다. 얼굴을 먼저 고정하고, 그다음에 장면만 바꾼다. 순서가 반대가 되면 매번 새 사람이 태어난다.

얼굴 레퍼런스 한 장을 기준으로 잠갔다

첫 단계는 기준 얼굴을 정하는 일이었다. 여러 후보를 생성한 뒤 정면에 가깝고 조명이 고른 얼굴 한 장을 골라 레퍼런스로 지정했다. 이 한 장이 이후 모든 생성의 기준점이 된다. 표정이 과하거나 머리카락이 얼굴을 많이 가린 컷은 기준으로 쓰기 나쁘다. 이목구비가 또렷하게 드러나는, 담백한 정면 컷이 가장 잘 붙는다.

레퍼런스를 잡는 방식은 크게 두 갈래다. 하나는 이미지-투-이미지 방식으로 기준 얼굴을 참조 이미지로 넣고 그 특징을 유지하도록 강제하는 것이고, 다른 하나는 시드(seed) 값을 고정해 생성기의 초기 상태를 재현하는 것이다. 이 둘은 배타적이지 않아서 함께 썼다. 레퍼런스 이미지로 얼굴 정체성을 잡고, 시드로 전반적인 톤과 질감의 흔들림을 줄이는 식이다.

여기서 중요한 건 한 번 고른 레퍼런스를 함부로 바꾸지 않는 규율이다. 중간에 더 마음에 드는 얼굴이 나왔다고 기준을 갈아치우면 그 시점부터 계정의 인물이 다른 사람이 된다. 기준은 프로젝트 내내 하나로 유지했다.

AI 가상 인플루언서 OOTD 룩북 이미지(AI 생성)

얼굴은 그대로 두고 포즈와 배경만 프롬프트로 바꿨다

얼굴을 잠갔으면 나머지는 장면 변수다. 프롬프트를 얼굴 파트와 장면 파트로 나눠서 관리했다. 얼굴 파트는 레퍼런스로 고정되어 있으니 프롬프트에서는 거의 건드리지 않고, 대신 포즈, 의상, 배경, 조명, 시간대 같은 장면 요소만 바꿨다.

예를 들어 OOTD 컷은 전신이 보이도록 카메라를 멀리 두고 그날의 코디를 지정하고, 카페 컷은 상반신 위주로 자연광이 드는 창가를 배경으로 넣었다. 일상 컷은 조금 더 편한 포즈와 생활 공간을 배경으로 잡았다. 이렇게 장면 프롬프트를 몇 개의 틀로 만들어 두면 같은 인물을 서로 다른 상황에 반복적으로 배치할 수 있다.

파이프라인 전체 흐름은 이렇게 정리된다.

AI 인플루언서 흐름도

핵심은 검수에서 탈락한 컷이 버려지고 끝나는 게 아니라 장면 프롬프트 단계로 되돌아간다는 점이다. 얼굴이 어긋난 원인은 대개 얼굴 자체가 아니라 극단적인 각도나 과한 표정 같은 장면 설정에 있어서, 장면 조건을 조정하면 다음 생성에서 다시 얼굴이 맞아 들어오는 경우가 많았다.

AI 가상 인플루언서 카페 일상 이미지(AI 생성)

생성한 컷을 그냥 쓰지 않고 반드시 일관성을 검수했다

자동화라고 해서 뽑은 이미지를 무조건 피드에 올리는 건 아니다. 생성과 게시 사이에 검수 단계를 끼워 넣었다. 검수의 기준은 단순하다. 이 얼굴이 기준 얼굴과 같은 사람으로 보이는가.

검수는 두 층으로 했다. 먼저 얼굴 임베딩을 뽑아 기준 얼굴과의 유사도를 수치로 재고, 미리 정한 임계값을 넘지 못한 컷은 자동으로 탈락시켰다. 이 자동 필터가 눈매가 크게 바뀌거나 얼굴형이 어긋난 명백한 실패를 걸러낸다. 그다음 임계값을 통과한 컷을 사람이 나란히 놓고 육안으로 확인했다. 수치로는 통과했는데 인상이 미묘하게 다른 경우가 남아 있기 때문이다.

이 얼굴 일관성 유지 구조를 그림으로 보면 다음과 같다.

AI 인플루언서 흐름도 2

승인된 컷만 모아 하나의 풀(pool)로 관리하니, 피드를 구성할 때는 이미 검증된 이미지 중에서 고르기만 하면 됐다. 실패한 컷이 계정에 올라가는 일이 구조적으로 막힌다.

검수 임계값은 너무 높게 잡으면 멀쩡한 컷까지 떨어져 생성 낭비가 커지고, 너무 낮게 잡으면 얼굴이 흔들린 컷이 새어 나온다. 몇 차례 돌려보며 통과율과 실제 위화감 사이의 균형점을 찾아 임계값을 조정했다.

동일 인물 얼굴 고정 일관성 테스트(AI 생성)

OOTD, 카페, 일상 세 갈래로 피드를 채웠다

승인 컷 풀이 쌓이면 그걸로 피드를 조립한다. 콘텐츠 유형을 OOTD 룩북, 카페 일상, 생활 컷 세 갈래로 나눠 균형 있게 배치했다. 한 유형만 반복되면 피드가 단조로워지고, 반대로 장면이 무작위로 튀면 인물의 결이 흐려진다. 세 갈래를 번갈아 넣으면 같은 사람의 여러 하루처럼 읽힌다.

생성 후 손이 가는 후처리도 있었다. 손가락 개수나 배경 소품처럼 생성 모델이 자주 틀리는 디테일을 다듬고, 컷마다 색감과 톤을 한 계정의 룩처럼 맞췄다. 색보정을 일관되게 걸면 얼굴이 조금 흔들려도 전체가 같은 사람의 앨범처럼 묶이는 효과가 있어서, 후처리 자체가 일관성을 보강하는 장치가 되기도 했다.

AI가 만든 가상 인물임을 숨기지 않았다

기술적으로 얼굴을 아무리 정교하게 고정해도, 이 인물이 실제 사람인 것처럼 오해를 유도하면 그건 다른 문제가 된다. 그래서 이 프로젝트는 처음부터 투명성을 전제로 잡았다. 이 계정의 인물은 AI로 생성된 가상 인물이고, 게시물은 촬영이 아니라 생성된 이미지라는 사실을 감추지 않는다.

투명성은 선언 한 줄로 끝나는 게 아니라 운영 방식에도 들어간다. 실존 인물을 특정해 닮게 만들지 않고, 실제 브랜드나 장소를 사실인 것처럼 꾸미지 않는다. 가상 인물이라는 정체성을 드러내는 것과 이미지의 완성도를 높이는 것은 상충하지 않는다. 오히려 만들어진 인물임을 분명히 해 두는 편이, 이 결과물을 어디까지 신뢰해야 하는지 보는 사람이 판단할 수 있게 한다.

AI 가상 인물 제작 기술은 얼굴 하나를 붙잡아 여러 장면으로 확장하는 흥미로운 문제다. 그 흥미로움이 사람을 속이는 도구로 흘러가지 않도록, 만든 것을 만들었다고 밝히는 선을 유지하는 것이 이 파이프라인의 마지막 규칙이다.

이 프로젝트를 만드는 팀

이 프로젝트는 전담 리드 없이 총괄 에이전트가 직접 조율하며, 생성형 이미지 모델과 힉스필드로 이미지를 만들고 content-refiner가 콘텐츠 품질을 다듬는 구성으로 움직인다.

AI 인플루언서 흐름도 3