본문으로 건너뛰기

투명 배경 PNG 만들기: GPT Image 2 설정부터 누끼·저장 확인까지

3 분 소요이미지 편집

스티커나 상품 이미지는 내려받은 뒤 다른 배경에 올려 봐야 합니다. PNG라는 이름과 실제 투명도를 구분하고, 원본을 보존하면서 필요한 소재를 만드세요.

투명 PNG 제작과 확인을 설명하는 이미지

GPT Image 2로 새 스티커나 일러스트를 만들 때 이제 API에서 투명 배경을 요청할 수 있습니다. 현재는 미리 보기 기능이며, background="transparent"와 PNG 또는 WebP 출력 형식을 함께 사용합니다. 예전의 미지원 안내 대신 OpenAI의 최신 이미지 가이드를 기준으로 설정하세요.

원하는 결과는 단순히 PNG 파일이 아닙니다. 배경 부분은 아래 색이 비쳐야 하고, 필요한 피사체는 남아 있어야 합니다. 회색 격자무늬가 그려진 이미지나 흰색 바탕의 PNG도 있으므로 파일을 직접 확인해야 합니다.

투명 배경 소재 제작을 설명하는 그림

새로 그릴 소재에 필요한 요청

다음 예시는 Python의 openai 패키지를 사용합니다. 모델을 이용할 수 있는 API 계정과 환경 변수 OPENAI_API_KEY가 필요합니다. API의 지원 여부가 ChatGPT 화면이나 다른 이미지 서비스의 기능을 그대로 보장하는 것은 아닙니다.

python
import base64 from pathlib import Path from openai import OpenAI client = OpenAI() result = client.images.generate( model="gpt-image-2", prompt=( "작은 초록색 선인장 화분 일러스트를 만들어 주세요. " "피사체 전체가 보이고 주변에 여백이 있어야 합니다. " "배경은 완전히 투명하게 하고 벽, 바닥, 격자무늬, 그림자는 넣지 마세요." ), background="transparent", output_format="png", size="1024x1024", quality="medium", ) if not result.data or not result.data[0].b64_json: raise RuntimeError("응답에 이미지 데이터가 없습니다") Path("cactus.png").write_bytes( base64.b64decode(result.data[0].b64_json, validate=True) )

공식 이미지 생성 예제처럼 응답의 Base64 데이터를 복원해 파일로 저장합니다. b64_json은 다운로드 주소가 아닙니다. 문자열을 그대로 파일에 쓰거나 확장자만 바꾸면 올바른 이미지 저장이 되지 않습니다.

출력 형식은 output_format으로 지정합니다. response_format="png"로 쓰지 마세요. PNG 요청에는 output_compression을 넣지 않으며, 투명도를 유지하려면 JPEG로 바꾸지 않아야 합니다. 자세한 항목은 이미지 생성 API 매개변수에 나와 있습니다.

지시문도 배경 설정과 맞아야 합니다. 투명 배경을 요청하면서 동시에 카페 테이블이나 포장지를 그려 달라고 하면 배경이 생길 수 있습니다. 합성용 소재라면 피사체와 여백을 설명하고, 그림자가 필요할 때만 그 형태를 구체적으로 지정하세요.

이미 있는 사진은 피사체를 보존하는 방식으로

실제 판매 상품 사진이나 정확한 글자가 들어간 로고라면 새로 그리는 것보다 배경만 제거하는 편집이 적합합니다. 원본을 복사하고, 선택 영역과 마스크로 배경을 숨긴 뒤 필요한 부분을 복원하세요. 생성형 편집은 색상뿐 아니라 글자나 형태도 바꿀 수 있습니다.

사진은 피사체 자동 선택으로 시작한 뒤 머리카락, 털, 얇은 천을 따로 조정합니다. 단색 배경의 로고는 배경과 연결된 영역을 선택하고 허용 범위를 조금씩 넓히는 방식이 유용합니다. 모든 흰색을 한꺼번에 지우면 로고 내부의 흰색까지 사라질 수 있습니다.

유리나 부드러운 그림자에는 반투명 픽셀이 필요할 수 있습니다. 가장자리를 전부 완전 투명 또는 완전 불투명으로 바꾸면 딱딱한 테두리가 생깁니다. 작은 화면에서만 보지 말고 원래 크기와 실제 사용할 크기에서 함께 확인하세요.

기존 생성 이미지를 API로 다시 수정할 때도 이미지 편집 요청에 투명 배경과 출력 형식을 지정하고, 지시문에서 배경 유지 조건을 다시 알려 주세요. 수정 후에는 피사체의 세부 사항을 원본과 비교해야 합니다.

파일 검사와 눈으로 보는 검사를 함께 하기

다운로드한 원본 아래에 검은색과 흰색 배경을 번갈아 놓으세요. 빈 영역에 새 배경이 보이면 투명도가 적용된 것입니다. 이미지와 격자무늬가 함께 움직인다면 격자는 파일에 포함된 그림입니다.

여러 장을 처리한다면 Pillow로 명백한 실패를 먼저 찾을 수 있습니다. 아래 코드는 배경을 지우는 도구가 아니라 저장된 파일의 검사 도구입니다.

python
from PIL import Image with Image.open("cactus.png") as source: print("파일 형식:", source.format) rgba = source.convert("RGBA") alpha = rgba.getchannel("A") hist = alpha.histogram() total = rgba.width * rgba.height print("완전 투명:", hist[0]) print("반투명:", sum(hist[1:255])) print("완전 불투명:", hist[255]) if hist[255] == total: print("투명한 픽셀이 없습니다") elif hist[0] == total: print("전체가 투명하여 피사체가 보이지 않습니다") else: print("투명도가 있습니다. 피사체와 가장자리를 확인하세요")

Pillow의 채널 검사 기능을 이용한 방법입니다. RGBA로 변환한다고 흰 배경이 제거되지는 않습니다. 불투명한 그림에 알파 채널만 추가하면 모든 값이 여전히 불투명할 수 있습니다.

일부 투명 픽셀이 있다는 결과도 완성 판정은 아닙니다. 모서리 하나만 투명하거나 전체가 흐리게 비치는 사각형일 수도 있습니다. 비어야 하는 영역과 남아야 하는 피사체를 실제 배치할 배경 위에서 확인하세요.

저장한 뒤 문제가 생겼을 때

원본부터 흰 배경이면 실제 전송한 요청에 투명 배경 설정이 있는지 확인합니다. 사용하는 서비스가 그 매개변수를 지원하는지도 점검하세요. 피사체를 그대로 남겨야 한다면 재생성보다 현재 파일의 배경 제거가 적절할 수 있습니다.

원본은 투명한데 내보낸 파일만 흰색이라면 편집기의 배경 합성 설정과 저장 형식을 봅니다. 웹사이트에서만 문제가 보이면 압축본과 실제 제공되는 이미지 파일을 비교하세요. 투명도가 사라진 단계를 고쳐야 같은 문제가 반복되지 않습니다.

어두운 바탕에서 흰 테두리가 보일 때는 반투명 가장자리에 이전 배경색이 남았는지 살펴봅니다. 전체 윤곽을 지나치게 줄이지 말고 해당 부분의 마스크와 색을 조정합니다. 털이나 얇은 선이 잘렸다면 원본에서 복원하고 강한 임계값 처리를 줄이세요.

상품 목록에 넣을 소재는 캔버스 크기, 상품 비율, 여백도 맞춰 둡니다. 투명 원본을 따로 보관하고 필요한 크기는 그 원본에서 만드세요. 내보내기 설정을 바꾼 뒤에는 밝은 상품, 어두운 피사체, 가는 가장자리가 있는 소재를 각각 확인하면 놓치기 쉬운 결함을 찾기 쉽습니다.

투명 이미지 파일의 활용을 돕는 설명 그림

#GPT Image 2#투명 PNG#배경 제거#알파 채널
Share: