Rembg
Rembg removes backgrounds from authorized product photos so small sellers and independent designers can prepare transparent PNG cutouts. It takes an image and a selected segmentation model, then returns a reviewable cutout or mask through a local Gradio interface, native HTTP server, command line or Python library. The official software license and package metadata credit Daniel Gatis; present team size and ownership are unknown. It is a specialist image tool with model licensing conditions separate from the MIT software.
On this page
What is Rembg?
Rembg is a specialist ai tool from Rembg / Daniel Gatis for Product images. Rembg removes backgrounds from authorized product photos so small sellers and independent designers can prepare transparent PNG cutouts. It takes an image and a selected segmentation model, then returns a reviewable cutout or mask through a local Gradio interface, native HTTP server, command line or Python library. The official software license and package metadata credit Daniel Gatis; present team size and ownership are unknown. It is a specialist image tool with model licensing conditions separate from the MIT software. Its documented inputs are an authorized RGB or RGBA image, an explicitly selected model, local CPU/runtime resources and cutout settings. The frozen pilot inputs are two new 512x512 synthetic raster drawings; evaluator masks are not supplied to the model. The expected deliverable is a reviewable PNG with alpha transparency, a foreground mask when requested, or a native error. The registered pilot retains the native HTTP response bytes and measures silhouette IoU, foreground preservation, transparent holes, dimensions and exact source RGB.
Best suited for
- A small seller, independent designer or creator who needs local background removal from authorized images and can review the item silhouette, fine edges, transparent holes and model-specific license.
- A pilot focused on native product-image background removal with exact color and silhouette checks, using an authorized RGB or RGBA image, an explicitly selected model, local CPU/runtime resources and cutout settings. The frozen pilot inputs are two new 512x512 synthetic raster drawings; evaluator masks are not supplied to the model.
Not suited for
- A workflow that depends on the following request without the stated input, review or permissions: Run the same complete official rembg 2.0.85 native HTTP multipart route and exact u2netp/query/form parameters as the primary case, now uploading only mug-input.png. Preserve the mug body, dark stripe and narrow handle rim, remove the background visible through the handle hole, retain original RGB and 512x512 dimensions, and save the unedited native PNG or error. Do not compensate for weak segmentation by changing the model, drawing a new mask or adding a background.
- Rembg is a specialist image tool, not an autonomous agent. A PNG export does not establish a Shopify integration, listing publication, item purchase or marketing-performance improvement.
- Foreground masks can remove a handle, fill a hole, cut label details or preserve background. Low contrast, transparency, fine hair and intricate edges require checking the actual unedited result.
Capabilities, with sources
- 01The official product removes image backgrounds through a CLI, Python library, HTTP server or container; the native server includes a Gradio image-upload UI.Official vendor statement · checked 2026-10-02Source ↗
- 02The fixed software license is MIT and credits Daniel Gatis; this does not establish current company size or ownership.Official vendor statement · checked 2026-10-02Source ↗
- 03The fixed native server accepts image bytes at POST /api/remove with explicit multipart model and cutout settings.Official vendor statement · checked 2026-10-02Source ↗
- 04The official u2netp session downloads a lightweight local ONNX asset and verifies MD5 8e83ca70e441ab06c318d82300c84806 unless checksum checking is explicitly disabled.Official vendor statement · checked 2026-10-02Source ↗
- 05U2NET_HOME takes precedence over REMBG_HOME and also controls the legacy flat-model lookup.Official vendor statement · checked 2026-10-02Source ↗
- 06The native putalpha setting preserves the original RGB with a generated alpha mask; the default composite cutout has different color behavior at soft edges.Official vendor statement · checked 2026-10-02Source ↗
- 07Default bria-rmbg uses separate BRIA model terms and requires a paid agreement for commercial use; the withoutbg alternative is a cloud API backend.Official vendor statement · checked 2026-10-02Source ↗
Inputs and outputs
Inputs
An authorized RGB or RGBA image, an explicitly selected model, local CPU/runtime resources and cutout settings. The frozen pilot inputs are two new 512x512 synthetic raster drawings; evaluator masks are not supplied to the model.
Outputs
A reviewable PNG with alpha transparency, a foreground mask when requested, or a native error. The registered pilot retains the native HTTP response bytes and measures silhouette IoU, foreground preservation, transparent holes, dimensions and exact source RGB.
Ecommerce & Retail fields
| Commerce platforms | Not verifiedNot verified in the reviewed official material. |
|---|---|
| Workflow stages | ecommerce product imagesSource 1 |
| Integration by platform | Not verifiedNot verified in the reviewed official material. |
| Store data & permissions | Not verifiedNot verified in the reviewed official material. |
| Output formats | Not verifiedNot verified in the reviewed official material. |
| Batch processing | Not verifiedNot verified in the reviewed official material. |
| Localization languages | Not verifiedNot verified in the reviewed official material. |
| Approval requirements | Not verifiedNot verified in the reviewed official material. |
A practical Rembg workflow
- Prepare the native product-image background removal with exact color and silhouette checks fixture: The frozen synthetic 512x512 RGB bottle-input.png shows one teal bottle, one black cap and a cream label with three dark marks on a light gray background. Independently drawn bottle-reference-mask.png, eroded bottle-core-mask.png and dilated-complement bottle-background-mask.png are evaluator assets, not model inputs. No real merchant image, user data or third-party photo is present.
- Check Rembg access through Local Gradio web UI, Native HTTP image-upload API, Local command line, Python library and confirm the selected feature’s actual permissions.
- Through the complete official rembg 2.0.85 native HTTP server, upload only bottle-input.png to POST /api/remove with multipart model=u2netp, a=false, af=240, ab=10, ae=10, om=false, ppm=false, dc=false, vm=false, and query extras={"putalpha":true}. Produce a transparent PNG retaining the complete original bottle, cap, label colors and 512x512 dimensions. Do not send any image to a cloud service or fetch a URL.
- Inspect the unedited native response is a 512x512 RGBA PNG with nontrivial transparency and unchanged per-pixel source RGB. Alpha threshold 128 matches the independently drawn bottle mask with IoU at least 0.90; at least 95% of the frozen foreground core has alpha >=245 and at least 95% of the frozen background region has alpha <=10. The original input hash remains unchanged. Compare it against the source input and retain the output/action log.
- Run the boundary case: Run the same complete official rembg 2.0.85 native HTTP multipart route and exact u2netp/query/form parameters as the primary case, now uploading only mug-input.png. Preserve the mug body, dark stripe and narrow handle rim, remove the background visible through the handle hole, retain original RGB and 512x512 dimensions, and save the unedited native PNG or error. Do not compensate for weak segmentation by changing the model, drawing a new mask or adding a background. Accept the result only if the failure criteria are satisfied.
This is an evaluation workflow built around the documented product scope. Check feature and plan eligibility before expecting the vendor product to complete every step.
Setup and integrations
Pin the complete official rembg 2.0.85 package with cpu and cli extras in a task-owned Python environment. Native rembg s exposes a Gradio UI and HTTP API; bind it to 127.0.0.1 on a task-owned port. The frozen inference cases use the native multipart HTTP route, not UI interaction, a direct library wrapper or isolated ONNX inference. Both REMBG_HOME and U2NET_HOME point to the same task-owned model root so the latter precedence and legacy lookup cannot reuse an unrelated user model. Verify actual application/cache state separately; these settings do not establish an OS sandbox or network isolation.. Documented access methods: Local Gradio web UI, Native HTTP image-upload API, Local command line, Python library. Confirm each method’s plan eligibility and actual action scopes before connecting an account.
Access and setup steps
- Pin the full official rembg 2.0.85 CPU and CLI distribution in a new task-owned Python environment; record the installed package metadata, source commit and dependency versions. Do not substitute naked ONNX inference for the product.
- Set process-local REMBG_HOME and U2NET_HOME to the same existing task-owned model root, choose task cache/temp locations and verify actual state writes. Keep MODEL_CHECKSUM_DISABLED unset and preserve user configuration.
- Bind rembg s to 127.0.0.1 on one unused task-owned port with --log_level info --threads 1. The native startup opens a localhost browser page; the complete Gradio UI includes an Input upload, Models dropdown and Output image.
- Select u2netp explicitly. The default bria-rmbg and cloud withoutbg have different licenses/cost/data paths. Record the real model bytes, native checksum, SHA256 and CPU provider before interpreting a result.
- Freeze both synthetic input PNGs, independent reference masks, all numeric thresholds and complete cases before inference. The primary is a bottle with cap and label marks; the boundary is a near-white mug with a narrow handle and a background-colored hole.
- For this pilot, submit only the frozen image bytes to native POST /api/remove. Put model and cutout flags in multipart Form and extras={"putalpha":true} in the URL query, as the fixed native server requires. Retain request and unedited response bytes.
- Compare native alpha and RGB against the independent masks, preserve every failure, and report image dimensions, IoU and each region fraction separately. HTTP service inference does not establish the browser upload/download interaction or broad natural-photo quality.
Test access: local install. Two original frozen synthetic cases were executed through the complete official rembg 2.0.85 native HTTP service using the checksum-verified local CPU u2netp model. Both passed their eight fixed conditions; original input, unedited native PNG, metrics and provenance are retained below. No new account or paid model API was used. These results cover the exact u2netp/putalpha configuration and two synthetic inputs; native HTTP inference does not test Gradio interaction or broad natural-photo quality. Open the official access or installation page ↗
Pilot dependencies
- Use the complete official rembg 2.0.85 CPU/CLI runtime and native rembg s multipart HTTP service with a task-owned loopback port, both task-owned model-root variables, the official checksum-verified u2netp asset and the exact frozen putalpha/query/form parameters. Only the original synthetic input image is uploaded; evaluator masks stay outside model inputs. Retain actual response bytes and image metrics. Native HTTP inference is the declared surface; the Gradio interaction, other models, cloud API and broad photo quality are separate.
- Two original frozen synthetic cases were executed through the complete official rembg 2.0.85 native HTTP service using the checksum-verified local CPU u2netp model. Both passed their eight fixed conditions; original input, unedited native PNG, metrics and provenance are retained below. No new account or paid model API was used. These results cover the exact u2netp/putalpha configuration and two synthetic inputs; native HTTP inference does not test Gradio interaction or broad natural-photo quality.
- Confirm mit local software · separate model terms and hardware costs against the current vendor terms; usage and connected-service costs can affect the pilot.
- Create a test workspace or use public/authorized material. Keep an input baseline, output artifact and action log for comparison.
Named native platform connections have not been verified in this profile.
Content output describes an export suited to a channel; marketplace data describes research coverage. Exact data scopes and permissions need a setup review.
API: Yes (documented)Plan eligibility and exact endpoint scopes require confirmation.Source 1
Self-hosting: Yes (documented)Documented local/self-hosted option; model inference, license and infrastructure conditions require separate review.Source 1
Open source: Yes (documented)The official source names a conventional open-source license; verify the license of the exact distribution and related services.Source 1
Pricing and additional costs
MIT local software · separate model terms and hardware costs
The official Rembg software is available under MIT without a mandatory hosted account or software checkout for the recorded local CPU route. A model, its license and local hardware resources are separate. The selected u2netp asset is hosted by the official project and links to the Apache-2.0 U-2-Net source; no separate per-ONNX-asset commercial-license certification was established. Default BRIA RMBG-2.0 requires a paid agreement for commercial use, and the withoutbg backend sends images to a separate cloud API. This pilot does not use either backend or a paid API.
No mandatory local software checkout amount, currency or billing unit applies to the recorded MIT-software route. Provider API prices, commercial model agreements, hardware, deployment support and total cost are separate and not inferred to be zero.
Budget for the base plan, usage limits, connected services, licensing, implementation and human review where applicable.
Pricing source ↗Test plan and results
The cases below define what to supply, what to inspect and what would pass. A planned case is not a completed product test.
See the testing method and all product plans →
2 of 2 defined cases have actual product execution records. Inspect each outcome, access method, inputs and limits below.
Current HTTP/readability checks are listed below. They establish access, not the truth of every vendor claim.
Checked 2026-10-02T15:29:00.950Z. Compiled profile HTML read (no HTTP claim); single H1; 12 linked sections; 2 specific cases; 8 visible FAQs; source anchors; FAQ JSON-LD matches visible content; WebPage/software identity; registered local-model product execution, per-case outcomes and scope.
Actual local model product execution
Rembg · Product version: 2.0.85 · Official native rembg s POST /api/remove multipart image segmentation with explicit u2netp and putalpha=true · 2026-10-02T15:12:46.953108+00:00
Scope: Two original frozen native image-segmentation cases: a synthetic teal bottle and a low-contrast mug with narrow handle and real background hole. Complete official Rembg 2.0.85 CPU+CLI HTTP service, explicit u2netp and original fixed parameters; no real merchant image or cloud image API.
Observed conclusion: Both original cases passed all eight frozen acceptance conditions. Native transparent PNGs retained exact source RGB and source-file hashes; bottle IoU=0.997222064743 and mug IoU=0.982605600908. These finite synthetic outputs do not establish general product-photo performance.
Execution metadata, usage and audit scope
Model: U-2-Net lightweight (u2netp) (u2netp.onnx / official rembg v0.0.0 asset); digest: 309c8469258dda742793dce0ebea8e6dd393174f89934733ecc8b14c76f4ddd8; inference runtime: ONNX Runtime CPU 1.30.0.
LLM tokens: Not applicable to image segmentation; no language model was called. No language model or LLM calls. This is real local image-segmentation model inference; language input/output token usage is not applicable. Native HTTP wall time, actual model bytes/hash and sampled process memory are retained.
Measured cost: Not measured. No paid model API or remote image inference service was used. Hardware, electricity, installation, review and full operating costs were not measured.
Audit: Pre-inference exact frozen-definition/10 fixture hashes, five native official-source byte matches, full official native multipart request/response capture, independent original-mask PNG metrics and task-process Windows resource/cleanup receipts.. Recorded read-access entries: 2; blocked-action entries: 0. Staged paths before/after: 0/0.
Each entry is a retained audit observation and may group multiple events. Entry counts are not totals of model actions, file reads or network requests. The downloadable execution record retains the complete entries.
Read-access entries: showing 2 of 2.
- Native CLI loaded official rembg Python dependencies and the sole downloaded u2netp model under task-owned D state.
- Only two frozen synthetic input PNGs were sent to native multipart POST /api/remove; reference masks were evaluator inputs only.
11/11 recorded read-only file hashes remained unchanged. Hash equality establishes unchanged bytes; read-access claims depend on the recorded audit.
- No filesystem/Git/private-data isolation audit or whole-system network trace was performed; empty staging arrays do not assert a repository audit.
- Complete native HTTP output PNG bytes are unedited. Public console bytes were reviewed and include only native setup warnings, localhost route logs and model download progress, with no language-model response/reasoning.
- CPU provider selection is supported by exact environment diagnostics and unchanged native selection source; native inner-session provider introspection was not exposed.
- Standard BROWSER env points to a task-owned pythonw helper returning success without opening a URL. This only suppresses auto-browser startup; Gradio UI interaction is untested.
rembg-primary Executed · passed
Actual input
The frozen synthetic 512x512 RGB bottle-input.png shows one teal bottle, one black cap and a cream label with three dark marks on a light gray background. Independently drawn bottle-reference-mask.png, eroded bottle-core-mask.png and dilated-complement bottle-background-mask.png are evaluator assets, not model inputs. No real merchant image, user data or third-party photo is present.
Expected behavior
The unedited native response is a 512x512 RGBA PNG with nontrivial transparency and unchanged per-pixel source RGB. Alpha threshold 128 matches the independently drawn bottle mask with IoU at least 0.90; at least 95% of the frozen foreground core has alpha >=245 and at least 95% of the frozen background region has alpha <=10. The original input hash remains unchanged.
Observed result
HTTP 200 returned an unedited 512x512 RGBA PNG with exact source RGB and unchanged input hash. Full-image IoU=0.997222064743. foregroundCore=1.000000000000; background=1.000000000000. All four original frozen conditions passed.


Recorded duration: 3396 ms
Acceptance conditions
- passed: The native server returns HTTP 200 and a decodable 512x512 RGBA PNG with minimum alpha <=10 and maximum alpha >=245; bottle-input.png retains its frozen SHA256. HTTP 200; PNG 512x512 RGBA; alpha range 0–255; input hash unchanged=True.
- passed: The binary foreground formed by output alpha >=128 has intersection-over-union >=0.90 with the frozen bottle-reference-mask.png, using every image pixel and no excluded edge failures. Full-image IoU=52770/52917=0.997222064743; required >=0.90.
- passed: At least 95% of bottle-core-mask.png pixels have output alpha >=245, and at least 95% of bottle-background-mask.png pixels have output alpha <=10; report both fractions separately. Foreground core alpha>=245: 48769/48769=1.000000000000; exterior background alpha<=10: 205299/205299=1.000000000000; each required >=0.95.
- passed: Every output RGB pixel exactly matches the corresponding original bottle-input.png RGB pixel under the frozen native putalpha=true configuration, including the original cap and label marks. All 262144 RGB pixels exactly equal input=True; differing RGB pixels=0. Explicit frozen putalpha=true was retained.
rembg-boundary Executed · passed
Actual input
The distinct frozen synthetic 512x512 RGB mug-input.png contains a near-white mug on a light gray background, a narrow handle with a real background-colored hole and one dark body stripe. Independent full-reference, eroded-body-core, eroded-handle-core, inset-hole and dilated-complement-background masks were rendered before inference. Only mug-input.png is uploaded; the masks remain evaluation references.
Expected behavior
The native response is an unedited 512x512 RGBA PNG with exact source RGB and an unchanged source file. Alpha >=128 has IoU >=0.90 against mug-reference-mask.png. At least 95% of mug-body-core-mask.png and at least 90% of mug-handle-core-mask.png retain alpha >=245. At least 95% of mug-hole-mask.png and at least 95% of mug-background-mask.png have alpha <=10. All four regional fractions and IoU are reported; partial subject loss or a filled hole remains an observed failure.
Observed result
HTTP 200 returned an unedited 512x512 RGBA PNG with exact source RGB and unchanged input hash. Full-image IoU=0.982605600908. bodyCore=1.000000000000; handleCore=1.000000000000; hole=1.000000000000; background=0.999990636748. All four original frozen conditions passed.


Recorded duration: 1105 ms
Acceptance conditions
- passed: The native server returns HTTP 200 and a decodable 512x512 RGBA PNG; every output RGB pixel equals mug-input.png RGB, and the original mug-input.png SHA256 is unchanged. HTTP 200; PNG 512x512 RGBA; every RGB pixel equal=True, differing=0; input hash unchanged=True.
- passed: The output foreground defined by alpha >=128 has intersection-over-union >=0.90 with the complete frozen mug-reference-mask.png, including the real handle hole and thin rim. Full-image IoU=44175/44957=0.982605600908; required >=0.90.
- passed: At least 95% of mug-body-core-mask.png pixels and at least 90% of mug-handle-core-mask.png pixels have alpha >=245; report body and handle preservation separately. bodyCore: 35221/35221=1.000000000000, required >=0.95; handleCore: 4069/4069=1.000000000000, required >=0.9
- passed: At least 95% of mug-hole-mask.png pixels and at least 95% of mug-background-mask.png pixels have alpha <=10; report hole and exterior-background removal separately. hole: 3100/3100=1.000000000000, required >=0.95; background: 213599/213601=0.999990636748, required >=0.95
Limits of this execution
- Only Rembg 2.0.85, the exact official lightweight u2netp model bytes, CPU runtime, two synthetic PNG fixtures and eight pre-existing conditions were evaluated. No natural-photo sample or commercial readiness certification is included.
- Full Gradio UI was mounted by the native server but not operated. Startup/help/API documentation reading is not a successful product UI test.
- Default BRIA RMBG-2.0, alpha matting, postprocessing, decontamination, ViTMatte and URL-fetch routes were not invoked. Exact RGB preservation applies to the frozen explicit putalpha=true setting.
- Native downloader executed with an initially empty task-owned model directory and checksum checks enabled; independent post-download MD5 and SHA256 match. No remote image inference or paid model API was used.
- Observed ONNX Runtime CPU device and available-provider diagnostics, exact matched BaseSession source and absent provider override determine the selected CPUExecutionProvider path. The HTTP API does not expose the inner session.get_providers object.
- All caches/temp/model state were directed to task-owned D paths using process-local variables; this is not proof of OS read isolation or whole-host network isolation.
- Primary 3396 ms includes initial native model download and loading; Boundary 1105 ms reuses the native cached session. Pure inference latency, total operating cost and language token counts are not measured.
- The software MIT license and linked U-2-Net source Apache-2.0 license are retained; a separate commercial rights certification for every converted ONNX weight is not asserted.
- FastAPI regex-deprecation and optional email-validator notices were observed. The initial runner syntax error was corrected before any native process or inference and does not alter the frozen definitions or count as a product failure.
Download the product execution record (JSON) →
- tests: frozen-definitions
- provenance: native-provenance
- provenance: complete-package-versions
- audit: runtime-ledger
- audit: native-console
- audit: console-review
- tests: independent-fixture-check
- audit: resource-summary
- audit: native-browser-suppression-helper
- audit: runner-source
- audit: independent-metric-evaluator
- provenance: rembg-software-license
- provenance: linked-u2net-source-license
- input: primary-input-png
- output: primary-output-png
- input: primary-request-metadata
- input: primary-request-multipart
- output: primary-http-receipt
- tests: primary-mask-metrics
- tests: primary-bottle-reference-mask
- tests: primary-bottle-core-mask
- tests: primary-bottle-background-mask
- input: boundary-input-png
- output: boundary-output-png
- input: boundary-request-metadata
- input: boundary-request-multipart
- output: boundary-http-receipt
- tests: boundary-mask-metrics
- tests: boundary-mug-reference-mask
- tests: boundary-mug-body-core-mask
- tests: boundary-mug-handle-core-mask
- tests: boundary-mug-hole-mask
- tests: boundary-mug-background-mask
Dependencies before a product pilot
- Use the complete official rembg 2.0.85 CPU/CLI runtime and native rembg s multipart HTTP service with a task-owned loopback port, both task-owned model-root variables, the official checksum-verified u2netp asset and the exact frozen putalpha/query/form parameters. Only the original synthetic input image is uploaded; evaluator masks stay outside model inputs. Retain actual response bytes and image metrics. Native HTTP inference is the declared surface; the Gradio interaction, other models, cloud API and broad photo quality are separate.
- Two original frozen synthetic cases were executed through the complete official rembg 2.0.85 native HTTP service using the checksum-verified local CPU u2netp model. Both passed their eight fixed conditions; original input, unedited native PNG, metrics and provenance are retained below. No new account or paid model API was used. These results cover the exact u2netp/putalpha configuration and two synthetic inputs; native HTTP inference does not test Gradio interaction or broad natural-photo quality.
- Confirm mit local software · separate model terms and hardware costs against the current vendor terms; usage and connected-service costs can affect the pilot.
- Create a test workspace or use public/authorized material. Keep an input baseline, output artifact and action log for comparison.
Native product-image background removal with exact color and silhouette checks Product case · executed (passed)
Controlled input
The frozen synthetic 512x512 RGB bottle-input.png shows one teal bottle, one black cap and a cream label with three dark marks on a light gray background. Independently drawn bottle-reference-mask.png, eroded bottle-core-mask.png and dilated-complement bottle-background-mask.png are evaluator assets, not model inputs. No real merchant image, user data or third-party photo is present.
Request
Through the complete official rembg 2.0.85 native HTTP server, upload only bottle-input.png to POST /api/remove with multipart model=u2netp, a=false, af=240, ab=10, ae=10, om=false, ppm=false, dc=false, vm=false, and query extras={"putalpha":true}. Produce a transparent PNG retaining the complete original bottle, cap, label colors and 512x512 dimensions. Do not send any image to a cloud service or fetch a URL.
Steps
- Before product inference, freeze original fixture and reference-mask hashes, complete case definitions, numeric thresholds, official package/model edition, native server parameters and process-local state roots.
- Start the complete official rembg s runtime on one task-owned loopback port. Retain startup receipt and exact multipart POST request with frozen query/form settings; do not call ONNX Runtime or rembg.remove directly.
- Save the unedited native HTTP status, headers and response PNG bytes, model checksum/SHA256, wall time and any native error. A failed or non-image response remains the actual result.
- Compute image/alpha metrics against the pre-existing independent masks, compare RGB and input hashes, then record every condition as passed, failed or unverifiable without repairing the product output.
Expected output
The unedited native response is a 512x512 RGBA PNG with nontrivial transparency and unchanged per-pixel source RGB. Alpha threshold 128 matches the independently drawn bottle mask with IoU at least 0.90; at least 95% of the frozen foreground core has alpha >=245 and at least 95% of the frozen background region has alpha <=10. The original input hash remains unchanged.
Observable pass conditions
- The native server returns HTTP 200 and a decodable 512x512 RGBA PNG with minimum alpha <=10 and maximum alpha >=245; bottle-input.png retains its frozen SHA256.
- The binary foreground formed by output alpha >=128 has intersection-over-union >=0.90 with the frozen bottle-reference-mask.png, using every image pixel and no excluded edge failures.
- At least 95% of bottle-core-mask.png pixels have output alpha >=245, and at least 95% of bottle-background-mask.png pixels have output alpha <=10; report both fractions separately.
- Every output RGB pixel exactly matches the corresponding original bottle-input.png RGB pixel under the frozen native putalpha=true configuration, including the original cap and label marks.
Failure conditions
- The actual response is missing, an error or invalid PNG, changes image dimensions or source bytes, has no useful transparency, or any frozen alpha/IoU/RGB condition fails.
- The operator repairs the output, changes input/model/thresholds, silently substitutes a direct ONNX/library path or UI result, disables model checksum checks, or uses BRIA/cloud inference.
Low-contrast mug and handle-hole segmentation boundary Product case · executed (passed)
Controlled input
The distinct frozen synthetic 512x512 RGB mug-input.png contains a near-white mug on a light gray background, a narrow handle with a real background-colored hole and one dark body stripe. Independent full-reference, eroded-body-core, eroded-handle-core, inset-hole and dilated-complement-background masks were rendered before inference. Only mug-input.png is uploaded; the masks remain evaluation references.
Request
Run the same complete official rembg 2.0.85 native HTTP multipart route and exact u2netp/query/form parameters as the primary case, now uploading only mug-input.png. Preserve the mug body, dark stripe and narrow handle rim, remove the background visible through the handle hole, retain original RGB and 512x512 dimensions, and save the unedited native PNG or error. Do not compensate for weak segmentation by changing the model, drawing a new mask or adding a background.
Steps
- Before product inference, freeze original fixture and reference-mask hashes, complete case definitions, numeric thresholds, official package/model edition, native server parameters and process-local state roots.
- Start the complete official rembg s runtime on one task-owned loopback port. Retain startup receipt and exact multipart POST request with frozen query/form settings; do not call ONNX Runtime or rembg.remove directly.
- Save the unedited native HTTP status, headers and response PNG bytes, model checksum/SHA256, wall time and any native error. A failed or non-image response remains the actual result.
- Compute image/alpha metrics against the pre-existing independent masks, compare RGB and input hashes, then record every condition as passed, failed or unverifiable without repairing the product output.
Expected output
The native response is an unedited 512x512 RGBA PNG with exact source RGB and an unchanged source file. Alpha >=128 has IoU >=0.90 against mug-reference-mask.png. At least 95% of mug-body-core-mask.png and at least 90% of mug-handle-core-mask.png retain alpha >=245. At least 95% of mug-hole-mask.png and at least 95% of mug-background-mask.png have alpha <=10. All four regional fractions and IoU are reported; partial subject loss or a filled hole remains an observed failure.
Observable pass conditions
- The native server returns HTTP 200 and a decodable 512x512 RGBA PNG; every output RGB pixel equals mug-input.png RGB, and the original mug-input.png SHA256 is unchanged.
- The output foreground defined by alpha >=128 has intersection-over-union >=0.90 with the complete frozen mug-reference-mask.png, including the real handle hole and thin rim.
- At least 95% of mug-body-core-mask.png pixels and at least 90% of mug-handle-core-mask.png pixels have alpha >=245; report body and handle preservation separately.
- At least 95% of mug-hole-mask.png pixels and at least 95% of mug-background-mask.png pixels have alpha <=10; report hole and exterior-background removal separately.
Failure conditions
- The native response fails any fixed dimension/RGB/input-integrity/IoU/regional-alpha condition, loses part of the handle, preserves the hole as foreground or invents a repaired cutout.
- The operator replaces u2netp, tunes thresholds after observing output, changes the original fixture or native HTTP surface, manually repairs the mask, or hides a failed region behind an overall score.
Permissions and failure boundary
- Documented access: Pin the complete official rembg 2.0.85 package with cpu and cli extras in a task-owned Python environment. Native rembg s exposes a Gradio UI and HTTP API; bind it to 127.0.0.1 on a task-owned port. The frozen inference cases use the native multipart HTTP route, not UI interaction, a direct library wrapper or isolated ONNX inference. Both REMBG_HOME and U2NET_HOME point to the same task-owned model root so the latter precedence and legacy lookup cannot reuse an unrelated user model. Verify actual application/cache state separately; these settings do not establish an OS sandbox or network isolation.; Local Gradio web UI, Native HTTP image-upload API, Local command line, Python library. Confirm the actual scopes for the selected account and plan.
- Acceptance boundary: The native response is an unedited 512x512 RGBA PNG with exact source RGB and an unchanged source file. Alpha >=128 has IoU >=0.90 against mug-reference-mask.png. At least 95% of mug-body-core-mask.png and at least 90% of mug-handle-core-mask.png retain alpha >=245. At least 95% of mug-hole-mask.png and at least 95% of mug-background-mask.png have alpha <=10. All four regional fractions and IoU are reported; partial subject loss or a filled hole remains an observed failure.
- Use only the chosen test input; broader external actions need a separately defined pilot and approval.
Official-page checks
| Source | Access status | Evidence and scope |
|---|---|---|
| Official Rembg 2.0.85 purpose, installation, interfaces and model distinctions | accessibleHTTP 200 · 2026-10-02T14:44:18.588648+00:00 | 23151 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Official fixed MIT software license and Daniel Gatis attribution | accessibleHTTP 200 · 2026-10-02T14:47:41.113689+00:00 | 1069 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Official current release metadata: v2.0.85, 20 September 2026 | accessibleHTTP 200 · 2026-10-02T14:43:31.259818+00:00 | 5550 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Official package metadata, author, CPU/CLI extras and dependency ranges | accessibleHTTP 200 · 2026-10-02T14:43:31.307489+00:00 | 116169 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Fixed complete native HTTP server, multipart route and Gradio UI | accessibleHTTP 200 · 2026-10-02T14:45:07.594042+00:00 | 18966 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Fixed native cutout, putalpha and composite configuration | accessibleHTTP 200 · 2026-10-02T14:53:00.598870+00:00 | 14502 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Fixed official lightweight local model route and native checksum | accessibleHTTP 200 · 2026-10-02T14:45:07.594889+00:00 | 2122 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Fixed REMBG_HOME, U2NET_HOME precedence and legacy fallback | accessibleHTTP 200 · 2026-10-02T14:45:07.595414+00:00 | 8483 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Official hosted local model assets including u2netp.onnx | accessibleHTTP 200 · 2026-10-02T14:45:08.440883+00:00 | 62006 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Official U-2-Net model source and lightweight pretrained-model description | accessibleHTTP 200 · 2026-10-02T14:45:08.926242+00:00 | 17846 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
| Official linked U-2-Net source repository Apache-2.0 license | accessibleHTTP 200 · 2026-10-02T14:45:08.536872+00:00 | 11357 source bytes. Retained official response read during Rembg research; content length is saved source entity bytes. Access establishes retained source availability, not every vendor claim or product behavior. |
Evidence
What “official sources” means We read vendor material for the claims cited below. This is a documentation review. No independent product test or professional endorsement is implied. Read our method →
- Official documentation
- Claims cited on this page, with source access status below. URL accessibility is separate from a substantive claim review.
- Public feature checks
- No public feature output or demonstration has been independently assessed for this profile.
- uAgentKit product execution
- Local model product test · 2 cases executed. 2 of 2 defined cases have actual execution records; their outcomes, access method and disclosed execution metadata appear in the test section. Two original frozen native image-segmentation cases: a synthetic teal bottle and a low-contrast mug with narrow handle and real background hole. Complete official Rembg 2.0.85 CPU+CLI HTTP service, explicit u2netp and original fixed parameters; no real merchant image or cloud image API. Both original cases passed all eight frozen acceptance conditions. Native transparent PNGs retained exact source RGB and source-file hashes; bottle IoU=0.997222064743 and mug IoU=0.982605600908. These finite synthetic outputs do not establish general product-photo performance.
- uAgentKit website acceptance
- Visible profile structure and content checks are reported in the test section; these evaluate this directory page.
- Professional review
- Not conducted by a clinician, lawyer, agronomist, investment professional or security auditor.
Commercial use: Use only images you own or may process and review the exact software, dependency and selected model licenses. Preserve MIT/Apache notices where required. The default BRIA commercial agreement, third-party cloud services and photo/output rights are separate. This synthetic local pilot neither uses BRIA/cloud inference nor certifies every future listing asset.
Limitations and checks
- Rembg is a specialist image tool, not an autonomous agent. A PNG export does not establish a Shopify integration, listing publication, item purchase or marketing-performance improvement.
- Foreground masks can remove a handle, fill a hole, cut label details or preserve background. Low contrast, transparency, fine hair and intricate edges require checking the actual unedited result.
- The frozen pilot selects u2netp and explicit putalpha=true; it evaluates that RGB-preserving configuration. Default composite cutouts and the default Gradio BRIA/matting settings can behave differently and are not validated by this pilot.
- Software MIT terms, model terms and dependency licenses are separate. The default BRIA weights require a paid commercial agreement; a creator attribution or public download does not certify every model asset for every use.
- Both cases use synthetic geometric product-like drawings. Their IoU and region thresholds do not measure all real product-photo segmentation quality or establish commercial readiness.
- Native HTTP inference does not test the Gradio upload, dropdown or output-download UI. The UI entry and documented fields are preparation evidence until separately exercised.
- Model directories and a loopback address are not an OS sandbox or a network-isolation guarantee. The full environment must be checked for caches, downloads and actual state side effects.
- The registered native HTTP calls took 3396 ms for the bottle including first model download/loading and 1105 ms for the mug using the cached session. These are request wall times, not pure inference latency or a general benchmark. Language-model tokens do not apply; total operating cost was not measured.
Field-level unknowns identify gaps in this review. They do not imply the vendor lacks the capability.
Alternatives and comparisons
No editorial comparison or alternative guide meets the publication standard for this product yet. Build an instant fact comparison.
Questions about Rembg
What is Rembg and what does it produce?
Rembg is a specialist background-removal tool. It segments an authorized image using a selected model and returns a PNG cutout or mask through a local UI, native HTTP service, command line or Python interface. It does not autonomously source products, buy items, connect a store or publish a listing.
Who created Rembg, and is it a verified small company?
The official MIT license and PyPI author metadata credit Daniel Gatis. That creator attribution supports inclusion among practical creator-origin tools, but current employee count, financing, controlling ownership and acquisition status were not established. Rembg is not presented as a certified independent company.
Can a small seller use Rembg for product images without a new account?
The recorded complete local Rembg CPU route requires installed software, a local model and suitable hardware, rather than a mandatory hosted service account or paid model API. Supply an authorized photo and review the actual cutout for item fidelity. The default BRIA model and optional cloud withoutbg route have separate conditions and are not used in the frozen pilot.
Does Rembg include a web interface?
Yes. Official Rembg 2.0.85 rembg s mounts a local Gradio interface with an Input image upload, Models dropdown, cutout settings and Output image, while /api exposes API documentation. Bind the service to 127.0.0.1 on a chosen local port. The frozen pilot tests native HTTP inference only; reading UI source does not establish that browser interaction succeeded.
Which Rembg model does the frozen pilot use, and how is it checked?
Both cases explicitly select u2netp, the official 4,574,861-byte local ONNX asset linked to U-2-Net. The native first request downloaded it into an empty task-owned model root and verified MD5 8e83ca70e441ab06c318d82300c84806. The retained downloaded SHA256 is 309c8469258dda742793dce0ebea8e6dd393174f89934733ecc8b14c76f4ddd8. Do not disable checksums or allow the default bria-rmbg to replace it silently.
Is Rembg free, and are all of its models free for commercial use?
Rembg software is MIT and the recorded local route has no mandatory software checkout, but hardware, model and dependency terms remain separate. The linked U-2-Net source repository is Apache-2.0; no separate per-ONNX-asset commercial certification was established here. Default BRIA RMBG-2.0 requires a paid agreement for commercial use, and withoutbg is a distinct cloud API. The software license does not waive those model conditions.
Has uAgentKit tested Rembg?
Local model product test · 2 cases executed. Rembg 2.0.85 was evaluated through Official native rembg s POST /api/remove multipart image segmentation with explicit u2netp and putalpha=true with U-2-Net lightweight (u2netp) (u2netp.onnx / official rembg v0.0.0 asset) on 2026-10-02T15:12:46.953108+00:00. Two original frozen native image-segmentation cases: a synthetic teal bottle and a low-contrast mug with narrow handle and real background hole. Complete official Rembg 2.0.85 CPU+CLI HTTP service, explicit u2netp and original fixed parameters; no real merchant image or cloud image API. Both original cases passed all eight frozen acceptance conditions. Native transparent PNGs retained exact source RGB and source-file hashes; bottle IoU=0.997222064743 and mug IoU=0.982605600908. These finite synthetic outputs do not establish general product-photo performance. Only Rembg 2.0.85, the exact official lightweight u2netp model bytes, CPU runtime, two synthetic PNG fixtures and eight pre-existing conditions were evaluated. No natural-photo sample or commercial readiness certification is included. Full Gradio UI was mounted by the native server but not operated. Startup/help/API documentation reading is not a successful product UI test. Default BRIA RMBG-2.0, alpha matting, postprocessing, decontamination, ViTMatte and URL-fetch routes were not invoked. Exact RGB preservation applies to the frozen explicit putalpha=true setting. Native downloader executed with an initially empty task-owned model directory and checksum checks enabled; independent post-download MD5 and SHA256 match. No remote image inference or paid model API was used. Observed ONNX Runtime CPU device and available-provider diagnostics, exact matched BaseSession source and absent provider override determine the selected CPUExecutionProvider path. The HTTP API does not expose the inner session.get_providers object. All caches/temp/model state were directed to task-owned D paths using process-local variables; this is not proof of OS read isolation or whole-host network isolation. Primary 3396 ms includes initial native model download and loading; Boundary 1105 ms reuses the native cached session. Pure inference latency, total operating cost and language token counts are not measured. The software MIT license and linked U-2-Net source Apache-2.0 license are retained; a separate commercial rights certification for every converted ONNX weight is not asserted. FastAPI regex-deprecation and optional email-validator notices were observed. The initial runner syntax error was corrected before any native process or inference and does not alter the frozen definitions or count as a product failure. Only the registered case outcomes are established; this does not establish overall product quality, other model configurations, account behavior outside the recorded scope or business outcomes.
How do the Rembg tests check item fidelity and difficult edges?
The bottle case checks a frozen silhouette IoU of at least 0.90, foreground/background alpha fractions, 512x512 dimensions and unchanged source RGB. The low-contrast mug case also measures narrow-handle preservation and removal of the visible handle hole. Native putalpha=true is explicit so RGB remains separate from alpha quality; the default composite and Gradio settings are outside this pilot. Thresholds, images and regions cannot be changed after seeing the result.
Sources and change history
- Official Rembg 2.0.85 purpose, installation, interfaces and model distinctions
Rembg / Daniel Gatis · raw.githubusercontent.com · Read · 2026-10-02
- Official fixed MIT software license and Daniel Gatis attribution
Rembg / Daniel Gatis · raw.githubusercontent.com · Read · 2026-10-02
- Official current release metadata: v2.0.85, 20 September 2026
Rembg / Daniel Gatis · api.github.com · Read · 2026-10-02
- Official package metadata, author, CPU/CLI extras and dependency ranges
Rembg / Daniel Gatis · pypi.org · Read · 2026-10-02
- Fixed complete native HTTP server, multipart route and Gradio UI
Rembg / Daniel Gatis · raw.githubusercontent.com · Read · 2026-10-02
- Fixed native cutout, putalpha and composite configuration
Rembg / Daniel Gatis · raw.githubusercontent.com · Read · 2026-10-02
- Fixed official lightweight local model route and native checksum
Rembg / Daniel Gatis · raw.githubusercontent.com · Read · 2026-10-02
- Fixed REMBG_HOME, U2NET_HOME precedence and legacy fallback
Rembg / Daniel Gatis · raw.githubusercontent.com · Read · 2026-10-02
- Official hosted local model assets including u2netp.onnx
Rembg / Daniel Gatis · api.github.com · Read · 2026-10-02
- Official U-2-Net model source and lightweight pretrained-model description
U-2-Net authors · raw.githubusercontent.com · Read · 2026-10-02
- Official linked U-2-Net source repository Apache-2.0 license
U-2-Net authors · raw.githubusercontent.com · Read · 2026-10-02