API로 이미지 배경 일괄 제거하기
배경 제거는 Job마다 이미지 한 장을 받으므로, 일괄 처리는 이미지마다 비동기 Job을 하나씩 보내는 방식입니다. 동시성 한도에 맞춰 처리되며, 가격은 이미지당 고정입니다.

여러 이미지의 배경을 한꺼번에 제거하려면 이미지마다 배경 제거 Job을 하나씩 제출하고, Job들이 나란히 실행되게 두세요. Sume RMBG 1.0은 요청마다 image_url 하나를 받아 알파 채널이 있는 PNG를 반환하며, 가격은 크기와 관계없이 이미지당 하나입니다. 따라서 제품 사진 1,000장짜리 카탈로그는 Job 1,000개가 되고, 워크스페이스의 동시성 한도에 맞춰 처리됩니다.
RMBG 1.0은 Sume API 레퍼런스의 바탕이 되는 OpenAPI 문서에 명세되어 있고, 큐와 Job 규칙은 Generation admission과 Job과 결과 (영문) 문서에서 가져왔습니다. 모두 2026-09-27에 확인했습니다. 이미지 한 장을 처리하는 호출은 배경 제거 API에서 다룹니다.
여러 이미지의 배경을 한 번에 제거하려면 어떻게 하나요?
요청은 공개 HTTPS image_url 하나를 받으므로, 일괄 처리를 시작하기 전에 모든 사진이 공개 HTTPS URL에 올라가 있어야 합니다. 그다음 목록을 순회하세요.
- 이미지마다
POST /v1/rmbg-1.0/remove를 하나씩 보내고, SKU처럼 이미지에서 만든Idempotency-Key를 붙이세요. 같은 키와 본문으로 재시도하면 두 번째 유료 Job 대신 원래 Job이 반환됩니다. - 기본값인
mode: "async"를 쓰거나,webhook_url과 함께mode: "webhook"을 쓰세요. 둘 다 Job ID를 곧바로 반환합니다. - 이미지와 Job ID의 대응표를 유지하고,
result_ready가 true가 되면GET /v1/jobs/{id}/result를 가져오세요. 그 전에는409 job_not_completed로 응답합니다. - 완료된 결과는 알파 채널이 있는 미러링된 PNG 아티팩트를 제공합니다. 자체 저장소로 내려받으세요.
- 머리카락이나 유리 같은 가장자리가 어떻게 처리되는지는 문서에 나와 있지 않으므로, 카탈로그 전체를 돌리기 전에 샘플로 먼저 실행해 보세요.
curl -X POST https://api.sume.com/v1/rmbg-1.0/remove \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: rmbg-sku-4411-v1" \
-d '{
"image_url": "https://example.com/catalog/sku-4411.jpg",
"mode": "webhook",
"webhook_url": "https://example.com/webhooks/sume"
}'배경 제거 결과는 하나씩 폴링해야 하나요, 웹훅을 써야 하나요?
일괄 처리에는 곧바로 반환되는 모드를 고르세요. 모든 모드는 첫 응답에서 Job ID를 반환합니다. localhost, 사설 네트워크, HTTPS가 아닌 URL은 거부되므로 웹훅 URL은 공개 HTTPS여야 하며, job.completed 페이로드에는 artifacts가 담깁니다.
웹훅은 전달 최적화일 뿐 유일한 복구 경로가 아니므로, 놓친 전달에 대비해 status_url 폴링을 유지하세요. 서명 검증은 서명된 웹훅에서 다룹니다. 세 모드를 비교하면 다음과 같습니다.
| 모드 | 제출 시 동작 | 일괄 처리에서 |
|---|---|---|
async(기본값) | status_url, result_url, events_url, cancel_url과 함께 즉시 반환. | 각 status_url을 지수 백오프로 폴링. |
sync 또는 subscribe | 최대 wait_timeout_seconds(상한 30)까지 대기. Job이 끝나지 않았으면 sync.timed_out 또는 sync.capacity_exhausted와 함께 반환. | 이미지마다 요청 하나를 열어 두며, 타임아웃되면 결국 폴링해야 함. |
webhook | 즉시 반환하고, 종료 전달에만 쓸 webhook_url을 저장. | Job마다 종료 콜백 한 번: job.completed, job.failed, job.canceled 중 하나. |
배경 제거 Job은 동시에 몇 개까지 실행되나요?
현재 코드에서 요청은 각각 background_removal Job을 하나 만들며, 이 Job은 다른 유료 생성 Job과 같은 큐 우선(queue-first) 접수를 거칩니다. 한 번에 몇 개가 처리될지는 워크스페이스의 concurrency_limit이 정하고, 큐에 들어간 Job은 슬롯이 빌 때까지 기다리며, 큐까지 가득 차면 제출이 429 queue_full로 실패합니다. queue_full을 받으면 작업 추가를 멈추고 Job이 끝나기를 기다리세요.
속도 조절 규칙은 다른 이미지 일괄 처리와 같으며, 이미지 대량 생성에서 다룹니다. 다른 Job 유형은 동시성 슬롯을 차지하는 호출에 정리되어 있습니다.
배경 일괄 제거 비용은 얼마인가요?
API 요금에는 배경 제거가 이미지당 $0.0225로 나와 있으며, 기본적으로 5.5% 에이전트 수수료가 더해집니다. 공개 카탈로그에는 가격이 이미지 크기에 따라 달라지지 않는다는 설명이 덧붙어 있습니다. 따라서 배경 제거 1,000건은 에이전트 수수료 전 기준으로 $22.50입니다.
Sume는 제출을 수락할 때 Job마다 예상 금액을 예약하고, 성공하면 확정하며, 실패하거나 확정 전에 취소되면 환불합니다. 취소는 생성이 시작되기 전에만 됩니다.
같은 방식으로 이미지를 일괄 업스케일할 수 있나요?
네. POST /v1/image-upscale-1.0/upscale도 Job마다 공개 HTTPS image_url 하나를 받으므로 같은 루프, 키, 속도 조절이 그대로 적용되며, API 요금에는 이미지당 $0.20로 나와 있습니다. 두 엔드포인트 모두 이미지 목록을 받지 않습니다. URL 하나에 Job 하나입니다. 업스케일 배율과 출력 형식은 AI 이미지 업스케일러 API에 있습니다.
출처
관련 글
미디어 도구 카테고리의 다른 글
- 영상의 검은 여백을 크롭으로 없애는 방법
영상에 박혀 있는 검은 여백은 크롭해야만 없어집니다. 원본 크기 스틸에서 여백을 잰 다음, Sume에서 FFmpeg의 crop 필터로 잘라 내세요.
- API로 영상 일부 잘라내기: 중간 구간을 빼고 다시 잇기
영상 트림은 Job 하나에 구간 하나만 남깁니다. 중간 구간을 잘라내려면 남길 구간들을 Sume Timeline 1.0 Job 하나에서 차례로 이어 렌더링하세요.
- 영상에서 무음 구간을 자동으로 제거하는 방법
전사문의 단어 타이밍으로 모든 쉼을 찾고, 말소리 앞뒤로 약간의 여유를 남긴 뒤, 남길 구간을 Timeline Job 하나에서 차례로 이어 렌더링하세요.
- 영상을 90도 회전해 저장하는 방법
ffmpeg의 transpose 필터로 영상을 90도 회전하세요. clock은 시계 방향, cclock은 반시계 방향으로 돌리며, Sume의 영상 필터는 결과를 새 MP4로 저장합니다.
작성자 Sume