Bulk Upload WooCommerce Product Images with AI: From Your Computer
To bulk upload WooCommerce product images by hand, you open every product, pick a main image, pick the gallery images, save, and move on to the next one. With BEAR's MCP server you hand that work to an AI assistant. You drop the photos from your computer onto one upload page, tell the assistant which photo belongs to which product (or let it work that out from the file names), and it sets each main image and gallery, product by product, reporting what every product has afterwards.
One thing first, because it is the obvious idea that does not work: a photo pasted into the chat never reaches your shop. The assistant receives a picture to look at, not a file it could pass on to your server. Everything below is built around that fact.
Before you start. You need BEAR 2.2.4 with the MCP server option switched on, a shop on HTTPS, and an assistant connected with your MCP key: Claude in the browser, the desktop app or Claude Code, or another client that speaks MCP. Your access has to include the media library, and putting images on products also needs permission to edit products. The connection steps are in the MCP server documentation.
Bulk upload WooCommerce product images: a complete example
Say you have photos for eight new products, named after their SKUs: TOTE-01.jpg is the main photo of the tote bag, TOTE-01-2.jpg and TOTE-01-3.jpg belong in its gallery, and the other products follow the same pattern. You type:
I have photos for eight products, named by SKU. The file named exactly like the SKU is the main image; files ending in -2, -3 and so on go into the gallery in that order. Give me an upload link, and when I am done, show me the plan and tell me which files you could not match.
- The link. The assistant asks BEAR for an upload link that is not tied to one product, because the photos belong to several. You get an address on your own shop.
- The upload. You open it and drag the photos in. The page sends them one at a time and shows each file as added or with the reason it was refused; a line at the end says whether all of them arrived or how many failed. The photos are now in the media library, not yet on any product.
- What arrived. You write Done. The assistant asks BEAR what came in through this link and gets the ID and file name of every image, without searching the whole library.
- The plan. It reads the SKUs from the file names, looks up those products (several SKUs in one search) and shows a table: product, main image, gallery images in order, and the files it could not place.
- Your yes. You check the table and correct what is wrong (TOTE-01-3 is the back view, put it last), then agree.
- The images are set. For each product the assistant sets the main image and the gallery. Every answer lists the images the product actually has after the change, not merely what was sent.
- You check. Open two or three product pages and look.
For a single product it is shorter: Here are the photos for the tote bag. The assistant gives you a link tied to that product, and whatever you drop there is attached to it at once. There is nothing to match.
Three ways a photo gets into your shop
| Where the photo is | What you say | What happens | Limits |
|---|---|---|---|
| On your computer or phone | "Give me an upload link" | A page on your shop, open for fifteen minutes, where you drop the files. They go into the media library, and onto the product if the link names one. | 20 images per link; each file up to your server's upload limit; images only. |
| Already online, on a supplier's site or a CDN | "Import https://example.com/img/tote-front.jpg as the main image of the tote bag" | BEAR downloads the file into the media library and, if you name a product, attaches it. A title and alt text can be set at the same time. | The direct address of the image file; no redirects; public addresses only. |
| Already in your media library | "Use the photos I uploaded yesterday" | The assistant lists library images by name or upload date and says which products already use each one. | It cannot show you the pictures; you get names, dates, sizes and links to open. |
A fourth route exists for assistants that hold the files themselves, such as Claude Code working on your computer or your own script: they can send an image of up to 1 MB directly. In a chat this is the wrong route, because the photo would have to travel as text, and anything larger is refused with a pointer to the upload link.
Importing from an address
The address has to lead to the image file itself, not to a page showing it, and its path should end with the file name and extension (for example …/tote-front.jpg), because WordPress decides the file type from that name. BEAR follows no redirects, so a link that forwards elsewhere fails; give the final address instead. Addresses that point inside the server's own network are refused, and the download has 30 seconds. WordPress then checks that the file really is an image. Open the imported image once: another site sometimes serves a placeholder or a small version to anyone who is not a visitor in a browser.
How the upload link works, and its limits
- No login. The link opens a small, self-contained page on your shop that works on a phone as well as on a computer where you are not signed in to WordPress. The link itself is the key: anyone who has it can add images while it is open, and nothing else. Do not post it anywhere public.
- Fifteen minutes. The link is open for fifteen minutes, and each file that arrives restarts the count. After that the page says the link has expired. Files that already arrived stay in the media library; ask for a new link to continue.
- 20 images per link. Further files are answered with limit of 20 reached. For more photos, ask for another link. A developer can change the number with the
woobe_mcp_upload_max_filesfilter. - File size. The limit is what your server already accepts for uploads, the smaller of PHP's
upload_max_filesizeandpost_max_size, the same limit the WordPress media library shows. The page checks each file before sending it and shows too large together with the limit. Thewoobe_mcp_upload_max_bytesfilter can set a lower one. - Images only. The file picker offers images, and WordPress checks every file on arrival. Anything that turns out not to be an image is refused and removed.
- One file at a time. This is deliberate. Sent together, every upload would read the product before any had written to it, each would make itself the main image, and only the last would stick. The queue is a little slower and keeps the order.
- Where the files go. On a link tied to a product without a main image, the first file becomes the main image and the rest go into the gallery in the order they were sent. If the product already has a main image, every file goes to the gallery. A link without a product puts the files only into the media library.
- File names. WordPress treats the files as in its own media library: it makes the usual image sizes, scales very large photos down and adds
-scaledto their name, and adds a number to a name that is already taken. The start of the name, where the SKU is, stays as it was.
Main image and gallery: add, replace, remove, reorder
Images from the library are placed with one tool, woobe_set_images, one product per call. What you can ask for:
- Main image. Any image from the library, or none: Remove the main image of the tote bag.
- Add to the gallery. The default. Images the gallery does not have yet are appended at the end.
- Replace the gallery. The whole gallery becomes exactly the images you name, in the order you name them.
- Remove from the gallery. The named images are taken out; the rest keep their order.
- Reorder. There is no "move to position two". Reordering is a replace with the full list in the new order: Reorder the tote bag gallery: back view first, then the detail, then the lifestyle photo.
The main image and the gallery are separate in WooCommerce. Making a gallery image the main image leaves it in the gallery too, so it would show twice, and the previous main image is simply no longer used. Say everything you want in one sentence: Make TOTE-01-2 the main image, take it out of the gallery, and put the old main image at the end of the gallery.
Before a change, the assistant reads what the product has now: the main image and the gallery in order, with file names, sizes, alt text and links. It is instructed to do this and to add rather than replace unless you said replace, because that is what people usually mean. If an ID you name is not an image in the library, nothing is changed at all.
A variation has one image of its own in WooCommerce, and the assistant sets it the same way, by the variation's ID; more images per variation need a gallery plugin, as described in bulk editing variation images. For one and the same image on many products, such as a placeholder, a bulk edit of the Thumbnail field is the better tool: you confirm the product count, and like every bulk edit it is recorded in History. Bulk changing the featured image covers that, and adding images to existing galleries in bulk shows the same gallery work in BEAR's editor screen.
Assign images to products by SKU or file name
BEAR has no automatic matcher. The matching is done by the assistant from the file names it reads back after the upload, so your naming decides how reliable it is.
- Name files after the SKU, with a suffix for the gallery order:
TOTE-01.jpg,TOTE-01-2.jpg,TOTE-01-3.jpg. The product slug works as well. Camera names such asIMG_4471.jpgtell the assistant nothing, so you would have to say which is which. - Ask for the plan first. Setting images has no confirmation step of its own on the BEAR side, unlike bulk edits and deletions. The table you check before saying yes is the safeguard, so read it.
- Ask for the leftovers. Files that match no product, and products that got no file, are worth a list; the example prompt above asks for it.
- One call per product. Thirty products are thirty calls. If Claude asks for your approval on each, you can set that one tool to always allowed for the batch and switch it back afterwards.
- More than 20 photos. Ask for a second link when the first is full. The assistant checks what arrived through each link separately.
Photos you uploaded earlier, through wp-admin or a previous link, are found in the library: List the images uploaded since Monday whose names start with TOTE. The assistant can search by part of a file name, by upload date and for images not attached to a product, up to 100 per list, newest first. For each image it also names up to five products that already use it, which often identifies a photo without opening it.
Find products without images
Ask: Which published products have no main image? The assistant runs BEAR's filter on the Thumbnail field and gives you the count and a list. It combines with any other filter: products in Aprons that are in stock and have no main image. From there the work is the same as above: an upload link for one of them, or SKU-named files for many.
Two limits. There is no filter for an empty gallery, so "products with no gallery images" cannot be selected in one step; for a short list, the assistant can read the images of each product one by one. And a product whose main image was removed with the Thumbnail field of BEAR's Bulk Edit tab keeps an empty image record, which this filter does not list; the featured image article explains how to find those. Main images removed through the assistant are found normally.
Undo and safety
- Image changes are not in History. Setting a main image or a gallery, an import and an upload are not entries in BEAR's History, and there is no rollback for them. Once a gallery is replaced, the old one is not stored anywhere.
- The conversation is your record. The assistant reads the images before changing them and reports them after. While that "before" is still in the conversation, Put back the gallery the tote bag had before works, because the old image IDs are known. In a new conversation they are not.
- Nothing is deleted from the library. Removing an image from a product never deletes the file, because the same file may be used elsewhere. The assistant cannot delete files from the media library; that is done in Media, Library in wp-admin.
- Alt text. It can be given when an image is imported from an address. Files from the upload page arrive without alt text, and the assistant has no tool to change the alt text of an existing image; set it in the media library, or fill it in bulk as shown in the featured image article.
- Free version. Photos work the same in both versions. Uploading and placing images is not counted toward the free writing allowance.
- Who can do it. Without access to the media library the assistant gets no upload link and cannot place images, and placing images on a product also needs permission to edit products. An owner can close the media library for a particular manager in BEAR's MCP access settings.
Ready prompts
- "I have photos for the tote bag. Give me an upload link."
- "Give me an upload link for photos of several products. They are named by SKU; show me the plan before you put anything on a product."
- "What arrived through the link? Read me the file names."
- "Import https://example.com/img/tote-front.jpg as the main image of TOTE-01, alt text: natural canvas tote bag, front view."
- "Show me the main image and gallery of the tote bag."
- "Make the second gallery image the main image, take it out of the gallery and put the old main image at the end."
- "Replace the gallery of TOTE-01 with TOTE-01-2, TOTE-01-3 and TOTE-01-4, in that order."
- "Remove the last two images from the gallery of the canvas apron."
- "Which published products in Bags have no main image?"
- "List the images I uploaded yesterday that no product uses yet."
Questions
Can I upload photos from my computer to WooCommerce through ChatGPT or Claude?
Not by pasting them into the chat: the assistant sees the image but cannot pass the file on. Through BEAR's upload link, yes. The assistant gives you the link, you drop the files in a browser, and the assistant takes over from there. Any assistant connected to BEAR's MCP server can do this; the MCP server documentation says which ones currently connect.
How many product images can I upload at once?
Up to 20 per upload link, each as large as your server accepts for uploads. For more, ask for further links. Each link is open for fifteen minutes, and every file that arrives restarts the count.
Can I add photos while creating a new product?
Right after it. The creation step itself takes no images; once the draft exists, the assistant gives you a link tied to it, and the first photo becomes the main image. Creating WooCommerce products with AI shows the whole sequence.
Does the assistant compress or resize my photos?
No. WordPress handles them as it handles any upload to its media library: it creates its usual image sizes and scales very large photos down. Prepare the photos as you would for wp-admin.
Checklist
- The MCP server is on, and your access covers the media library and editing products.
- Name the files after SKUs, with -2, -3 for the gallery order.
- Photos on your computer: upload link, at most 20 per link, within fifteen minutes. Photos online: the direct file address. Photos in the library: search by name or date.
- Ask for the plan table, with unmatched files, and check it before saying yes.
- Say "add" or "replace" for galleries, and say what happens to the old main image when you change it.
- Keep the conversation open until you have checked the result: it holds the only record of the images before the change.
- Look for products still missing a main image with the Thumbnail filter.
If the upload page or image placement does not behave as described here, ask on the BEAR support forum.