해시가 전부 달라도 비슷한 장면은 남는다|AI 이미지 중복 방지·SHA-256 검사·재생성 비용
138장의 SHA-256과 전날 공개 사진의 픽셀 비교에서는 중복이 0장이었지만, 해시가 달라도 비슷한 장면은 남았어요. 육안 검수에서 문제 카드 2장을 교체했고, 후속 공개 화면 검수에서는 이 글의 비슷한 사진 4장을 해시 검사·재업로드·작업시간·라이브 확인 장면으로 다시 바꿨어요. 장당 현금 비용은 확인하지 못했지만 공개 뒤 발견하면 업로드·HTML 재조립·라이브 검증을 다시 해야 해요.
문제를 공개 뒤 발견하면 이미지 재업로드, URL 교체, HTML 재조립, 공개 수정, 라이브 화면 검증을 다시 해야 하므로 업로드 전에 파일 검사와 장면 검수를 함께 해야 한다
읽기 전에 확인할 근거
결론부터 말하면, AI 이미지 중복 방지는 SHA-256 검사만 통과한다고 끝나지 않아요. 이번 138장의 해시는 모두 달랐고 전날 공개 사진과 완전히 같은 픽셀 파일도 0장이었지만, 사람 눈에는 비슷한 인물과 사진 분류 장면이 반복됐어요. 해시는 동일 파일을 찾고, 육안 검수는 비슷한 장면을 찾는 서로 다른 검사예요.
이번 생성은 포함 플랜으로 진행돼 장당 현금 비용을 따로 확인하지 못했어요. 그래서 확인하지 않은 금액을 절약했다고 말하지 않습니다. 대신 공개 뒤 문제를 찾으면 이미지 재업로드, URL 교체, HTML 재조립, 공개 수정, 라이브 화면 검증을 다시 해야 한다는 실제 작업 부담을 기준으로 봤어요.
독자 입장에서도 차이는 분명해요. 사진 파일이 전부 달라도 같은 사람이 비슷한 방에서 카드를 정리하는 장면만 이어지면 “또 같은 그림”처럼 느껴져요. 반대로 해시 검사, 재업로드, 시간 계산, 공개 확인처럼 섹션마다 행동이 달라지면 사진을 보기만 해도 글의 흐름을 따라갈 수 있어요. 이번 수정은 단순히 파일을 새로 만드는 것이 아니라 각 이미지가 맡은 설명 역할을 다시 나누는 작업이었어요.
왜 해시만으로는 부족했을까
SHA-256은 파일의 지문이에요. 같은 PNG 파일을 다시 쓰면 같은 값이 나오므로 동일 파일 재사용을 찾는 데는 정확합니다. 하지만 같은 사람, 같은 방, 비슷한 포즈를 새로 그린 이미지는 픽셀이 달라 해시도 달라져요. 보기에는 반복처럼 느껴져도 파일 검사에는 통과할 수 있다는 뜻이에요.
- SHA-256 검사: 완전히 같은 파일을 다시 썼는지 확인
- 근접 해시 검사: 모양이 가까운 후보를 좁혀 보는 보조 수단
- 육안 검수: 인물·장소·행동·구도가 반복되는지 최종 판단
세 검사는 대체 관계가 아니에요. 파일 중복을 먼저 빠르게 거른 뒤, 글마다 대표 1장과 본문 5장을 한 화면에 놓고 봐야 독자가 느끼는 반복감까지 잡을 수 있어요.
파일 검사와 장면 검수를 분리한 이유
사진을 한꺼번에 만들고 마지막에 몰아서 확인하면 어느 글의 어느 장면이 실패했는지 찾는 데 시간이 더 들어요. 그래서 글마다 대표 이미지와 본문 이미지 다섯 장을 각각 독립된 슬롯으로 관리하고, 여섯 장을 한 장의 검수 시트로 묶어 봤어요.
이렇게 나누면 문제가 생긴 슬롯만 다시 만들 수 있어요. 다만 새 파일을 만들었다는 사실만으로 공개 반영이 끝나는 것은 아닙니다. 새 이미지를 호스팅에 올리고, 본문의 이미지 URL을 바꾸고, HTML을 다시 조립한 뒤, 실제 공개 페이지에서 여섯 장이 모두 열리는지 확인해야 해요. 재생성 비용을 볼 때는 생성 횟수뿐 아니라 이 후속 작업까지 함께 봐야 합니다.
작업 단계마다 실패 지점도 달라요. 생성은 성공했지만 이미지 안의 글자가 깨질 수 있고, 업로드는 성공했지만 예전 URL이 본문에 남을 수 있으며, 편집기 저장은 끝났지만 대표 이미지가 바뀌지 않을 수도 있어요. 그래서 “새 이미지가 생겼다”를 완료로 보지 않고, 로컬 파일·원격 URL·조립된 HTML·공개 페이지를 한 줄로 연결해 확인해야 실제 교체가 끝나요.
슬롯마다 여섯 조건을 갈라 놓았다
장면을 다양하게 만들려면 “다르게 만들어 줘”라는 한 문장보다 무엇을 다르게 할지 먼저 정하는 편이 낫습니다. 이번에는 아래 여섯 축을 앞뒤 이미지와 겹치지 않게 배정했어요.
- 인물: 연령대와 성별, 1인·2인·여러 사람을 나눔
- 장소: 집과 책상에 몰리지 않게 사무실·매장·야외·공공공간으로 분산
- 행동: 화면 보기만 반복하지 않고 검사·업로드·계산·공개 확인으로 구분
- 거리: 손 중심 근접 장면과 상반신, 넓은 환경 장면을 섞음
- 시점: 정면뿐 아니라 어깨너머·측면·위에서 내려다본 구도를 사용
- 소품: 모니터·노트북·계산기·휴대전화처럼 섹션의 행동과 연결
첫 육안 검수에서는 어색한 한글이 들어간 Google One 카드 1장과 숫자가 불명확한 코스트코 카드 1장을 업로드 전에 교체했어요. 후속 공개 화면 검수에서는 이 글 자체의 여섯 장 중 다섯 장이 인화사진을 분류하는 비슷한 은유라는 문제가 다시 보였어요. 그래서 본문 사진 네 장을 컴퓨터 해시 검사, 재업로드, 작업시간 비용, 공개 화면 확인 장면으로 바꿨습니다.
138개 해시는 모두 달랐지만 끝이 아니었다
2026년 8월 20일 최종 파일 기준으로 확인한 결과는 다음과 같아요. 숫자는 파일 중복이 없었다는 근거이지, 장면 다양성을 자동으로 보장하는 점수는 아닙니다.
- 대표 1장과 본문 5장씩, 총 138장의 SHA-256은 138개 모두 고유
- 전날 최종 공개 사진 138장과 완전히 같은 픽셀 파일은 0장
- 초기 육안 검수에서 글자·숫자 품질 문제 2장을 발견해 교체
- 후속 공개 화면 검수에서 이 글의 반복 장면을 발견해 본문 사진 4장을 추가 교체
여기서 중요한 반전은 “해시가 모두 다르다”와 “독자가 보기에도 모두 다르다”가 같은 말이 아니라는 점이에요. AI 이미지 중복 방지는 파일 검사 결과와 사람의 시각적 판단을 따로 기록해야 재생성 범위를 정확히 줄일 수 있어요.
공개 전에 이 순서로 확인한다
- 각 이미지 슬롯에 인물·장소·행동·시점을 먼저 적어요.
- 대표 1장과 본문 5장을 검수 시트로 한꺼번에 봐요.
- SHA-256으로 완전히 같은 파일을 먼저 제거해요.
- 비슷해 보이는 후보는 원본 크기로 열어 사람·방·포즈를 비교해요.
- 문제가 있는 슬롯만 다시 만들고 새 URL로 교체해요.
- 공개 페이지를 휴대전화와 데스크톱에서 열어 이미지 6장과 마지막 CTA를 확인해요.
브랜드 캐릭터처럼 일부러 같은 인물을 유지해야 하는 작업은 예외예요. 그때는 인물의 연속성을 지키되 장소·행동·구도까지 똑같이 반복되지 않도록 기준을 바꾸면 됩니다. 반대로 여러 블로그의 생활 장면을 대량 제작할 때는 파일 검사와 육안 검수를 함께 두는 편이 맞아요.
사람 검수에서는 “예쁜가”만 묻지 않았어요. 첫째, 해당 소제목의 답을 사진만 보고도 짐작할 수 있는지 봤어요. 둘째, 앞뒤 이미지와 인물·배경·카메라 거리가 실제로 다른지 비교했어요. 셋째, 화면 속 가짜 글자나 읽히지 않는 숫자, 로고, 개인정보처럼 공개하면 곤란한 요소가 없는지 확인했어요. 넷째, 휴대전화 화면에서 사진이 지나치게 길거나 잘리지 않는지도 함께 봤어요. 이 네 가지를 통과해야 해시 고유성이 실제 콘텐츠 품질로 이어집니다.
확인한 기준
이미지 생성 흐름은 OpenAI 이미지 생성 가이드, SHA-256 비교 방식은 Python hashlib 문서, 여러 작업의 결과와 예외를 개별로 확인하는 구조는 Python concurrent.futures 문서와 대조했어요.
138장 고유 해시, 전날 공개 사진과 동일 픽셀 0장, 문제 카드 2장과 이 글의 반복 장면 4장 교체는 2026년 8월 20~21일 직접 작업·공개 화면 검수 기록입니다. 실제 API 사용량, 생성시간, 장당 지출액은 이번 범위에서 확인하지 않았어요.
최종 판단은 간단해요. 해시는 같은 파일을 잡고, 사람은 같은 느낌을 잡습니다. 둘을 함께 통과한 뒤 공개해야 재생성 비용과 독자의 반복감을 동시에 줄일 수 있어요.
📎 함께 보면 좋은 글
댓글
댓글 쓰기
질문은 자유롭게 남겨주세요. 광고성 댓글, 비방, 개인정보가 포함된 댓글은 삭제될 수 있습니다.