Higgsfield 거절 이미지도 크레딧 차감
무해한 인물 사진 4장이 NSFW로 거절됐지만 Higgsfield 크레딧은 줄었습니다. 실제 차감 기록과 프롬프트, 구도를 수정한 과정을 설명합니다.

시대 의상을 입힌 인물 사진 9장 중 4장이 status: "nsfw"로 끝났습니다.
여성은 목까지 여며진 드레스를 입고 있었습니다. 프롬프트는 스튜디오 인물 사진, 미디엄 샷, 전신 구도를 요청했습니다. 의도한 내용에는 거절될 만한 요소가 없었습니다.
실패한 이미지에도 크레딧이 들었습니다.
기록된 잔액 변화는 22번의 시도에 걸쳐 20크레딧이었습니다. 거절됐다고 생성이 무료인 것은 아니었습니다.
그 뒤로 재시도를 다루는 방식이 달라졌습니다. 같은 무해한 프롬프트를 반복하는 것은 비용 부담 없는 테스트가 아니었습니다. 매번 쓸 수 있는 이미지 하나 받지 못한 채 잔액만 다시 줄어들 수 있었습니다.
콘텐츠 검사는 생성 후에 이뤄졌습니다
관찰한 동작을 보면 콘텐츠 분류기는 이미지가 생성된 뒤에 실행됐습니다.
플랫폼은 이미지를 만들고 그 작업에 비용을 부과한 다음, 분류기가 NSFW로 판정하면 결과를 버렸습니다. 그래서 거절된 작업도 잔액에 영향을 줬습니다.
비슷한 프롬프트가 서로 다른 결과를 낸 이유도 설명됐습니다.
같은 세트에서 전신 측면 사진은 통과했지만 전신 정면 사진은 거절됐습니다. 프롬프트는 거의 같았습니다. 모든 이미지에서 반복적으로 거절을 일으키는 단일 단어는 없었습니다.
이런 유형의 콘텐츠에서는 검사 결과가 확률적으로 달라졌습니다.
그래서 자동 재시도는 특히 비싸집니다. 루프는 거절된 이미지를 보고 판단할 수 없습니다. 그저 플랫폼에 다른 버전을 생성해 달라고 요청하고 다시 비용을 지불한 뒤, 분류기가 또 거절할 기회를 줄 뿐입니다.
유료 API에서 “성공할 때까지 재시도”는 잘못된 기본값입니다. 생성 후 콘텐츠 검사에서 실패하는 경우라면 더 나쁩니다. 보이지 않는 결과물마다 이미 생성 작업이 소모됐기 때문입니다.
먼저 표현을 단순하게 바꿨습니다
프롬프트에서 처음 바꾼 것은 사람의 신체를 묘사하는 단어를 지우는 일이었습니다. 문맥상 무해한 단어도 포함했습니다.
다음과 같은 표현들입니다.
slender elegant figure
figure
body
제약 조건을 지정하는 문구에서는 사람의 직업이나 유형을 나타내는 단어도 지웠습니다.
actress
model
singer
가상 인물임을 지정하는 지시에서는 그런 유형을 나열하는 대신 any real person을 사용해 같은 제한을 표현했습니다.
이 2가지를 바꾸자 거절됐던 인물 사진 4장이 재시도에서 통과했습니다.
그 결과가 금지 단어 하나 때문에 모든 실패가 일어났다는 증거는 아니었습니다. 거의 같은 프롬프트에서도 결과가 달랐다는 점은 그렇게 단순한 설명과 맞지 않았습니다. 수정으로 오탐 가능성은 줄었지만, 항상 거절을 유발하는 텍스트 조건을 찾아낸 것은 아니었습니다.
그래서 재시도 횟수도 제한했습니다. 수정 후 1번의 시도는 정보를 줬습니다. 자동 루프였다면 비용만 반복됐을 것입니다.
측정된 효과는 프레이밍에서 더 컸습니다
실패를 더 확실하게 줄인 방법은 인물 사진을 어디에서 자르고 쇄골 아래 피부를 얼마나 보여줄지 제어하는 것이었습니다.
네크라인이나 그 아래 피부가 드러난 인물 사진이 실패했습니다. 같은 얼굴 특징이라도 목을 높게 여민 의상과 더 타이트한 크롭을 요구하면 통과했습니다.
효과가 있었던 지시는 다음과 같습니다.
cropped at the collarbone, high closed neckline, no skin below the collarbone in frame
목이 깊게 파인 궁정풍 의상에서 거절됐던 얼굴도 드레스가 목까지 올라오자 생성에 성공했습니다.
분류기는 역사적 의상을 맥락 속에서 해석하지 않았습니다. 관찰된 패턴은 드러난 피부를 따라갔습니다.
따라서 형용사만 바꾸면 이미지에서 중요한 부분을 놓칠 수 있습니다. 모델이 쇄골 아래 피부가 드러나는 구도로 인물 사진을 만들면, 무해한 상황 설명만으로 안전 판정을 보장할 수 없습니다.
이제 저는 크롭과 네크라인을 부수적인 의상 정보가 아니라 화면에 적용할 제약으로 명시합니다.
예산에는 거절에 대비한 여유가 필요합니다
배치 예산은 요청할 결과물 수에 예상 생성 비용을 곱하는 것만으로 계산할 수 없습니다.
거절된 이미지도 과금될 수 있습니다. 따라서 피사체가 무해하더라도 콘텐츠 검사 실패를 감당할 여유가 배치 예산에 필요합니다.
그렇다고 예비비를 무한정 써도 된다는 뜻은 아닙니다. 재시도를 통제할 필요가 더 커진다는 뜻입니다.
명백히 무해한 소재가 NSFW 상태로 끝나면 저는 다음과 같이 대응합니다.
먼저 멈춥니다. 자동 재시도 루프가 계속 돌게 두지 않습니다.
그런 다음 불필요한 신체 묘사와 사람의 유형을 나열한 표현을 지웁니다. 가상 인물임을 지정하는 문구에는 any real person을 사용합니다.
의도한 프레이밍을 살펴봅니다. 구도상 쇄골 아래 피부가 보일 수 있다면 쇄골선에서 자르고 목까지 여민 네크라인을 요청합니다.
그다음 1번 재시도합니다.
같은 유형의 샷이 연속 2번 실패하면 같은 프롬프트를 다시 보내는 대신 프레이밍을 바꿉니다.
지금 제가 지키는 원칙
Higgsfield의 NSFW 거절은 잔액으로 반대가 확인되지 않는 한 크레딧을 쓴 것으로 계산합니다.
버려진 결과물이 애초에 생성되지 않았다고 가정하지 않습니다. 거절을 기록하고 비용에 반영한 뒤 프롬프트를 수정합니다. 재시도는 통제된 1번만 허용합니다.
문제가 반복되면 눈에 보이는 구도를 바꿉니다. 더 타이트한 크롭과 목을 높게 여민 네크라인은 같은 인물 사진을 계속 요청하며 분류기의 판단이 바뀌기를 바라는 것보다 측정된 효과가 컸습니다.
오늘 재시도 설정을 확인해 보세요. 유료 이미지 요청이 status: "nsfw" 이후 자동으로 반복된다면 그 루프를 끄세요. 크레딧을 더 쓰기 전에 표현과 프레이밍을 의도적으로 수정하세요.
이 글의 해결책은 모두 제가 먼저 실수의 대가를 치르고 얻은 것입니다. 여러분의 브랜드보다 제 영화에서 겪는 편이 낫습니다.


