같은 봉제인형 프롬프트를 넣었는데 ChatGPT는 원본을, Gemini는 프롬프트를 따랐습니다

봉제인형으로 바뀐 가족사진. 안경 쓴 아빠 앞에서 빨간 스팽글 리본을 한 아기가 웃고, 옆에서 줄무늬 니트를 입은 여자아이가 흰 고래 인형을 들고 있다

오전에 당근 모임 대화방에 그림 두 장이 올라왔습니다. 저는 대화에 끼지 않고 읽기만 하고 있었습니다.

하나는 한옥 마당에서 버섯 바구니를 든 주황색 고양이였고, 다른 하나는 시장 골목에서 장바구니를 든 가지와 당근이었습니다. 둘 다 펠트로 만든 인형처럼 생겼고, 표면에 보풀이 일어난 게 폰 화면으로도 보일 정도였습니다. 바로 밑에 누가 물었습니다.

제미나이로 만든거에요?

올린 분 답은 이랬습니다.

아뇨 인스타에서 찾은거
걍 인형같던데...

대화는 "으흠 신기하네용"으로 끝났는데, 저는 "걍 인형같던데"에서 좀 오래 멈춰 있었습니다. 그 말이 딱 그 그림이 노린 반응이라서요. 진짜 인형을 찍은 사진이면 굳이 나올 말이 아닙니다. 보는 사람이 한 번은 헷갈려야 나오는 말이죠. 가지가 쓴 동그란 안경은 실로 수놓은 것처럼 보이는데, 손바닥만 한 인형에 안경테를 저렇게 고르게 수놓는 건 손으로 하기엔 꽤 성가신 일입니다. 배경이 전부 적당히 흐려져 있고 햇빛이 인형 털 끝에서만 반짝이는 것도 그렇고요. 제 눈에는 AI 쪽으로 보였습니다.

그래서 그 두 장을 뜯어보고 프롬프트로 옮겨 봤습니다. 인스타에 올린 사람이 어떤 프롬프트를 썼는지는 모릅니다. 그림에서 보이는 걸 거꾸로 적어 내려간 것이고, 그렇게 만든 프롬프트에 가지고 있던 사진 몇 장을 넣어 봤습니다.

그림 두 장을 문장으로 옮기면서

거꾸로 적어 내려간다는 게 말은 쉬운데, 해 보면 그림에서 뭘 볼지부터 정해야 합니다. 제가 먼저 본 건 얼굴이었습니다. 고양이 눈은 반쯤 감긴 선 두 줄이고, 가지 얼굴도 눈과 입이 가는 선 몇 개로 끝납니다. 펜으로 그린 선이 아니라 실로 박음질한 선처럼 보였고, 이게 눈, 눈썹, 코, 입은 프린트가 아니라 embroidery나 felt applique로 만든다는 문장이 됐습니다.

다음은 표면이었습니다. 크게 키워 보면 고양이 털 가장자리가 햇빛을 받아 하얗게 빛나는데, 매끈한 3D 렌더링과 제일 다른 부분이 여기라서 재질 단락과 림 라이트 문장을 따로 만들었습니다. 배경의 한옥 담장과 시장 좌판은 흐릿하지만 진짜 나무와 천처럼 보였습니다. 그래서 miniature diorama라는 말을 골랐습니다.

그렇게 적어 놓고 보니 빠진 것도 있었습니다. 고양이 바구니에 담긴 버섯에도 얼굴이 있었고, 발밑에 놓인 초록색과 분홍색 떡 같은 동그란 것들에도 눈과 입이 있었습니다. 소품 하나하나가 캐릭터였던 겁니다. 저는 이걸 프롬프트에 적지 않았고, 나중에 나온 결과물 일곱 장 어디에도 얼굴 달린 소품은 없었습니다. 적지 않은 건 안 나옵니다. 당연한 얘기인데, 인스타 그림에서 제일 귀여웠던 게 그 버섯이었다는 걸 생각하면 좀 아깝습니다.

그때는 생각하지 못한 차이도 하나 있었습니다. 인스타 그림의 주인공은 고양이와 가지와 당근입니다. 닮아야 할 실제 대상이 없는 캐릭터죠. 누구를 알아보게 만들 필요가 없는 그림에서 뽑아낸 프롬프트를, 저는 누군지 알아봐야 하는 사람 사진에 썼습니다. 프롬프트 첫 단락은 원본을 유지하라는 말이지만, 그 뒤의 재질과 조명과 배경 문장은 대부분 원본이 없는 그림을 보고 쓴 것입니다. 이 차이가 뒤에서 두 도구의 결과를 다르게 만든 이유 중 하나였다고 지금은 보고 있습니다.

프롬프트는 대부분 인형 이야기가 아니었습니다

전문을 다 옮기지는 않겠습니다. 길기도 하고, 이 글에서 중요한 건 문장 하나하나보다 어떻게 짜여 있느냐여서요.

순서만 적으면 이렇습니다. 원본의 정체성을 유지하라는 말로 시작해서 비율, 재질, 얼굴 표현, 머리카락과 옷, 배경, 촬영 방식, 조명, 카메라, 포즈, 분위기를 차례로 지나고, 피해야 할 재질 목록과 마지막 한 줄로 끝납니다.

첫 단락에서 제일 중요한 문장은 이겁니다.

캐릭터 자체를 새롭게 디자인하지 말고, 원본 캐릭터가 실제 봉제인형으로 제작되었다고 가정하여 표현한다.

재질 쪽은 이런 식입니다.

표면은 매끈한 CGI가 아니라 짧고 촘촘한 fuzzy fabric, soft felt, wool felt, short-pile plush fabric으로 이루어져 있으며

그리고 맨 끝 줄입니다.

'봉제인형처럼 보이는 3D 캐릭터'가 아니라 '실제로 존재하는 정교한 봉제인형을 따뜻한 miniature world에서 촬영한 사진'처럼 보여야 한다.

써놓고 다시 읽어 보니 인형 얘기는 생각보다 적었습니다. 분량으로 치면 절반 넘게가 이 사진이 어떻게 찍혔느냐에 쓰여 있습니다. 50mm 렌즈, 얕은 심도, 골든아워 햇빛, 털 가장자리에 들어가는 림 라이트, 인형 눈높이에 맞춘 카메라 같은 것들이요. 인스타 그림을 보고 인형 같다고 느끼게 만든 게 인형 자체보다 사진 쪽이라고 봤기 때문입니다. 진짜 봉제인형을 폰으로 대충 찍으면 저렇게 안 나옵니다. 저 그림들은 인형을 잘 만들었다기보다 인형 사진을 잘 찍은 쪽에 가깝습니다.

반대로 원본 인물에 대한 지시는 거의 "유지하라" 하나뿐입니다. 얼굴 특징, 헤어스타일, 표정, 의상, 색상, 액세서리를 최대한 유지하라. 무엇을 어떤 기준으로 유지하라는 말은 없고, 그 판단은 모델에게 맡겨 두었습니다. 쓸 때는 이게 문제가 될 거라고 생각하지 않았습니다.

피해야 할 재질 목록도 꽤 깁니다. glossy plastic, vinyl toy, clay, porcelain, action figure 같은 것들인데, 이건 이미지를 좀 만들어 본 사람이면 다 아는 이유로 들어가 있습니다. 인형이라고만 쓰면 모델이 제일 먼저 꺼내 오는 게 반질반질한 피규어나 3D 애니메이션 캐릭터라서, 그쪽으로 가지 말라고 미리 적어 두는 겁니다.

ChatGPT로 만든 다섯 장

처음에는 ChatGPT에만 넣었습니다. 가족사진 몇 장과 강아지 사진 하나였습니다.

봉제인형으로 바뀐 셀카. 웨이브 머리의 엄마가 보라색 반짝이 왕관을 쓴 아기를 안고 있고, 화면 왼쪽 아래로 팔이 뻗어 나가 있다

재질은 기대한 대로 나왔습니다. 머리카락은 실을 뭉쳐 놓은 것 같고, 니트는 코가 하나하나 보이고, 얼굴은 양모 펠트를 바늘로 찔러 만든 것처럼 표면이 보송보송합니다. 재질 단락을 제일 길게 쓴 보람은 있었습니다. 다섯 장 전부 이 부분만큼은 한 번도 어긋나지 않았습니다.

원본의 구도도 꽤 충실하게 남깁니다. 위 사진은 화면 왼쪽 아래로 팔이 뻗어 나가 있는데, 원본이 셀카였던 모양입니다. 폰을 들고 있던 팔이 인형이 되어서도 그대로 남아 있습니다.

봉제인형으로 바뀐 셀카. 동그란 안경을 쓴 아빠가 줄무늬 옷을 입은 아기를 안고 있고, 앞에 곰 인형과 나무 블록이 흐릿하게 보인다

이 장에서 재미있었던 건 옷에 적힌 글자입니다. 맨투맨 가슴에 영문이 적혀 있는데 "ARM B", "PROT", "/24" 정도만 읽히고 나머지는 뭉개져 있습니다. 글자가 있었다는 사실과 대략의 모양은 가져오는데 뜻은 가져오지 않습니다. 아기 옷의 곰 패치에는 "our"라고 수가 놓여 있는데 이것도 원래 뭐였는지는 모르겠습니다. 이미지 모델이 글자에 약하다는 건 이제 다 아는 얘기지만, 인형 스타일에서는 이게 오히려 덜 거슬립니다. 손으로 만든 인형 옷에 글자가 좀 삐뚤빼뚤한 건 자연스러운 일이니까요.

그런데 이 장과 맨 위의 대표 이미지를 나란히 놓고 보면 이상한 게 하나 보입니다. 빨간 지붕을 얹은 나무 블록 집, 별이 그려진 파란 블록, 파란 나무 자동차. 서로 다른 사진으로 만든 두 장인데 이 소품 세 개가 둘 다 나옵니다. 앞쪽에 흐릿하게 들어간 초록 잎사귀도 같고, 뒤쪽의 스탠드 조명과 액자도 비슷합니다.

프롬프트에 "작은 생활 소품"이라고 적어 두면 모델은 그걸 매번 같은 창고에서 꺼내 오는 것 같습니다. 한 장만 볼 때는 아기자기하게 잘 채운 배경인데, 두 장을 겹쳐 보면 세트장이 하나라는 게 보입니다. 연작으로 쓰기에는 장점일 수도 있습니다. 가족사진을 전부 같은 톤으로 맞추고 싶으면 이 반복이 통일감이 되니까요. 대신 각 사진이 원래 어디서 찍혔는지는 거의 지워집니다.

빛도 마찬가지입니다. 다섯 장이 전부 골든아워입니다. 거실 소파에서 찍은 사진도, 아마 형광등 아래서 찍었을 사진도 전부 해 질 녘 창가로 들어오는 햇빛을 받고 있습니다. 프롬프트가 golden-hour sunlight를 쓰라고 했으니 틀린 건 아닌데, 원본이 몇 시에 찍혔든 상관없이 모든 사진이 같은 시각이 되어 버립니다.

재질에서 하나 더 눈에 들어온 게 있습니다. 전부 천으로 바뀐 건 아니었습니다. 대표 이미지에서 여자아이가 들고 있는 고래 인형에는 열쇠고리 고리가 달려 있는데, 이 고리는 반짝이는 금속 그대로입니다. 엄마 사진에서 아기가 입에 대고 있는 은색 물건도 금속 광택이 남아 있고, 아기 머리의 빨간 리본은 스팽글이 햇빛에 반짝입니다. 프롬프트는 glossy와 hard surface를 피하라고 했는데 말이죠.

반대로 아빠 얼굴의 안경은 두 장 모두 검은 실로 바뀌었습니다. 테가 살짝 보풀이 일어난 털실처럼 보입니다.

처음에는 제멋대로라고 생각했는데, 프롬프트를 다시 보니 나름의 규칙이 있었습니다. 캐릭터 전체는 천과 솜으로 만들라고 했고, 배경과 소품은 실제 재료로 만든 미니어처 세트처럼 표현하라고 했습니다. 그러면 모델은 사진 속 물건 하나하나를 캐릭터에 속하는지 소품인지 먼저 분류해야 합니다. 얼굴에 붙은 안경은 캐릭터 쪽이라 실이 되고, 손에 든 열쇠고리는 소품 쪽이라 금속으로 남습니다. 스팽글은 원래 천에 다는 장식이라 반짝여도 천으로 쳐 준 것 같고요. 이 분류 기준을 저는 적은 적이 없는데, 모델은 꽤 그럴듯하게 알아서 나눴습니다.

봉제인형으로 바뀐 남자아이. 노란 민소매와 파란 반바지 차림으로 펠트 눈알 두 개를 양손으로 눈앞에 대고 있고, 옆에 스케이트보드와 트럭 장난감, 축구공이 놓여 있다

이 장은 다섯 장 중에서 프롬프트가 원한 모습에 제일 가깝다고 봅니다. 펠트로 만든 눈알 두 개를 양손으로 눈앞에 대고 있는데, "작은 행동이나 상황이 느껴지는 자연스러운 포즈"와 "stop-motion 영화의 한 장면"이라는 주문을 이 장이 제일 잘 받았습니다. 주변의 스케이트보드, 트럭 장난감, 축구공도 이 아이 하나의 하루를 설명하는 소품이라, 거실 세트처럼 복사해 붙인 느낌이 덜합니다.

봉제인형 재질로 바꾼 흰 강아지. 털이 부스스한 강아지가 러그 위에 서서 카메라를 올려다보고, 주변에 펠트로 만든 뼈다귀와 곰 장난감이 놓여 있다

강아지 사진은 반대로 거의 아무 일도 일어나지 않았습니다.

처음 봤을 때는 원본을 그냥 보정한 건가 싶었습니다. 털이 원래 하얗고 부스스한 강아지라서 봉제인형 재질로 바꾸라는 지시가 바꿀 게 별로 없었던 겁니다. 눈이 좀 더 동그래지고 코가 좀 더 반들반들해졌을 뿐, 사람 사진에서 보이던 변화가 여기서는 거의 안 보입니다. 주변의 뼈다귀 장난감과 곰 인형, 방석은 확실히 펠트인데 주인공만 진짜 강아지처럼 서 있습니다. 발밑 러그와 털 색까지 비슷해서 어디까지가 강아지인지 경계도 흐릿합니다.

재질을 바꾸는 프롬프트는 원래 재질과 거리가 먼 만큼만 티가 납니다. 사람 피부는 펠트와 멀어서 변화가 크게 보이고, 원래 보송한 강아지 털은 펠트와 가까워서 변화가 묻힙니다. 강아지를 인형처럼 보이게 하고 싶었다면 "짧게 깎은 펠트"처럼 원래 털과 다른 재질을 따로 지정했어야 했던 것 같습니다.

같은 사진 한 장을 두 군데에 넣었습니다

여기까지는 ChatGPT 하나만 봤습니다. 그런데 대화방에 올라온 질문이 "제미나이로 만든거에요?"였던 게 계속 마음에 남아 있었습니다. 그래서 같은 사진, 같은 프롬프트를 Gemini에도 넣어 봤습니다.

원본 사진은 이 글에 싣지 않고 말로만 설명하겠습니다. 실제 아이 얼굴이 나온 사진을 올리는 건 인형으로 바꾼 결과물을 올리는 것과는 다른 문제라서요. 동물 체험하는 곳에서 찍은 것으로 보이는 사진인데, 여자아이가 한쪽 팔을 옆으로 쭉 뻗고 있고 그 팔뚝 위에 진짜 투칸이 앉아 있습니다. 노란 부리는 화면 왼쪽을 향해 길게 뻗어 있고, 아이는 손가락을 활짝 편 채 고개를 숙여 새를 내려다봅니다. 웃는 얼굴은 아닙니다. 새가 팔에 올라와 있으니 조심스러운 얼굴에 가깝습니다. 머리에는 은색 반짝이 별 세 개가 달린 머리띠를 했고, 옷은 네이비 폴로 셔츠에 가슴에 분홍색 말 로고가 있습니다. 바닥은 초록색으로 칠한 시멘트이고, 아이 뒤로 차례를 기다리는 다른 아이들의 옷자락이 보입니다. 그중 하나는 여자아이 그림이 프린트된 흰 후드티입니다.

ChatGPT 결과. 봉제인형이 된 여자아이가 활짝 웃으며 팔을 뻗고 있고, 팔 위에 펠트 투칸이 앉아 있다. 뒤로 다른 아이들과 투칸 그림 안내판, 나무 울타리가 보인다

ChatGPT 쪽은 이렇게 나왔습니다.

거의 다 남겼습니다. 네이비 폴로, 단추, 분홍 말 로고, 활짝 편 손가락, 왼쪽을 향한 부리까지요. 뒤에 서 있던 아이들도 남겼고, 흰 후드티의 여자아이 프린트까지 펠트 그림으로 바꿔서 그대로 넣었습니다. 원본을 옆에 놓고 보면 요소 하나하나가 거의 그대로 대응됩니다.

바뀐 건 두 가지입니다. 하나는 표정입니다. 고개를 숙이고 조심스럽게 새를 보던 아이가 여기서는 볼이 발그레한 채로 웃고 있습니다. 눈도 원본보다 훨씬 크고 반짝입니다. 프롬프트에 표정을 유지하라는 말이 분명히 있었는데, 그 말보다 "cute, cozy, heartwarming"을 더 크게 들은 것 같습니다. 다른 하나는 배경입니다. 시멘트 바닥이 사라지고 나무 울타리와 밧줄, 작은 연못이 생겼고, 뒤쪽에는 투칸 그림이 그려진 안내판이 섰습니다. 원본에는 없던 안내판입니다. 투칸이 있으니 여기는 동물원이겠다고 짐작하고, 그 짐작에 맞는 소품을 알아서 채운 겁니다.

귀염귀염하다는 말이 이 장에는 딱 맞습니다. 원본을 충실하게 옮긴 다음 전체를 한 단계 귀엽게 보정한 느낌입니다. 그리고 세상의 크기가 실물 그대로입니다. 사람만 한 인형이 동물원에 서 있는 것 같지, 탁자 위 미니어처 세트를 찍은 것처럼 보이지는 않습니다.

Gemini 결과. 검은 생머리의 수제 인형 같은 여자아이가 무표정하게 팔 위의 펠트 투칸을 보고 있다. 잔가지 울타리와 자갈 바닥, 이끼, 과일이 담긴 라탄 바구니가 있는 미니어처 세트다

Gemini 쪽은 많이 다릅니다.

뒤에 있던 아이들이 전부 사라졌습니다. 대신 잔가지를 엮은 울타리와 철망, 자갈 바닥, 이끼, 돌멩이가 생겼고, 뒤쪽에 망고 같은 과일이 담긴 라탄 바구니가 놓였습니다. 자갈 알갱이 크기를 보면 이건 확실히 탁자 위에 만든 미니어처 세트입니다. 인형도 달라서, ChatGPT 쪽이 귀엽게 그린 펠트 캐릭터라면 이쪽은 공방에서 실제로 파는 수제 인형에 더 가깝습니다. 얼굴은 무표정에 가깝고, 눈은 작고, 손은 손가락 없이 벙어리장갑처럼 뭉쳐 있습니다. 원본 머리의 갈색 기가 빠져서 새까만 생머리가 됐고, 투칸은 방향을 바꿔 아이 쪽을 보고 앉았습니다. 새도 만드는 방식이 다릅니다. ChatGPT 쪽 투칸은 부리 가운데를 따라 박음질 선이 지나가는 펠트이고, Gemini 쪽 투칸은 주황색 줄무늬를 수놓은 매끈한 천으로 부리를 감쌌습니다.

그런데 별은 세 개입니다. ChatGPT 쪽은 두 개였고, 원본 머리띠에 달린 별은 세 개입니다. 머리띠가 머리에 꽂은 핀처럼 바뀌긴 했지만 개수는 Gemini가 맞췄습니다. 아이 시선이 새를 향하고 있다는 점도 웃음을 얹은 ChatGPT보다 원본에 가깝습니다. 두 결과가 원본에서 챙긴 부분이 서로 다릅니다.

옷도 자세히 보면 좀 이상합니다. 투칸이 앉은 팔은 손목까지 오는 긴소매인데, 화면 오른쪽 아래로 보이는 반대쪽 팔은 반소매입니다. 원본은 양쪽 다 긴소매였습니다. 원본 옷을 그대로 옮겼다면 생길 수 없는 실수라서, Gemini는 옷을 옮기지 않고 네이비 폴로라는 정보만 가져와서 새로 지은 겁니다.

그리고 Gemini 결과 오른쪽 아래 구석에는 작은 반짝이 표시가 찍혀 있습니다. Gemini가 만든 이미지에 넣는 표시입니다. 그 대화방의 질문에 답할 단서로는 사실 이게 제일 확실할 텐데, 인스타 그림은 대화방에 올라온 미리보기로만 봐서 그 구석에 이 표시가 있었는지는 확인하지 못했습니다.

제가 제일 오래 들여다본 건 라탄 바구니였습니다.

원본 사진에는 바구니가 없습니다. 투칸 체험장에 과일 바구니가 있을 이유도 딱히 없고요. 그러면 이 바구니는 프롬프트에서 온 겁니다. 배경 소품을 적은 문장에 "나무, 돌, 풀, 낙엽, 천, 라탄 바구니, 식물, 음식"이라고 적혀 있었고, Gemini는 그 목록에서 나무, 돌, 풀, 라탄 바구니, 식물, 음식을 거의 그대로 꺼내 썼습니다.

그리고 그 목록은 대화방에 올라온 인스타 그림 두 장에서 왔습니다. 고양이가 버섯이 담긴 바구니를 들고 있었고, 가지와 당근이 장바구니를 들고 있었습니다. 그 그림을 보고 프롬프트를 쓰면서 제가 바구니를 목록에 넣은 겁니다. 저는 그걸 이런 분위기의 소품이라는 예시로 적었는데, Gemini는 이 장면에 들어가야 할 물건으로 읽었습니다.

그러니까 Gemini 결과에 있는 바구니는, 인스타에서 누가 만든 고양이 그림 속 바구니가 제 프롬프트를 거쳐서 제 사진 속 체험장까지 들어온 겁니다. 프롬프트에 원래 그림의 흔적이 이렇게 남아 있다는 걸 이 결과를 보고서야 알았습니다. ChatGPT는 같은 목록을 받고도 바구니를 넣지 않았습니다. 같은 단락에 "장면은 원본 캐릭터의 분위기와 상황에 맞게 자연스럽게 구성한다"는 문장이 있었으니, ChatGPT는 그 문장을 따랐고 Gemini는 목록을 따랐다고 보는 게 맞을 것 같습니다.

어느 쪽이 프롬프트를 잘 따랐냐고 물으면

처음에는 ChatGPT가 잘했고 Gemini가 엉뚱했다고 생각했습니다. 사진 속 아이를 알아볼 수 있는 쪽은 분명히 ChatGPT입니다.

그런데 프롬프트 마지막 줄을 다시 읽으면 얘기가 좀 달라집니다. 봉제인형처럼 보이는 3D 캐릭터가 아니라, 실제로 존재하는 정교한 봉제인형을 miniature world에서 촬영한 사진. 이 문장만 놓고 보면 Gemini 쪽이 더 가깝습니다. ChatGPT 결과는 솔직히 봉제인형처럼 보이는 캐릭터 그림에 가깝고, 저 인형을 실제로 만들어 달라고 하면 공방에서 난감해할 것 같습니다. 눈 크기와 볼 터치가 특히 그렇습니다. Gemini 결과는 저 인형이 실제로 어딘가 있을 것 같고, 저 세트도 누군가 탁자 위에 만들 수 있어 보입니다. miniature diorama라는 단어를 정말로 미니어처로 만든 쪽도 Gemini입니다.

둘 다 프롬프트를 따르긴 했습니다. 따른 부분이 다를 뿐입니다. 프롬프트 첫 단락은 원본을 유지하라는 것이었고 마지막 줄은 진짜 인형 사진처럼 보이라는 것이었는데, 이 두 가지가 부딪힐 때 뭘 먼저 지켜야 하는지를 저는 적지 않았습니다. 그 순서를 ChatGPT는 원본 쪽으로, Gemini는 프롬프트 쪽으로 정했습니다.

제가 보기에 이 차이는 프롬프트보다 두 도구가 첨부 사진을 대하는 기본 태도에서 나오는 것 같습니다. ChatGPT는 첨부한 사진을 편집할 대상으로 보고 프롬프트를 그 위에 씌우는 필터처럼 씁니다. 그래서 구도도, 인물도, 뒤에 선 아이들까지 남기고 거기에 자기 취향의 귀여움을 한 겹 더 입힙니다. Gemini는 사진을 참고 자료로 보고 프롬프트를 설계도로 씁니다. 사진에서는 인물 정보만 가져오고 장면은 설계도대로 새로 만듭니다. 그 설계도의 문장 대부분이 원본 없는 인스타 그림에서 왔다는 걸 생각하면, 설계도를 충실히 따른 Gemini가 원본에서 멀어진 건 어쩌면 자연스러운 결과입니다. 원본이 없던 그림의 세계를 원본이 있는 사진 위에 새로 지었으니까요.

출력 비율만은 반대였습니다. 원본은 가로로 긴 사진인데, 내용을 거의 다 바꾼 Gemini는 가로 비율을 그대로 뒀고, 내용을 거의 다 남긴 ChatGPT는 다른 다섯 장처럼 정사각형에 가깝게 잘랐습니다. 사진을 편집 대상으로 본다는 제 설명과는 맞지 않는 부분이라, 이건 태도보다는 도구마다 출력 크기를 정하는 기본값이 다른 거라고 보고 있습니다.

대화방에서 누가 제미나이로 만든 거냐고 물었던 그 그림들은, 제 눈에는 오히려 ChatGPT 결과와 더 닮았습니다. 동그랗고 큰 눈, 과장된 표정, 배경보다 캐릭터가 먼저 보이는 구성이 그렇습니다. 물론 그 그림을 누가 무엇으로 만들었는지는 모르고, 알 방법도 없습니다.

프롬프트를 다시 쓴다면

이번에 제일 크게 느낀 건 긴 프롬프트가 바라는 것을 나열한 목록에 가깝다는 점입니다. 그리고 목록 안에는 서로 부딪히는 항목이 꼭 섞여 있습니다. 표정을 유지하라는 말과 heartwarming하게 하라는 말. 원본 상황에 맞게 구성하라는 말과 라탄 바구니를 쓰라는 말. 캐릭터 눈높이의 50mm 인물 사진이라는 말과 탁자 위 미니어처 세트라는 말. 하나씩 읽으면 다 그럴듯한데, 한 장의 그림 안에서 전부 지킬 수는 없습니다. 어느 걸 버릴지는 모델이 정하고, 모델마다 버리는 쪽이 다릅니다.

그래서 다음에 이 프롬프트를 고친다면 문장을 더 넣기보다 두 가지를 적어 넣을 것 같습니다.

하나는 순서입니다. "원본과 이 지시가 부딪히면 원본을 따른다" 같은 한 줄이요. 원본 인물을 알아보는 게 목적이면 이렇게 쓰고, 인스타 그림 같은 분위기가 목적이면 반대로 씁니다. 둘 다 원하면 둘 다 어정쩡하게 나옵니다.

다른 하나는 목록의 성격입니다. 소품 목록 앞에 "원본 사진에 있는 것을 이런 재료로 바꾼다"라고 적으면, 그 목록은 새로 넣을 물건이 아니라 재료를 고르는 기준이 됩니다. 이번 Gemini 결과의 바구니는 이 한 줄이 없어서 생겼다고 봅니다. ChatGPT 쪽에서 여러 장에 같은 나무 블록이 반복되던 것도 조금은 줄어들 것 같습니다. 이건 아직 넣어 보지 않아서 짐작입니다.

표정도 따로 적을 생각입니다. 투칸 사진에서 ChatGPT가 조심스러운 얼굴을 웃는 얼굴로 바꾼 건 cute와 heartwarming이 표정 유지보다 세게 들렸기 때문이라고 봤습니다. 분위기 단어는 장면 전체에 영향을 주는 말이라 얼굴까지 덮어 버립니다. "분위기는 조명과 배경으로만 만들고 표정은 원본을 따른다"처럼 분위기 단어가 어디까지 영향을 주는지 범위를 정해 두면, 조심스러운 아이 얼굴이 그대로 남은 따뜻한 사진이 나오지 않을까 싶습니다. 원본 사진이 재미있는 이유도 사실 그 조심스러운 얼굴에 있다고 보고 있습니다.

강아지처럼 원래 털이 있는 대상은 따로 적어야 합니다. 원래 재질과 다른 재질을 지정해야 변환이 눈에 보입니다.

얼굴 달린 소품도 넣고 싶으면 적어야 합니다. 인스타 그림의 버섯처럼 소품에도 눈과 입을 수놓으라고 한 줄 쓰면 되는데, 이건 어느 쪽 목적이든 해가 없어 보입니다. 거실의 나무 블록에 얼굴이 생기면 아이 사진에는 오히려 잘 어울릴 것 같고, 원본을 알아보는 데는 방해가 안 되니까요.

골든아워는 아직 고민 중입니다. 여러 장을 같은 빛으로 맞추면 한 세트처럼 보여서 좋은데, 원본이 밤에 찍은 사진이면 결과도 밤이어야 하는 게 아닌가 싶기도 합니다. 이건 어디에 쓰느냐에 따라 다를 것 같습니다.

코딩 쪽과는 좀 다르게 보고 있습니다

예전에 plan 모드로 plan.md를 쓰는 습관을 두고 프롬프트 엔지니어링의 잔상이라고 쓴 적이 있습니다. 두 번째 기회가 없던 시절에 한 번에 다 넣던 습관이 계획서로 형태만 바꿔서 남아 있다는 얘기였습니다. 코딩은 지금도 그렇게 봅니다. 대화하면서 고치면 되니까요.

이미지는 아직 사정이 좀 다른 것 같습니다. 코드는 한 줄을 고치면 그 한 줄만 바뀌는데, 이미지는 표정 하나만 고쳐 달라고 해도 얼굴 전체가 새로 그려지는 일이 흔합니다. 원본 인물을 알아볼 수 있게 남기는 게 목적인 작업에서는 이게 꽤 치명적입니다. 그래서 이미지 쪽에서는 처음 넣는 프롬프트를 공들여 쓰는 게 아직은 의미가 있다고 봅니다.

다만 이번에 보니 공들일 대상이 문장의 양은 아니었습니다. 이번 프롬프트는 재질과 카메라와 빛을 아주 자세하게 적었고, 그 부분은 두 도구 모두 잘 따랐습니다. 결과를 다르게 만든 건 제가 적지 않은 부분, 무엇을 먼저 지킬지였습니다. 그리고 그 빈 부분을 채운 건 프롬프트가 아니라 도구였습니다. 같은 프롬프트로 두 도구에서 나온 결과의 차이가, 제가 프롬프트 문장을 몇 개 고쳐서 만들 수 있는 차이보다 훨씬 컸습니다. 이미지 프롬프트를 쓸 때 제일 먼저 하는 선택은 문장보다 어느 도구에 넣을지인 것 같습니다.

대화방에 같은 질문이 또 올라오면, 저라면 오른쪽 아래 구석부터 보고 그다음에 바구니를 찾을 것 같습니다. 바구니 쪽은 반쯤 농담입니다.

댓글

이 블로그의 인기 게시물

구글은 서울에서 모델이 아니라 에이전트를 판다

내가 짠 건 하네스가 아니라 아웃터 루프였다