Waarom de eerste start een model downloadt
Een lokale tool heeft gewichten nodig om te werken. Die komen meestal één keer binnen en worden daarna hergebruikt, zodat je fotopixels niet voor elke bewerking de deur uit hoeven.
Dat is iets anders dan je foto uploaden voor verwerking. De download is het model; de uitsnede gebeurt daarna op je apparaat.
Why the model is not bundled into every startup
An extension contains interface code, icons, instructions, and processing logic. A useful segmentation model is a different kind of asset. Its weights can be much larger than the code needed to open the editor.
Fetching the model when it is needed has practical benefits:
- the extension package does not have to load the full model on every launch;
- the browser can cache the model for reuse;
- ordinary later sessions can start without repeating the same transfer;
- the model asset can be replaced when the processing pipeline is updated.
There is a cost: the first inference cannot start until the required files arrive and the runtime initializes them. On a fast connection this may feel like a short setup screen. On a slow or restricted connection it can be the longest part of the first session.
What is downloaded
The download contains model data required for inference. Think of it as parameters for a specialized numerical function, not a library of your photos and not a lookup request about the subject in your image.
After loading, the browser runtime uses those parameters to calculate a mask from the pixels you selected. The everyday path—decode the image, run segmentation, refine the mask, and export—is designed to happen in the extension environment.
This distinction matters when reading network activity. A request for a fixed model asset is not equivalent to a request carrying the current image. Network access alone does not answer where image inference occurs; the data path does.
What caching changes
Without caching, every editor launch could pay the same download cost. The browser can retain the model asset so a later session can reuse it. That changes the normal sequence:
- The first session checks whether the required model is available.
- If it is missing, the browser downloads it.
- The runtime initializes the model and runs the cutout.
- Later ordinary sessions can usually load the cached copy.
“Usually” is deliberate. A cache is reusable storage, not a permanent guarantee. Clearing browser or extension data, changing profiles, using another device, storage pressure, or a model update can make the file unavailable again.
Why another download may appear
A later download does not necessarily mean caching failed. Common explanations include:
- the extension now expects a newer model version;
- local extension data was cleared;
- the browser evicted cached data to recover storage;
- the work is happening in a different browser profile;
- the extension was reinstalled and its storage was reset;
- the earlier download never completed.
The useful diagnostic question is not “Have I ever downloaded this?” but “Is the currently required model available in this extension environment?”
Download time is not inference time
Two waits can look similar while representing different work.
Download time is the transfer of the model asset. It depends heavily on connection speed, asset delivery, and cache state.
Initialization and inference time happen after the asset is available. The runtime prepares the model, converts the image to a suitable input, computes a mask, and returns the result. Those steps depend more on the device, browser, image dimensions, and available memory.
A progress message during first setup may cover more than one phase. If the model is already cached but a large image still takes time, repeatedly reconnecting to the network will not make the local computation instant.
What happens if the connection drops
If the required model is not cached and the download cannot finish, automatic removal cannot begin. The browser does not have the numerical weights it needs yet. The correct response is to restore a stable connection and let setup complete.
Once the necessary model is cached, ordinary processing is less dependent on the connection. “Offline-friendly” is still more accurate than promising that every browser state and every first launch works without a network. A fresh profile with no model file must obtain that file somehow.
If setup repeatedly restarts, check whether extension data is being cleared between sessions, whether storage is extremely constrained, or whether a network policy blocks the asset request. The Troubleshooting guide covers general failure checks.
Privacy: asset delivery versus image processing
Easy Background Remover is built so cutouts run in the browser. Your chosen image is decoded and processed in the extension editor and worker. A short local history may also store recent originals and results in browser storage.
The first-run model request does not alter that image path. It obtains the reusable component needed for local inference. Website analytics, where present on product pages, are also separate from image pixels and extension editing history. The complete current wording is on Privacy.
Avoid stronger claims than the architecture supports. “Chrome never uses the network” would be inaccurate. “The cutout pipeline is designed to keep image processing local, while first run may download the model” is precise.
What the browser does after the download
The model still needs to be initialized by a browser inference runtime. The selected image is decoded into pixels, prepared as numerical input, and sent to a worker for heavy computation. The worker returns a mask, which the editor uses for preview and refinement.
That mask is not a second image fetched from a server. It is the result calculated from the local image input and downloaded model weights. What an on-device cutout model sees explains the pixel-to-mask step; Web Worker image processing basics explains why the computation is separated from interface work.
A realistic first-run checklist
For the cleanest first test:
- Open the editor with a stable connection.
- Allow the model setup to finish before judging processing speed.
- Start with a reasonably sized image with a clear subject.
- Export once to verify the full path.
- Reopen the editor later and confirm that setup is shorter with the cached model.
If a model update eventually causes another download, let it complete before comparing results. Different model versions can produce slightly different masks, so record the extension version when reproducibility matters.
The first-run wait buys a practical tradeoff: obtain the processing model once or occasionally, then reuse it for local cutouts. For the broader sequence from pixels to export, see How local background removal works.