
누끼 딸 때마다 찜찜해서 서버 없는 배경 제거 도구를 만들었습니다
AI 모델이 브라우저 안에서 돌아서 사진이 기기 밖으로 안 나갑니다. 무료에 횟수 제한도 없어요.
자랑 포인트
- AI 모델이 브라우저 안에서 직접 실행돼 사진이 단 1바이트도 서버로 전송되지 않습니다 (네트워크 탭으로 검증 가능).
- WebGPU 가속 + WASM 폴백으로 어떤 브라우저에서도 온디바이스 추론이 동작합니다.
- 회원가입·워터마크·횟수 제한 없이 원본 해상도 그대로 투명 PNG로 저장됩니다.
배경 제거 사이트 쓸 때마다 드는 생각이 있었습니다. 이 사진 지금 어디 서버로 가는 거지? 중고 판매 사진이야 상관없는데 가족 사진이나 증명사진 같은 건 좀 그렇잖아요. 무료 사이트는 횟수 제한 걸리고 워터마크 박히고. 그래서 아예 서버로 안 보내는 누끼 도구를 만들었습니다.
원리는 이렇습니다. AI 배경 제거 모델(BRIA RMBG-1.4)을 브라우저 안에서 직접 돌려요. Transformers.js로 ONNX 모델을 가져와서 처음 한 번만 44MB쯤 내려받고, 그다음부터는 캐시에서 바로 실행됩니다. 사진은 단 1바이트도 기기를 안 떠납니다. 못 믿겠으면 개발자도구 네트워크 탭 열어놓고 써보세요. 이미지 업로드 요청 0건입니다.

쓰는 건 간단합니다. 드래그앤드롭이든 파일 선택이든 클립보드 붙여넣기(Ctrl+V)든 사진을 넣으면 몇 초 뒤 누끼가 나옵니다. Before/After 슬라이더로 원본이랑 비교해볼 수 있고(투명 영역은 체커보드로 표시), 투명 그대로 받거나 단색/그라데이션/내 이미지로 배경을 갈아끼울 수 있어요. 드롭 섀도 토글도 있습니다. 여러 장 쌓아두면 큐에서 순서대로 처리되고, 원본 해상도 그대로 투명 PNG로 나옵니다.

기술 얘기를 좀 하면, WebGPU 되는 브라우저에서는 GPU로 추론이 돌아서 빠르고, 안 되는 환경은 WASM으로 자동 폴백합니다. 모델이 만든 알파 마스크를 원본 해상도로 되살려서 PNG를 만들고, 배경·그림자 합성은 전부 캔버스에서 처리해요. React 19 + TypeScript + Vite 8 + Tailwind CSS 4 조합에 Vercel 배포입니다. 서버가 없으니 회원가입도 워터마크도 횟수 제한도 없습니다. 있을 수가 없어요. 제한을 걸 서버가 없으니까.

만들고 나서 중고 판매 사진 누끼는 전부 이걸로 땁니다. 처음 열 때 모델 다운로드를 몇십 초 기다리는 게 유일한 단점인데, 그다음부터는 즉시라서 참을 만해요. 프라이버시 신경 쓰이는 사진일수록 이 도구가 맞습니다. 네트워크 탭 열어놓고 한번 검증해보세요.
품질 얘기도 솔직히 하면, 머리카락 같은 미세한 경계는 유료 서비스 최상위 모델보다 살짝 아쉬울 때가 있습니다. 대신 무료에 무제한이고 프라이버시가 확실하니까, 저는 일상 용도에서 아쉬웠던 적이 거의 없어요. 정 안 맞는 사진은 그때만 다른 도구를 쓰면 되고요.