{"course":{"slug":"image-editing","title":"Editing an Image","url":"https://addaly.com/learn/image-editing","level":"beginner","track":"create"},"lesson":{"slug":"running-these-models-free","title":"On your own machine, with no graphics card","url":"https://addaly.com/learn/image-editing/running-these-models-free","position":65,"of":78,"minutes":9,"answer":"Background removal, upscaling and denoising run usefully on a laptop with no graphics card, inpainting runs slowly but workably, and running locally buys confidentiality, zero per-image cost and independence from a service.","keyIdea":"Background removal, upscaling and denoising run usefully on a laptop with no graphics card, inpainting runs slowly but workably, and running locally buys confidentiality, zero per-image cost and independence from a service, while Colab's free GPU is a real option that is not local."},"body":{"format":"markdown","text":"## Why local matters beyond cost\n\nThree reasons to run models yourself rather than uploading.\n\n**Confidentiality.** A client's unreleased product, a photograph of a child, a medical image, anything under an agreement. Uploading it to a service means it has left your control under terms you probably have not read, and several services reserve rights to use uploads for improvement.\n\n**Cost at volume.** Four hundred background removals or upscales through a paid service is a line on an invoice. Locally it is electricity.\n\n**Availability.** A service that shuts down, changes its terms or raises its prices takes your workflow with it. A model on your disk does not.\n\n## The hardware reality, stated plainly\n\n**With a discrete GPU** (NVIDIA with 8 GB or more of video memory is the comfortable case): everything in this module runs at a usable speed. An inpaint is seconds; an upscale is seconds.\n\n**With 4 to 6 GB of video memory**: everything still runs, with smaller batch sizes and tiling. An inpaint is tens of seconds.\n\n**With integrated graphics or on a CPU only**: background removal is two to five seconds and completely practical. Upscaling a 12-megapixel image is one to several minutes and practical for a handful. Diffusion inpainting is one to five minutes per generation, which is slow but workable when you need three fills rather than three hundred.\n\n**On Apple Silicon**: the unified memory architecture works well and most tools support the Metal backend. An M-series laptop with 16 GB is a capable machine for this.\n\n**On a phone**: some on-device background removal and upscaling exists; diffusion generally does not, and apps that offer it are usually uploading.\n\n> Figure: One inpaint generation, on four machines. Bars (seconds): Discrete GPU, 8 GB of video memory or more 5; Apple M-series laptop, 16 GB unified 20; GPU with 4 to 6 GB, tiled 45; Integrated graphics, or CPU only 180. Background removal is two to five seconds on every one of these, which is why rembg on an ordinary laptop is a complete answer for a batch of cut-outs. Diffusion is where the hardware shows, and slow is not the same as impossible: three fills at three minutes each is a workable afternoon, three hundred is not.\n\n## The free stack, by job\n\n**Background removal**: `rembg`, installed with `pip install rembg`. CPU-friendly, batch-capable, several models.\n\n**Upscaling**: **Upscayl**, a desktop app with a plain interface and no upload. Or `realesrgan-ncnn-vulkan` from the command line, which uses Vulkan so it works on AMD, Intel and NVIDIA alike.\n\n**Inpainting and generation**: **Fooocus** is the gentlest entry point: one download, sensible defaults, an inpaint mode. **AUTOMATIC1111's web UI** is the established general tool. **ComfyUI** is a node graph, more capable and steeper. **Krita's AI diffusion plugin** puts local inpainting directly on a Krita layer with masks, which for an image editor is the most useful integration available anywhere, free or paid.\n\n**Colourising**: **DeOldify**, locally or in a free Google Colab notebook.\n\n**Denoising**: **darktable's profiled denoise**, which is not a learned model and is excellent.\n\n**Everything else**: **chaiNNer** builds pipelines from community models; **OpenModelDB** hosts them; **Hugging Face** hosts the model weights for most of the above along with model cards describing training data and licences.\n\n## Google Colab, and what it is for\n\nColab gives you a Python notebook running on Google's hardware, with a free tier that includes a GPU for limited sessions. For someone with no graphics card it converts an impossible task into a slow but workable one.\n\nThe honest limits: the free tier's GPU availability varies and can be refused at busy times, sessions disconnect after a period of inactivity and everything not saved is lost, and **whatever you upload goes to Google's machines**, which puts it back in the confidentiality category. For personal or public images it is a genuine free route; for client-confidential material it is not local, whatever the notebook is called.\n\nKaggle offers a similar free notebook environment with GPU hours.\n\n## Licences: the part people skip\n\nModels have licences, and they differ substantially.\n\n- Some are permissively licensed for any use including commercial.\n- Some carry **use restrictions**: the RAIL family of licences, used by several well-known image models, permits commercial use while prohibiting specified applications.\n- Some are explicitly **research-only**, and using them for client work breaches the terms.\n- Some community fine-tunes have unclear provenance and inherit whatever their base model required, which is often unstated.\n\nThe model card on Hugging Face states the licence. Reading it takes two minutes and is the difference between a defensible workflow and one you cannot describe to a client.\n\nThis is separate from the copyright status of the *training data*, which is unsettled and is the subject of the last lesson in this module.\n\n## A practical starting setup\n\nFor an editor on an ordinary laptop who wants to stop uploading things:\n\n1. `pip install rembg`: background removal today.\n2. **Upscayl**: upscaling today.\n3. **darktable**: raw development and denoise today.\n4. **Fooocus** or **Krita's AI diffusion plugin**: inpainting when you have a spare afternoon to set it up.\n\nThat is four installations, no subscription, nothing uploaded, and it covers the large majority of what generative tools are used for in image editing.\n\n## The trade you are making\n\nLocal models are usually a step behind the best hosted ones. Adobe's generative fill is more convenient and often produces a better first result than a local Stable Diffusion inpaint. Paid upscalers have better interfaces.\n\nWhat you get in exchange is control: nothing leaves the machine, nothing depends on a service, nothing costs per image, and you can read what the model was trained on.\n\nFor a hobbyist the convenience may well win. For anyone handling other people's photographs professionally, the ability to say truthfully that a client's images never left your computer is worth more than a slightly better first attempt, and it is increasingly something clients ask about."},"check":{"question":"A retoucher under a non-disclosure agreement needs to inpaint an unreleased product photograph and has no graphics card. Which option satisfies the agreement?","options":[{"text":"Use a free Google Colab notebook with a GPU, since it is a free and self-run environment rather than a commercial service.","correct":false,"tempting":"Mistakes free and self-directed for local: the image is uploaded to Google's machines, which is the exact disclosure the agreement covers."},{"text":"Run a local diffusion inpainting tool on the CPU, accepting one to five minutes per generation.","correct":true},{"text":"Use a web-based background removal and inpainting service, but delete the uploaded file afterwards.","correct":false,"tempting":"Treats deletion as undoing transmission: the file has already been sent and may have been retained or used under the service's terms."},{"text":"Crop the image to hide identifying detail, then use any hosted tool on the remainder.","correct":false,"tempting":"Assumes partial obscuring satisfies a confidentiality obligation, when the remaining material is still the client's unreleased photograph."}]},"prev":{"slug":"colourising-old-photographs","title":"A guess about what colour the dress was","url":"https://addaly.com/learn/image-editing/colourising-old-photographs"},"next":{"slug":"provenance-watermarks-and-c2pa","title":"What can be proved about where an image came from","url":"https://addaly.com/learn/image-editing/provenance-watermarks-and-c2pa"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'On your own machine, with no graphics card', in Editing an Image. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/image-editing/running-these-models-free (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"On your own machine, with no graphics card","courseTitle":"Editing an Image","module":{"index":7,"slug":"ai-inside-the-image-editor","title":"AI inside the image editor"},"answer":null,"keyIdea":"Background removal, upscaling and denoising run usefully on a laptop with no graphics card, inpainting runs slowly but workably, and running locally buys confidentiality, zero per-image cost and independence from a service, while Colab’s free GPU is a real option that is not local.","hero":{"kind":"figure","figure":{"t":"figure","label":"Figure","figure":{"type":"bars","unit":"seconds","title":"One inpaint generation, on four machines","series":[{"label":"Discrete GPU, 8 GB of video memory or more","value":5},{"label":"Apple M-series laptop, 16 GB unified","value":20},{"label":"GPU with 4 to 6 GB, tiled","value":45},{"label":"Integrated graphics, or CPU only","value":180,"highlight":true}],"caption":"Background removal is two to five seconds on every one of these, which is why rembg on an ordinary laptop is a complete answer for a batch of cut-outs. Diffusion is where the hardware shows, and slow is not the same as impossible: three fills at three minutes each is a workable afternoon, three hundred is not."},"alt":"Figure: One inpaint generation, on four machines. Bars (seconds): Discrete GPU, 8 GB of video memory or more 5; Apple M-series laptop, 16 GB unified 20; GPU with 4 to 6 GB, tiled 45; Integrated graphics, or CPU only 180. Background removal is two to five seconds on every one of these, which is why rembg on an ordinary laptop is a complete answer for a batch of cut-outs. Diffusion is where the hardware shows, and slow is not the same as impossible: three fills at three minutes each is a workable afternoon, three hundred is not."}},"blocks":[{"t":"h2","id":"why-local-matters-beyond-cost","runs":[{"text":"Why local matters beyond cost"}]},{"t":"p","runs":[{"text":"Three reasons to run models yourself rather than uploading."}]},{"t":"p","runs":[{"text":"Confidentiality.","b":true},{"text":" A client’s unreleased product, a photograph of a child, a medical image, anything under an agreement. Uploading it to a service means it has left your control under terms you probably have not read, and several services reserve rights to use uploads for improvement."}]},{"t":"p","runs":[{"text":"Cost at volume.","b":true},{"text":" Four hundred background removals or upscales through a paid service is a line on an invoice. Locally it is electricity."}]},{"t":"p","runs":[{"text":"Availability.","b":true},{"text":" A service that shuts down, changes its terms or raises its prices takes your workflow with it. A model on your disk does not."}]},{"t":"h2","id":"the-hardware-reality-stated-plainly","runs":[{"text":"The hardware reality, stated plainly"}]},{"t":"p","runs":[{"text":"With a discrete GPU","b":true},{"text":" (NVIDIA with 8 GB or more of video memory is the comfortable case): everything in this module runs at a usable speed. An inpaint is seconds; an upscale is seconds."}]},{"t":"p","runs":[{"text":"With 4 to 6 GB of video memory","b":true},{"text":": everything still runs, with smaller batch sizes and tiling. An inpaint is tens of seconds."}]},{"t":"p","runs":[{"text":"With integrated graphics or on a CPU only","b":true},{"text":": background removal is two to five seconds and completely practical. Upscaling a 12-megapixel image is one to several minutes and practical for a handful. Diffusion inpainting is one to five minutes per generation, which is slow but workable when you need three fills rather than three hundred."}]},{"t":"p","runs":[{"text":"On Apple Silicon","b":true},{"text":": the unified memory architecture works well and most tools support the Metal backend. An M-series laptop with 16 GB is a capable machine for this."}]},{"t":"p","runs":[{"text":"On a phone","b":true},{"text":": some on-device background removal and upscaling exists; diffusion generally does not, and apps that offer it are usually uploading."}]},{"t":"h2","id":"the-free-stack-by-job","runs":[{"text":"The free stack, by job"}]},{"t":"p","runs":[{"text":"Background removal","b":true},{"text":": "},{"text":"rembg","code":true},{"text":", installed with "},{"text":"pip install rembg","code":true},{"text":". CPU-friendly, batch-capable, several models."}]},{"t":"p","runs":[{"text":"Upscaling","b":true},{"text":": "},{"text":"Upscayl","b":true},{"text":", a desktop app with a plain interface and no upload. Or "},{"text":"realesrgan-ncnn-vulkan","code":true},{"text":" from the command line, which uses Vulkan so it works on AMD, Intel and NVIDIA alike."}]},{"t":"p","runs":[{"text":"Inpainting and generation","b":true},{"text":": "},{"text":"Fooocus","b":true},{"text":" is the gentlest entry point: one download, sensible defaults, an inpaint mode. "},{"text":"AUTOMATIC1111’s web UI","b":true},{"text":" is the established general tool. "},{"text":"ComfyUI","b":true},{"text":" is a node graph, more capable and steeper. "},{"text":"Krita’s AI diffusion plugin","b":true},{"text":" puts local inpainting directly on a Krita layer with masks, which for an image editor is the most useful integration available anywhere, free or paid."}]},{"t":"p","runs":[{"text":"Colourising","b":true},{"text":": "},{"text":"DeOldify","b":true},{"text":", locally or in a free Google Colab notebook."}]},{"t":"p","runs":[{"text":"Denoising","b":true},{"text":": "},{"text":"darktable’s profiled denoise","b":true},{"text":", which is not a learned model and is excellent."}]},{"t":"p","runs":[{"text":"Everything else","b":true},{"text":": "},{"text":"chaiNNer","b":true},{"text":" builds pipelines from community models; "},{"text":"OpenModelDB","b":true},{"text":" hosts them; "},{"text":"Hugging Face","b":true},{"text":" hosts the model weights for most of the above along with model cards describing training data and licences."}]},{"t":"h2","id":"google-colab-and-what-it-is-for","runs":[{"text":"Google Colab, and what it is for"}]},{"t":"p","runs":[{"text":"Colab gives you a Python notebook running on Google’s hardware, with a free tier that includes a GPU for limited sessions. For someone with no graphics card it converts an impossible task into a slow but workable one."}]},{"t":"p","runs":[{"text":"The honest limits: the free tier’s GPU availability varies and can be refused at busy times, sessions disconnect after a period of inactivity and everything not saved is lost, and "},{"text":"whatever you upload goes to Google’s machines","b":true},{"text":", which puts it back in the confidentiality category. For personal or public images it is a genuine free route; for client-confidential material it is not local, whatever the notebook is called."}]},{"t":"p","runs":[{"text":"Kaggle offers a similar free notebook environment with GPU hours."}]},{"t":"h2","id":"licences-the-part-people-skip","runs":[{"text":"Licences: the part people skip"}]},{"t":"p","runs":[{"text":"Models have licences, and they differ substantially."}]},{"t":"ul","items":[[{"text":"Some are permissively licensed for any use including commercial."}],[{"text":"Some carry "},{"text":"use restrictions","b":true},{"text":": the RAIL family of licences, used by several well-known image models, permits commercial use while prohibiting specified applications."}],[{"text":"Some are explicitly "},{"text":"research-only","b":true},{"text":", and using them for client work breaches the terms."}],[{"text":"Some community fine-tunes have unclear provenance and inherit whatever their base model required, which is often unstated."}]]},{"t":"p","runs":[{"text":"The model card on Hugging Face states the licence. Reading it takes two minutes and is the difference between a defensible workflow and one you cannot describe to a client."}]},{"t":"p","runs":[{"text":"This is separate from the copyright status of the "},{"text":"training data","i":true},{"text":", which is unsettled and is the subject of the last lesson in this module."}]},{"t":"h2","id":"a-practical-starting-setup","runs":[{"text":"A practical starting setup"}]},{"t":"p","runs":[{"text":"For an editor on an ordinary laptop who wants to stop uploading things:"}]},{"t":"ol","start":1,"items":[[{"text":"pip install rembg","code":true},{"text":": background removal today."}],[{"text":"Upscayl","b":true},{"text":": upscaling today."}],[{"text":"darktable","b":true},{"text":": raw development and denoise today."}],[{"text":"Fooocus","b":true},{"text":" or "},{"text":"Krita’s AI diffusion plugin","b":true},{"text":": inpainting when you have a spare afternoon to set it up."}]]},{"t":"p","runs":[{"text":"That is four installations, no subscription, nothing uploaded, and it covers the large majority of what generative tools are used for in image editing."}]},{"t":"h2","id":"the-trade-you-are-making","runs":[{"text":"The trade you are making"}]},{"t":"p","runs":[{"text":"Local models are usually a step behind the best hosted ones. Adobe’s generative fill is more convenient and often produces a better first result than a local Stable Diffusion inpaint. Paid upscalers have better interfaces."}]},{"t":"p","runs":[{"text":"What you get in exchange is control: nothing leaves the machine, nothing depends on a service, nothing costs per image, and you can read what the model was trained on."}]},{"t":"p","runs":[{"text":"For a hobbyist the convenience may well win. For anyone handling other people’s photographs professionally, the ability to say truthfully that a client’s images never left your computer is worth more than a slightly better first attempt, and it is increasingly something clients ask about."}]}],"check":{"question":[{"text":"A retoucher under a non-disclosure agreement needs to inpaint an unreleased product photograph and has no graphics card. Which option satisfies the agreement?"}],"options":[{"text":[{"text":"Use a free Google Colab notebook with a GPU, since it is a free and self-run environment rather than a commercial service."}],"correct":false,"tempting":[{"text":"Mistakes free and self-directed for local: the image is uploaded to Google’s machines, which is the exact disclosure the agreement covers."}]},{"text":[{"text":"Run a local diffusion inpainting tool on the CPU, accepting one to five minutes per generation."}],"correct":true,"tempting":null},{"text":[{"text":"Use a web-based background removal and inpainting service, but delete the uploaded file afterwards."}],"correct":false,"tempting":[{"text":"Treats deletion as undoing transmission: the file has already been sent and may have been retained or used under the service’s terms."}]},{"text":[{"text":"Crop the image to hide identifying detail, then use any hosted tool on the remainder."}],"correct":false,"tempting":[{"text":"Assumes partial obscuring satisfies a confidentiality obligation, when the remaining material is still the client’s unreleased photograph."}]}],"order":[0,1,2,3],"why":null},"prev":{"slug":"colourising-old-photographs","title":"A guess about what colour the dress was","minutes":8},"next":{"slug":"provenance-watermarks-and-c2pa","title":"What can be proved about where an image came from","minutes":8}}}