# AI 투명 배경 누끼 실측: 머리카락은 남고 유리는 배경색이 남았다

> 머리카락과 솜털은 처음부터 투명 배경으로 생성한 PNG가 잔머리를 가장 많이 남겼고, 유리잔은 누끼를 따면 회색 배경이 유리 안에 그대로 남았습니다. 피사체별 1회씩 돌린 결과입니다.

- URL: https://blog.laozhang.ai/ko/posts/ai-transparent-background-glass-hair-test
- Published: 2026-10-19
- Updated: 2026-10-19
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ko/about)
- Topic: AI 이미지 생성
- Tags: 투명 배경, 누끼 따기, 투명 PNG, 알파 채널, GPT Image 2.5, rembg

---
## 결론: 머리카락·솜털은 투명 배경 생성, 유리는 최종 배경 위에서

흩날리는 머리카락과 민들레 솜털은 AI로 처음부터 투명 배경 PNG를 생성한 쪽이 가는 경계를 가장 많이 남겼습니다. 회색 배경에서 생성한 뒤 로컬 누끼 모델로 배경을 지운 결과는 회색 테두리가 남거나, 잔머리가 뭉개지거나, 솜털 가운데에 구멍이 뚫렸습니다.

유리잔은 다릅니다. 누끼를 딴 유리는 다섯 가지 설정 모두에서 회색 배경이 유리 안에 그대로 남아, 빨간 배경 위에 올리면 회색 유리잔이 됐습니다. 투명 배경으로 생성한 유리는 뒤가 비쳐 보이지만 볼 부분에 뿌연 막이 얹혀 있었습니다. 와인잔이나 병처럼 비치는 물건은 실제로 쓸 배경색 위에서 생성·촬영하거나 편집 툴에서 합성하는 편이 안전해 보입니다. 다만 "최종 배경 위에서 생성"하는 방법은 이번에 시험하지 않았습니다.

어느 쪽을 고르든, 넘기기 전에 검은색과 빨간색 배경 위에 올려 직접 확인해야 합니다. 흰 배경에서는 흰 테두리와 뿌연 막이 거의 보이지 않습니다. 아래에 그 확인용 스크립트를 실었습니다.

## 실제로 돌린 것과 돌리지 않은 것

2026년 10월 19일, Apple 실리콘 MacBook(CPU만 사용)에서 아래만 실행했습니다.

- **생성 6회**: LaoZhang API의 `gpt-image-2.5-sunburst-vip`(GPT Image 2.5 Sunburst를 호출당 요금으로 쓰는 경로, 1회 $0.03)로 1024×1024, quality high. OpenAI에 직접 연결한 결과가 아닙니다.
- **피사체 3종 × 경로 2개**: 빈 와인잔, 잔머리가 흩날리는 곱슬머리 여성, 민들레 씨앗 머리.
  - 네이티브 투명: `background: "transparent"`, `output_format: "png"`에 프롬프트로 "Transparent background. Isolated subject. No backdrop, no scenery, no checkerboard, no cast shadow."를 덧붙였습니다.
  - 회색 배경: 중간 회색(#808080) 단색 배경을 프롬프트로 지정하고 `background: "opaque"`로 생성했습니다.
- 6회 모두 HTTP 200, 1회당 36~49초, 재시도 없음. 응답에도 `background`와 `output_format: "png"`가 요청한 값 그대로 돌아왔습니다. 비용은 정가 기준 6 × $0.03 = $0.18입니다.
- **누끼 5가지 설정**: 회색 배경 이미지 3장을 오픈소스 [rembg GitHub 저장소](https://github.com/danielgatis/rembg)의 2.0.85 버전으로 처리했습니다. u2net, u2net + alpha matting, BiRefNet-general-lite, BRIA RMBG-2.0(rembg 기본 모델), BRIA + decontaminate.
- **측정**: 픽셀마다 alpha 값을 세고, 검은색·흰색·빨간색 배경 위에 합성해 눈으로 비교했습니다.

*안내: [laozhang.ai는 이 블로그 운영팀의 자사 서비스입니다](https://blog.laozhang.ai/ko/about#laozhang). 그 가격은 독립적인 비교가 아니라 자사 제시 가격입니다.*

돌리지 않은 것도 분명히 적습니다.

- OpenAI 직접 API, `gpt-image-2.5-flare`, 프리뷰 단계의 `gpt-image-2`, 챗GPT 앱, 제미나이(Nano Banana), Midjourney.
- remove.bg, Photoroom, Canva, Adobe Express 같은 유료 웹 누끼 도구, 포토샵의 선택 및 마스크.
- rembg의 다른 모델(vitmatte, birefnet-general 전체판, isnet), LaoZhang 편집 엔드포인트의 배경 제거 기능.
- 피사체당 2회 이상 생성. 경로·피사체마다 **1장씩만** 생성했으므로 아래 결과는 성공률이 아니고, 다시 생성하면 달라질 수 있습니다.

두 경로는 각각 따로 생성했기 때문에 프롬프트는 같아도 인물과 유리잔 모양은 다릅니다. 같은 사진을 두 방법으로 처리한 비교가 아니라, 같은 요청을 두 경로로 보낸 비교입니다.

## 알파 채널 용어: 완전 투명, 반투명, 완전 불투명

PNG의 알파 채널은 픽셀마다 0~255 값을 가집니다. 아래에서는 세 가지로 나눠 씁니다.

| 구분 | alpha 값 | 의미 |
|---|---|---|
| 완전 투명 | 0 | 배경만 보임 |
| 반투명 | 1~254 | 피사체와 배경이 섞여 보임 |
| 완전 불투명 | 255 | 피사체만 보임 |

머리카락 끝이나 솜털처럼 가는 경계는 반투명 픽셀이 많아야 자연스럽습니다. 유리는 경계뿐 아니라 피사체 안쪽 전체가 반투명이어야 합니다.

## 피사체별 결과 한눈에 보기

| 피사체 | 네이티브 투명 생성 | 회색 배경 + rembg 누끼 |
|---|---|---|
| 머리카락 | 잔머리 유지, 검은색·흰색·빨간색 어디서도 테두리 없음. 이번 테스트에서 가장 좋은 머리카락 결과 | u2net은 흐릿한 테두리와 회색 얼룩, BiRefNet-lite는 잔머리는 남지만 깍두기처럼 깨짐, BRIA는 가는 가닥에 옅은 회색 테두리 |
| 유리잔 | 뒤가 비쳐 보이지만 볼 부분에 뿌연 막. 검은색 위에서는 탁한 얼룩, 빨간색 위에서는 분홍빛 | 다섯 설정 모두 회색 배경이 유리 안에 남아 거의 불투명한 회색 유리잔 |
| 민들레 솜털 | 가는 솜털과 갈색 중심부 유지, 검은색 위에서 약한 흰 빛번짐 | u2net은 전체에 회색 테두리, BiRefNet-lite는 중심부에 구멍, BRIA는 갈색 중심부가 대부분 사라짐 |

판정은 400~1024px 합성 이미지를 보고 내린 것이고, 수치는 아래 각 절에 적었습니다.

## 머리카락 누끼: 네이티브 투명이 잔머리를 가장 많이 남겼다

투명 배경으로 생성한 인물 이미지는 전체 픽셀의 77.7%가 반투명, 22.3%가 완전 투명이었습니다. 흩날리는 잔머리가 그대로 남았고, 검은색·흰색·빨간색 배경 어디에 올려도 흰 테두리나 회색 테두리가 보이지 않았습니다.

회색 배경에서 생성한 뒤 누끼를 딴 결과는 모델마다 실패 방식이 달랐습니다.

- **u2net**: 머리 둘레가 흐릿하게 번지고, 잔머리가 뭉개지거나 사라졌으며, 머리 옆에 회색 얼룩이 남았습니다. 처리 시간은 0.6~1.5초로 가장 빨랐습니다.
- **u2net + alpha matting**: 비슷한 결과에 경계만 더 딱딱해졌습니다. 완전 불투명 비율이 54.7%로 크게 늘었습니다.
- **BiRefNet-general-lite**: 잔머리는 남았지만 거칠고 네모난 조각으로 깨졌습니다.
- **BRIA RMBG-2.0**: 가닥은 남았고, 가는 가닥에만 옅은 회색 테두리가 있었습니다. 누끼 중에서는 가장 나았습니다.
- **BRIA + decontaminate**: alpha 값은 BRIA와 완전히 같았고, 회색 테두리만 덜 보였습니다. decontaminate는 경계 픽셀의 색을 바꾸는 옵션이지 어디까지 남길지는 바꾸지 않습니다.

alpha matting은 rembg README에 따르면 "마스크 모양 자체가 틀렸을 때" 쓰는 옵션이고 decontaminate보다 훨씬 느립니다. 이번 머리카락과 유리에서는 matting으로 나아진 점이 없었습니다.

흰 테두리나 회색 테두리가 생기는 이유는 경계의 반투명 픽셀에 원래 배경색이 섞여 있기 때문입니다. 회색 배경에서 딴 머리카락에 회색 테두리가 남은 것도 같은 현상입니다. 흰 배경에서 땄다면 흰 테두리가 됐을 것입니다.

## 유리잔 누끼가 머리카락과 다른 이유: 배경색이 유리 안에 남는다

머리카락은 가닥과 가닥 사이를 반투명 픽셀로 처리하면 됩니다. 유리는 피사체 안쪽으로 배경이 비쳐 보입니다. 회색 배경 앞에서 찍거나 생성한 유리잔은 볼 부분 픽셀 자체가 회색으로 칠해져 있고, 누끼 모델은 이 영역을 "피사체"로 판단해 불투명하게 남깁니다.

실측도 그렇게 나왔습니다. 유리잔 볼 부분의 평균 alpha는 다섯 가지 누끼 설정 모두 254.2~254.9로 사실상 완전 불투명이었습니다. alpha matting을 켠 u2net도 볼 부분의 반투명 비율이 0.1%에 그쳤습니다. 그 결과 빨간 배경 위에 올리면 유리 대신 회색 덩어리가 보였습니다.

투명 배경으로 생성한 유리잔은 볼 부분 평균 alpha가 97.5였고, 볼 전체가 반투명이었습니다. 수치상으로는 뒤가 비쳐 보이는 진짜 유리에 가깝습니다. 문제는 그 위에 얼룩덜룩한 흰회색 막이 얹혀 있다는 점입니다. 검은 배경에서는 탁한 얼룩으로, 빨간 배경에서는 분홍빛 막으로 보였습니다. 가장자리와 다리 부분의 하이라이트는 자연스러웠습니다.

![머리카락은 경계만 반투명이면 되지만 유리잔은 안쪽 전체가 반투명이어야 하며, 유리잔 볼 부분 평균 alpha가 rembg 누끼 다섯 설정에서 254.2~254.9, 투명 배경 생성에서 97.5였음을 비교한 도표](https://blog.laozhang.ai/posts/ko/ai-transparent-background-glass-hair-test/img/glass-vs-hair-alpha.webp)

정리하면 이번 테스트에서 새 배경 위에 올렸을 때 그럴듯한 유리잔을 만든 경로는 없었습니다. 네이티브 투명은 뒤가 비치지만 뿌옇고, 누끼는 배경색이 굳어 버립니다. 상세페이지처럼 배경색이 정해져 있다면 그 색 위에서 유리를 생성하거나 촬영하는 쪽이 현실적인 선택으로 보이지만, 이 방법은 이번에 실행하지 않은 추론입니다.

## 민들레 솜털: 누끼는 회색 테두리 아니면 구멍

투명 배경으로 생성한 민들레는 62.3%가 반투명, 37.7%가 완전 투명이었습니다. 가는 솜털과 갈색 중심부가 모두 남았고, 검은 배경 위에서 약하게 흰 빛이 번져 보였습니다.

누끼는 두 갈래로 실패했습니다. u2net과 u2net + matting은 씨앗 머리 전체를 회색 테두리로 감쌌습니다(중심부는 남음). BiRefNet-lite는 중심부에 구멍을 냈고, BRIA는 decontaminate 여부와 관계없이 갈색 중심부를 대부분 지워 네모난 구멍 무늬를 남겼습니다.

## 네이티브 투명 PNG의 함정: 최대 alpha 254, 완전 불투명 픽셀 0%

이번에 투명 배경으로 생성한 PNG 3장에는 공통된 특징이 있었습니다.

- 가장 높은 alpha 값이 254이고, 상위 1% 값이 253입니다. **alpha 255인 픽셀이 하나도 없습니다.** 피사체 안쪽이 251~253으로, 약 1% 정도 배경이 비칩니다.
- 눈에 거의 안 보이는 alpha 1~3의 옅은 잔상이 인물 이미지에서는 화면의 4.4%, 유리잔에서는 1.0%에 깔려 있었습니다.

레이어 한 장으로 쓸 때는 눈에 띄는 차이가 거의 없습니다. 다만 "alpha가 255인지"로 불투명 여부를 판단하는 도구나 검사에서는 피사체 전체가 반투명으로 잡힐 수 있고, 같은 이미지를 여러 장 겹치면 잔상이 쌓일 수 있습니다. 이 영향은 추론이며, 실제 편집 툴에서 시험하지는 않았습니다.

해결은 간단합니다. alpha 250 초과는 255로, 4 미만은 0으로 정리하면 됩니다. 인물 이미지에 적용해 보니 완전 불투명 비율이 0%에서 58.5%로 올랐고, 잔상은 0.0%, 최대 alpha는 255가 됐습니다. 아래 스크립트의 `--clean` 옵션이 이 처리를 합니다.

## 넘기기 전에 검은색·빨간색 배경에서 확인하는 스크립트

투명 PNG는 흰 배경이나 체크무늬 미리보기에서는 멀쩡해 보여도, 어두운 상세페이지나 컬러 배너에 올리면 흰 테두리와 뿌연 막이 드러납니다. 아래 `check_edges.py`는 alpha 비율을 출력하고, 같은 이미지를 검은색·흰색·빨간색·회색 배경 위에 나란히 합성한 미리보기를 저장합니다. 이번 테스트에서 RGBA 파일 2장과 RGB 파일 1장에 그대로 실행했고, RGB 파일에서는 "no alpha channel"을 출력하고 종료했습니다. 아래 코드는 실행한 그대로입니다.

```python
"""check_edges.py — inspect a transparent PNG/WebP before you use it.

    python check_edges.py image.png            # report + preview sheet
    python check_edges.py image.png --clean    # also write image.clean.png

Needs: pip install pillow numpy
"""
import sys

import numpy as np
from PIL import Image

path = sys.argv[1]
im = Image.open(path)
if im.mode not in ("RGBA", "LA") and "transparency" not in im.info:
    sys.exit(f"{path}: mode {im.mode}, no alpha channel. Any checkerboard you see is painted pixels.")

rgba = im.convert("RGBA")
a = np.asarray(rgba)[..., 3]
total = a.size
print(f"{path}: {im.size[0]}x{im.size[1]}, mode {im.mode}")
print(f"  fully transparent (alpha 0):     {100 * (a == 0).sum() / total:5.1f}%")
print(f"  fully opaque (alpha 255):        {100 * (a == 255).sum() / total:5.1f}%")
print(f"  partly transparent (1-254):      {100 * ((a > 0) & (a < 255)).sum() / total:5.1f}%")
print(f"  near-invisible haze (alpha 1-3): {100 * ((a > 0) & (a < 4)).sum() / total:5.1f}%")
print(f"  highest alpha in the file:       {a.max()}")
if a.max() < 255:
    print("  note: no pixel is fully opaque; the whole subject lets a little of the background through")

# Preview: the same image on black, white, red and a mid grey
w, h = rgba.size
sheet = Image.new("RGB", (w * 4, h))
for i, color in enumerate([(0, 0, 0), (255, 255, 255), (200, 30, 40), (128, 128, 128)]):
    bg = Image.new("RGBA", (w, h), color + (255,))
    bg.alpha_composite(rgba)
    sheet.paste(bg.convert("RGB"), (i * w, 0))
out = path.rsplit(".", 1)[0] + ".preview.png"
sheet.save(out)
print(f"  preview on black / white / red / grey: {out}")

if "--clean" in sys.argv:
    arr = np.asarray(rgba).copy()
    alpha = arr[..., 3]
    alpha[alpha < 4] = 0      # drop the invisible haze
    alpha[alpha > 250] = 255  # make the solid core really solid
    clean = path.rsplit(".", 1)[0] + ".clean.png"
    Image.fromarray(arr, "RGBA").save(clean)
    print(f"  cleaned copy: {clean}")
```

테스트 환경은 Python 3.12, Pillow 12, numpy 2.5입니다. `pip install pillow numpy`로 설치한 뒤 `python check_edges.py 파일명.png`로 실행합니다. 결과는 이렇게 읽습니다.

- **no alpha channel로 끝남**: 투명 PNG가 아닙니다. 보이는 체크무늬는 그려진 픽셀입니다. 챗GPT나 이미지 생성 API에서 이런 가짜 투명이 나왔다면 [챗GPT·GPT Image 투명 배경 체크무늬: 가짜 투명 판별과 복구](https://blog.laozhang.ai/ko/posts/gpt-image-transparent-background-checkerboard)에서 `background` 파라미터와 복구 방법을 확인하세요.
- **highest alpha가 254**: 이번 네이티브 생성 결과와 같은 상태입니다. `--clean`으로 정리한 사본을 쓰면 됩니다.
- **미리보기의 검은색·빨간색 칸**: 흰 테두리, 회색 테두리, 뿌연 막, 구멍은 이 두 칸에서 가장 잘 보입니다. 최종 배경색이 정해져 있다면 그 색에서도 한 번 더 확인하세요.

## 피사체별로 무엇을 고를까: 1회 실측에서 나온 판단 기준

아래는 위 결과에서 끌어낸 추론입니다. 피사체마다 1장씩 본 결과이고, OpenAI나 rembg가 제시한 기준이 아닙니다.

| 상황 | 이번 결과로 본 선택 | 넘기기 전 확인 |
|---|---|---|
| 머리카락·털을 새로 생성 | `background: "transparent"` + PNG로 처음부터 투명 배경 생성 | 최대 alpha 254면 `--clean` |
| 이미 있는 인물 사진에서 누끼 | u2net보다 BRIA·BiRefNet 계열 모델 | 가는 가닥의 회색·흰 테두리를 검은색·컬러 배경에서 확인 |
| 유리잔·병·비닐처럼 비치는 물건 | 실제로 쓸 배경색 위에서 생성·촬영하거나 편집 툴에서 합성(미실행) | 네이티브 투명은 뿌연 막, 누끼는 배경색이 남는지 확인 |
| 솜털·깃털처럼 가는 실이 많은 것 | 처음부터 투명 배경 생성 | 검은 배경에서 흰 빛번짐, 누끼라면 중심부 구멍 확인 |

![머리카락 신규 생성, 기존 인물 사진, 유리잔·병, 솜털 네 가지 상황별로 고를 경로와 넘기기 전에 확인할 점을 정리한 선택 지도. 유리잔 경로는 미실행 추론으로 표시](https://blog.laozhang.ai/posts/ko/ai-transparent-background-glass-hair-test/img/subject-route-picker.webp)

이미지 소재별로 오피스, 미리보기, 그림판, Canva 같은 도구를 고르는 방법과 저장 형식은 [이미지 배경 투명하게 만들기: 방법 고르기와 투명 PNG 확인](https://blog.laozhang.ai/ko/posts/transparent-image-maker)에 정리돼 있습니다.

## 로컬 rembg 무료 누끼: 속도, 모델 용량, BRIA 상업 이용 라이선스

rembg는 내 컴퓨터에서 돌리는 무료 오픈소스 누끼 도구입니다. `pip install "rembg[cpu]"`로 설치하며(명령줄 도구까지 쓰려면 `cli`를 추가), README 기준 Python 3.11 이상 3.14 미만이 필요합니다.

이번에 Apple 실리콘 MacBook의 CPU로 1024×1024 이미지 1장을 처리한 시간과 처음 실행할 때 내려받는 모델 크기는 다음과 같습니다. GPU가 있으면 더 빨라집니다.

| 설정 | 1장 처리 시간 | 첫 실행 다운로드 |
|---|---|---|
| u2net | 0.6~1.5초 | 176 MB |
| u2net + alpha matting | 1.3~2.1초 | (u2net과 같음) |
| BiRefNet-general-lite | 16~91초 | 224 MB |
| BRIA RMBG-2.0 | 75~146초 | 1.0 GB |
| BRIA + decontaminate | 78~130초 | (BRIA와 같음) |

**상세페이지나 광고처럼 돈을 버는 이미지라면 라이선스를 먼저 확인해야 합니다.** rembg 코드 자체는 MIT 라이선스지만, README는 모델 가중치에 각자의 라이선스가 따로 있다고 밝힙니다. rembg 기본 모델인 BRIA RMBG-2.0은 [Hugging Face의 BRIA RMBG-2.0 모델 페이지](https://huggingface.co/briaai/RMBG-2.0)에 따르면 비상업적 이용용 CC BY-NC 4.0이고, 상업적으로 쓰려면 BRIA와 별도 계약을 맺어야 합니다. [Hugging Face의 BiRefNet 모델 페이지](https://huggingface.co/ZhengPeng7/BiRefNet)는 가중치 라이선스를 MIT로 표시합니다. u2net 가중치의 라이선스는 확인하지 못했습니다. 법률 자문이 아니므로 판매용 이미지에 쓰기 전에는 각 페이지를 직접 확인하세요.

## API로 투명 배경을 생성할 때 지정하는 값과 비용

OpenAI 공식 문서는 투명 배경이 필요하면 `background="transparent"`를 명시하고 PNG나 WebP로 출력하라고 안내합니다. [OpenAI 이미지 생성 가이드](https://developers.openai.com/api/docs/guides/image-generation)는 `gpt-image-2.5-sunburst`와 `gpt-image-2.5-flare` 모두 이 방식으로 투명 배경을 지원한다고 적고 있고, `gpt-image-2`의 투명 배경은 프리뷰 단계입니다(2026년 10월 19일 기준). [OpenAI 이미지 프롬프트 가이드](https://developers.openai.com/api/docs/guides/image-prompting)는 그려진 체크무늬는 투명이 아니라고 짚고, 프롬프트에 단색 배경·체크무늬·풍경·그림자를 넣지 말라고 하며, 머리카락·유리·그림자·경계의 알파 채널을 디코딩해 확인하라고 권합니다. 이미지를 나중에 편집할 때도 투명 배경을 유지하라는 요구를 다시 넣어야 합니다.

이번 테스트에 쓴 `gpt-image-2.5-sunburst-vip`는 [LaoZhang의 GPT Image 2.5 문서](https://docs.laozhang.ai/api-capabilities/gpt-image-2-5)에 호출당 $0.03으로 올라 있고, 크기·품질·참조 이미지 유무나 생성·편집 여부와 관계없이 같은 요금입니다. 같은 문서는 `background="transparent"` + `output_format="png"`로 투명 PNG를 지원한다고 적고 있지만 `mask` 편집은 지원하지 않습니다. 장당 비용과 공식 토큰 요금 비교는 [GPT Image 2.5 Sunburst 가격: 호출당 $0.03과 공식 토큰 요금 비교](https://blog.laozhang.ai/ko/posts/gpt-image-2-5-api-pricing)에서 다룹니다.

*안내: [laozhang.ai는 이 블로그 운영팀의 자사 서비스입니다](https://blog.laozhang.ai/ko/about#laozhang). 그 가격은 독립적인 비교가 아니라 자사 제시 가격입니다.*

## 자주 묻는 질문

### 챗GPT에서도 투명 배경 PNG를 만들 수 있나요?

만들 수 있지만 챗GPT 앱에는 `background` 같은 설정 값이 없어 글로 요청해야 하고, 결과가 진짜 알파 채널인지 체크무늬를 그린 그림인지 확인이 필요합니다. 이번 테스트에서 챗GPT 앱은 돌리지 않았습니다. 판별법은 [챗GPT·GPT Image 투명 배경 체크무늬: 가짜 투명 판별과 복구](https://blog.laozhang.ai/ko/posts/gpt-image-transparent-background-checkerboard)에 있습니다.

### 머리카락 누끼를 깔끔하게 따려면 어떻게 하나요?

새로 생성하는 이미지라면 처음부터 투명 배경으로 생성한 결과가 이번 테스트에서 잔머리를 가장 많이 남겼습니다. 이미 있는 사진이라면 로컬 rembg 중에서는 BRIA RMBG-2.0이 가장 나았지만 가는 가닥에 옅은 회색 테두리가 남았고, decontaminate를 켜면 덜 보였습니다. 유료 웹 도구와 포토샵은 시험하지 않았습니다.

### 유리잔이나 병도 AI로 누끼를 딸 수 있나요?

윤곽은 딸 수 있지만, 이번에 시험한 rembg 다섯 가지 설정은 모두 원래 배경색을 유리 안에 남겨 새 배경 위에서 불투명한 회색 유리잔이 됐습니다. 투명 배경으로 생성한 유리는 뒤가 비쳐 보이는 대신 뿌연 막이 있었습니다. 실제 배경색 위에서 생성·촬영하는 편이 현실적입니다.

### 누끼 딴 이미지에 흰 테두리가 생기는 이유는 무엇인가요?

경계의 반투명 픽셀에 원래 배경색이 섞여 있기 때문입니다. 흰 배경에서 딴 이미지는 흰 테두리, 회색 배경에서 딴 이미지는 회색 테두리가 남습니다. 흰 배경에서는 보이지 않으니 검은색이나 컬러 배경 위에서 확인하고, rembg라면 decontaminate 옵션으로 경계 색을 줄일 수 있습니다.

### 무료로 누끼를 딸 수 있는 방법이 있나요?

로컬에서 돌리는 rembg는 무료입니다. 다만 기본 모델 BRIA RMBG-2.0은 비상업적 이용 라이선스라 상세페이지 같은 상업용 이미지에 쓰려면 BRIA와 계약이 필요합니다. 처음 실행할 때 모델을 1.0 GB 내려받고, 이번 CPU 환경에서는 1장에 75~146초가 걸렸습니다.

## 참고 자료

이 글이 링크한 외부 페이지를 본문에 나온 순서대로 정리했습니다. 마지막 업데이트: 2026-10-19.

- [rembg GitHub 저장소](https://github.com/danielgatis/rembg) (github.com)
- [Hugging Face의 BRIA RMBG-2.0 모델 페이지](https://huggingface.co/briaai/RMBG-2.0) (huggingface.co)
- [Hugging Face의 BiRefNet 모델 페이지](https://huggingface.co/ZhengPeng7/BiRefNet) (huggingface.co)
- [OpenAI 이미지 생성 가이드](https://developers.openai.com/api/docs/guides/image-generation) (developers.openai.com)
- [OpenAI 이미지 프롬프트 가이드](https://developers.openai.com/api/docs/guides/image-prompting) (developers.openai.com)
