장면을 고쳤지만 차단된 건 참조 사진이었습니다
무해한 장면이 계속 NSFW로 거부된 원인은 프롬프트가 아닌 참조 사진 1장이었습니다. 입력을 나눈 3번의 테스트로 원인을 찾고 교체한 과정입니다.

피와 침실, 공격적으로 보일 만한 요소를 이미 모두 지웠는데도 다시 nsfw가 돌아왔습니다.
프로젝트의 카탈로그 표지 중 하나로 쓸 이미지였습니다. 캐릭터 참조 이미지 2장을 사용했습니다. 첫 생성이 거부됐을 때 저는 장면에 문제가 있다고 판단했습니다.
당연한 해석처럼 보였습니다. 장면 프롬프트로 만든 작업이 거부됐으니 장면 프롬프트부터 정리하기 시작했습니다.
피를 없앴습니다. 실패했습니다.
캐릭터들을 침실 밖으로 옮겼습니다. 실패했습니다.
폭력적으로 해석될 만한 몸짓을 전부 없앴습니다. 장면 전체를 비 오는 야외로 옮기고, 두 캐릭터가 서로 바라보기만 하게 했습니다.
그래도 실패했습니다.
반면 같은 배치의 다른 이미지 5개는 첫 시도에 통과했습니다. 기본 프롬프트와 질감 지시문은 같았습니다. 반복되는 거부는 그 패턴과 맞지 않았지만, 저는 가장 쉽게 원인으로 지목할 수 있는 부분을 계속 고쳤습니다.
다시 쓸 때마다 시간과 크레딧이 들었습니다. 이미지의 구체성도 줄었습니다. 거부 문제를 해결하지 못했을 뿐 아니라, 제가 전하려던 이야기에서 장면을 조금씩 멀어지게 하고 있었습니다.
원인은 프롬프트가 아니었습니다
갈수록 수위를 낮춘 버전들이 여러 차례 실패하자 가설을 바꿔야 했습니다.
문제는 참조 이미지 2장 중 하나였습니다.
무지 배경 앞에서 회색 티셔츠를 입은 남자의 평범한 스튜디오 인물 사진이었습니다. 사진에는 명백한 검수 위험으로 보이는 요소가 없었습니다. 몇 년 동안 프로젝트에 사용됐지만 알려진 문제도 없었습니다.
그 이력이 근거 없는 확신을 줬습니다.
이 작업 전까지 그 인물 사진은 그 사진 자체를 참조하는 용도로만 쓰였습니다. 새 이미지 생성의 입력으로 사용해도 통과한다는 증거는 없었습니다. 원본이 평범하고 익숙하니 시스템도 평범하게 받아들일 것이라고 가정했습니다.
그렇지 않았습니다.
검수 시스템은 요청한 출력만이 아니라 입력도 평가합니다. 첨부한 참조 이미지 하나가 차단되면 무해한 장면도 거부될 수 있습니다. 오류 메시지는 처리된 작업을 가리킬 뿐, 그 작업의 어느 부분이 거부를 일으켰는지는 알려주지 않습니다.
이 구분이 중요합니다. 증상은 장면에 붙어 나타났지만 원인은 입력 이미지에 있었습니다.
테스트 3번이면 충분했습니다
장면을 다시 쓰는 일을 멈추자 진단은 간단했습니다. 프롬프트를 고정하고 참조 이미지만 바꿨습니다.
먼저 같은 프롬프트를 참조 이미지 없이 실행했습니다.
통과했습니다.
이 결과로 텍스트를 원인에서 제외했습니다. 장면 자체도 직접적인 원인에서 제외할 수 있었습니다. 참조 이미지 없이 프롬프트가 작동했다면 다시 쓰는 것은 변수만 하나 더 만드는 일이었습니다.
두 번째로 같은 프롬프트에 참조 A만 넣어 실행했습니다.
세 번째로 참조 B만 넣어 다시 실행했습니다.
참조 이미지 하나는 통과했습니다. 스튜디오 인물 사진은 단독으로도 실패했습니다.
답은 그것이었습니다. 장면을 순하게 바꾼 버전 30개가 아니라, 변수를 통제한 테스트 3번으로 알 수 있었습니다.
이 방법이 유용한 이유는 각 테스트가 하나의 좁은 질문만 다루기 때문입니다. 텍스트만으로 통과하는가? 참조 A만으로 통과하는가? 참조 B만으로 통과하는가? 검수 시스템이 무엇을 싫어했을지 추측하거나, 프롬프트가 평범해질 때까지 내용을 계속 뺄 필요가 없습니다.
입력을 하나씩 바꾸면 거부 원인을 특정할 수 있습니다.
캐릭터가 아니라 사진을 교체했습니다
문제의 인물 사진을 특정한 뒤 같은 캐릭터의 다른 사진으로 교체했습니다.
그 캐릭터를 촬영한 세션의 다른 사진으로도 정체성을 유지할 수 있었습니다. 캐릭터를 다시 디자인하거나 장면의 힘을 뺄 필요가 없었습니다. 시스템이 받아들이는 원본 이미지만 있으면 됐습니다.
기존 참조 이미지를 교체한 이유도 기록했습니다.
거부된 사진이 겉으로는 결함 있어 보이지 않았기 때문에 이 기록이 중요합니다. 설명이 없으면 다음에 프로젝트를 읽는 사람이 이전 인물 사진이 정체성을 더 잘 잡아주는 참조라고 판단해 복원할 수 있습니다. 그러면 같은 거부가 돌아오고, 진단도 다시 해야 합니다.
참조 이미지는 시각적으로 유용하면서도 실제 작업에서는 쓸 수 없을 수 있습니다.
제가 놓친 부분입니다. 저는 이미지를 만드는 사람의 눈으로 인물 사진을 평가했고, 검수 시스템은 입력으로 평가했습니다. 둘은 별개의 검사입니다.
반복은 증거입니다
가장 비싼 실수는 첫 거부가 아니었습니다. 설명이 더 이상 증거에 맞지 않는데도 같은 설명을 고집한 일이었습니다.
장면이 한 번 실패했을 때는 텍스트를 수정하는 것이 합리적이었습니다.
하지만 피를 지우고, 장소를 옮기고, 공격적인 몸짓을 없애고, 빗속에서 두 사람이 서로 바라보는 것만 남겼는데도 실패했다면 텍스트가 원인이라는 가설은 더 이상 근거가 없었습니다.
그 시점에서 또다시 쓰는 것은 신중함이 아니었습니다. 반복이었습니다.
장면을 전혀 다르게 묘사해도 거부가 계속되면 살펴볼 대상을 바꿔야 합니다. 이미 문제가 없을 수도 있는 프롬프트에 더 순한 동의어를 찾는 대신 첨부 입력을 확인합니다.
지금 제가 적용하는 원칙은 간단합니다. 장면을 여러 버전으로 바꿔도 검수에서 계속 거부되면 장면 수정을 멈추고 참조 이미지를 하나씩 분리해 검사합니다.
오늘 거부된 작업 하나로 해볼 수 있습니다. 프롬프트는 그대로 두고 참조 이미지 없이 테스트한 다음, 각 참조 이미지를 하나씩 테스트하세요. 단독으로 실패하는 입력을 교체하고 제거한 이유를 기록하세요.
이 글의 해결책은 모두 제가 먼저 실수의 대가를 치르고 얻은 것입니다. 여러분의 브랜드보다 제 영화에서 겪는 편이 낫습니다.


