프로젝트 시작
작품블로그자료소개문의

블로그/실패와 해결

시곗바늘을 빼라 했더니 바늘과 숫자가 생겼습니다

시곗바늘 없는 시계를 요청했지만 AI는 바늘과 숫자를 그렸습니다. 빼고 싶은 대상을 부르는 대신 그 자리를 채울 표면을 묘사해 해결한 경험입니다.

글 Jeff Zambrano··읽는 시간 5분

시곗바늘을 빼라 했더니 바늘과 숫자가 생겼습니다

empty dial with no hands라고 썼더니 시곗바늘과 숫자가 있는 시계판이 나왔습니다.

프롬프트에는 제가 없애고 싶은 물체의 이름이 정확히 들어 있었습니다. 이미지는 그 물체를 다시 넣었습니다.

시계에서만 생기는 특이한 예외가 아니었습니다. No horns, no wings, no glow라고 썼을 때도 같은 패턴이 나타났습니다. 이 3개의 명사는 프롬프트에서 피하려던 익숙한 판타지 생명체를 규정했고, 결국 셋 다 그리라는 신호가 됐습니다.

이미지 모델이 체크리스트에서 물체를 지워주는 것처럼 생각한 게 실수였습니다.

모델은 제가 제공한 시각적 개념에 반응하고 있었습니다.

모델은 자신이 아는 시계를 그렸습니다

바늘 없는 시계는 무언가가 빠진 상태입니다. 모델은 그 부재를 픽셀로 만들어야 합니다.

제가 쓴 문구에는 시계, 시계판, 바늘이 들어 있었습니다. no라는 단어가 바늘을 빼줄 것으로 기대했습니다. 하지만 익숙한 명사들이 시각적 구조를 만들었습니다. 결과는 그 단어들이 나타내는 평범한 시계였고, 바늘과 숫자까지 갖추고 있었습니다.

해결책은 부정을 더 강하게 쓰는 것이 아니었습니다. 묘사를 바꿨습니다:

a smooth flat stone disc where the dial would be, an unbroken surface with no relief

이 프롬프트는 보통 시계판이 있을 자리에 모델이 그릴 수 있는 구체적인 대상을 줍니다. 표면은 평평한 돌입니다. 끊김 없이 이어지고, 도드라진 부분이 없습니다.

원하는 부재를 만들어내는 것은 실제로 그릴 수 있는 대상을 긍정형으로 묘사하는 일입니다.

이 차이를 이해한 뒤로 저는 비슷한 지시를 모두 다르게 쓰기 시작했습니다. 알아볼 수 있는 어떤 대상을 화면에 넣고 싶지 않다면, 그 이름을 부르는 대신 그 자리를 무엇이 채우는지 설명합니다.

부재에도 시각적 설계가 필요합니다

no horns는 모델에게 뿔을 떠올리게 합니다.

the skull is smooth and unbroken from brow to nape는 제가 실제로 원하는 형태를 묘사합니다.

no wings는 날개라는 이름을 꺼냅니다.

the back is one continuous ridge of matted wool from shoulder to haunch는 등에 눈에 보이는 형태와 질감을 부여합니다.

no glow는 발광이라는 이미지 개념을 불러옵니다.

the only light in frame is the overcast daylight already described, the hide absorbing it without sheen는 광원과 표면이 빛에 반응하는 방식을 함께 규정합니다.

캐릭터 디자인 밖에서도 같은 방식으로 고칠 수 있습니다.

a room with no furniture 대신 bare floorboards running wall to wall, plain plaster walls라고 쓸 수 있습니다.

no text on the sign 대신 a blank painted board, the paint even and unmarked라고 쓸 수 있습니다.

empty, no people에 기대는 대신, 남아 있는 형태로 사람이 없는 방을 묘사할 수 있습니다: the chairs pushed in, the only shapes in frame are the furniture already described.

이런 대체 표현은 명사를 지우는 데서 끝나지 않습니다. 원하지 않는 요소가 사라진 뒤 어떤 이미지가 있어야 하는지 명시합니다.

프롬프트에 남겨둘 부정 지시도 있습니다

모든 부정 지시를 없애지는 않았습니다.

부정형이 여전히 유용한 범위가 있습니다. 생성 결함과 원하지 않는 렌더링 동작입니다.

no floating props, no fused digits, no extra limbs, no duplicated frames, no morphing은 이미지가 만들어지는 과정의 결함을 설명합니다. NOT slow motion은 영상 시스템에 움직임을 어떻게 처리할지 알려줍니다. gravity and inertia respected는 결과물이 지켜야 할 물리 법칙을 정합니다.

장면에서 지우라고 요구하는 눈에 보이는 물체가 아닙니다. 렌더링이나 움직임의 속성입니다.

모델에 별도의 네거티브 프롬프트 입력란이 있다면, 이런 지시는 메인 프롬프트가 아니라 그곳에 넣습니다.

저는 간단한 기준으로 구분합니다.

원하지 않는 대상 자체를 사진으로 찍을 수 있습니까? 형태가 있습니까? 픽셀을 차지합니까? 그렇다면 그 자리에 들어갈 것을 긍정형으로 씁니다.

공중에 뜨는 현상, 신체 부위가 붙는 현상, 중복, 모핑, 원하지 않는 슬로 모션 같은 생성 결함입니까? 그렇다면 금지 지시로 남겨도 됩니다.

시곗바늘은 첫 번째 기준에서 걸립니다. 눈에 보이는 물체이기 때문입니다. 이름을 쓰면 그 시각적 개념이 계속 살아 있습니다. 매끈한 돌 원판은 구체적인 표면으로 그 물체를 대신하므로 적절한 표현입니다.

기계적인 점검 절차를 추가했습니다

프롬프트를 평소처럼 읽을 때는 이 실수를 놓치기 쉽습니다. without hands 같은 표현은 사람에게 정확하게 들립니다. 명확한 지시처럼 보입니다.

그래서 생성하기 전에 시각적 부정 표현으로 의심되는 문구를 검색하기 시작했습니다:

grep -nEi '\b(no|without)\s+[a-z]+'

검색된 표현은 모두 남겨둘 이유가 있어야 합니다. 허용된 엔진 동작 지시라면 유지할 수 있습니다. 알아볼 수 있는 시각적 요소의 이름이라면, 그 대신 나타나야 할 표면, 형태, 재질, 빛, 또는 공간을 채울 대상으로 고쳐 씁니다.

한 차례 점검에서 프롬프트 162개 중 3곳이 검색됐습니다. 모두 같은 요소에 관한 것이었습니다. 같은 검색으로 템플릿 안에서도 no visible text를 포함해 3곳을 더 찾았습니다.

두 번째 발견이 중요했습니다. 현재 프롬프트만 고쳤다면 이후 프롬프트를 만드는 데 사용하는 템플릿에는 그 문구가 남았을 겁니다. 생성된 텍스트뿐 아니라 템플릿도 검색해야 했습니다.

여러 형태로 나타나는 같은 실수입니다

같은 원칙으로 다른 고질적인 결과도 설명할 수 있습니다.

시선은 카메라를 보지 않는다고 말하는 대신 어디를 보고 있는지 명시할 때 더 잘 표현됩니다.

움직임은 동작을 나타내는 동사에 기대기보다 물리적인 기준점을 설정할 때 더 잘 표현됩니다. going up the stairs 같은 문구를 써도 계단참에 서 있는 사람이 나올 수 있습니다. 의도한 행동을 물리적으로 구체화하지 않았기 때문입니다.

부재도 같은 논리를 따릅니다. 명사를 부정하는 것만으로 모델이 대체 이미지를 만들어주리라 기대할 수 없습니다.

프롬프트에는 눈에 보이는 근거가 필요합니다.

시계에서는 끊김 없는 돌 표면이 그 근거였습니다. 두개골에서는 이마부터 목덜미까지 이어지는 선, 방에서는 마룻바닥과 장식 없는 벽, 표지판에서는 균일하고 아무 표시도 없는 도장이었습니다.

지금 제가 적용하는 원칙은 간단합니다. 시각적 부재는 눈에 보이는 대체물로 씁니다. 부정형은 렌더링 결함과 엔진 동작에만 사용합니다.

오늘 프롬프트에서 no와 without을 검색해 보세요. 뒤따르는 명사가 눈에 보이는 대상이라면, 금지 지시 대신 그 픽셀을 무엇이 채워야 하는지 구체적으로 묘사해 보세요.


이 글의 해결책은 모두 제가 먼저 실수의 대가를 치르고 얻은 것입니다. 여러분의 브랜드보다 제 영화에서 겪는 편이 낫습니다.

공유XLinkedInWhatsApp
Jeff Zambrano

Jeff Zambrano는 Madrid를 기반으로 활동하는 AI 영화감독이다. 데뷔작 Borrowed Wounds는 Higgsfield Global Film Festival에서 6,700편 중 Top 50에 선정됐다. 그는 자신의 제작 경험을 바탕으로 이 기록을 쓴다.

WhatsApp