Bonsai-27B-GGUF
lmstudio-community · Kit
A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…
An n8n workflow that screenshots product pages listed in Google Sheets through ScrapingBee, has a Gemini agent read titles, prices, brands and promotions, and saves them as rows.
Product page data scraped from screenshots by a Gemini agent is an n8n workflow in the Research category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Manual run
It starts when you click Test workflow in n8n:
One row for each product found, with its title, price, brand and promotion
What you need before you start.
Page fetching
Returns a screenshot or the HTML of each page.
NeedsA ScrapingBee API key
Vision agent
Reads the products and prices off the screenshot.
NeedsA Gemini API key
List and results
Holds the addresses to read and receives the rows.
NeedsA Google service account and the sheet’s id
Checked by Mindket on 13 Nov 2026
This n8n workflow collects product data from web pages by reading their pictures. It takes page addresses from a Google Sheet and asks ScrapingBee for a full-page screenshot of each. A Gemini agent reads the products, prices, brands and promotions off the picture. When the picture is not enough, the agent calls a second route that fetches the page HTML as Markdown. Fourteen nodes run it, beside fifteen sticky notes.
Analysts and shop owners who track prices and promotions across many pages. Skip it if the sites you list forbid scraping in their terms, since that is yours to check.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Retail | Price analysts | Watch competitor prices | An analyst lists category pages and reads the prices from one sheet. |
| E-commerce | Shop owners | Track promotions | An owner sees which brands run a discount and by how much. |
| Marketing | Category managers | Compare product ranges | A manager lines up brands and prices across several shops. |
| Research | Market researchers | Build a dataset of listings | A researcher collects hundreds of listings into rows. |
You need some n8n and three accounts: import a file, add two credentials, paste a key and an id, and link the second route.
Any n8n that can reach ScrapingBee, Google Gemini and Google Sheets will run it. The results land in the sheet you set.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Setup takes a ScrapingBee key, a Gemini key, a Google service account and a two-tab sheet.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| ScrapingBee | An account and an API key |
| A service account with your sheet shared to its address, and a Gemini API key | |
| Sheet | A tab List of URLs with the header url, and a tab Results with six headers |
workflow.json.<YOUR_SHEET_ID> in both.<YOUR_SCRAPINGBEE_API_KEY> with your key.Google Gemini Chat Model.HTML-based Scraping Tool, choose this same workflow in the Workflow field.List of URLs and click Test workflow.Click Test workflow. Each address becomes a screenshot, and the agent returns its products. Rows appear in Results. Start with two or three pages, since each one costs a ScrapingBee request.
| To change | Where |
|---|---|
| What to extract | The agent’s system message and the example in Structured Output Parser |
| The columns | The Google Sheets node that creates rows |
| The model | Google Gemini Chat Model |
| When it runs | The trigger node |
An analyst lists the category pages of two online shops for headphones in List of URLs. The agent reads each page picture.
Each product comes back as a row with its category address, title, price, brand and any promotion, with the discount percentage. Pages that the screenshot does not explain are read again from their HTML.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. An agent is a box that decides which other boxes to use. Here it reads a picture first and calls a second route only when something is missing.
For experts. The agent takes a binary screenshot as its input and calls a tool workflow that sits in the same file. A structured output parser shapes the answer, and a Split Out node makes one item for each product.
| Node | What it does | What to know |
|---|---|---|
| The ScrapingBee screenshot node | Returns a full-page picture | It sends screenshot and screenshot_full_page as true |
Vision-based Scraping Agent | Reads the picture and decides on the tool | It calls the HTML route only when something is missing |
HTML-based Scraping Tool | Runs the second route in this same workflow | Its Workflow field is blank until you choose this workflow |
Structured Output Parser | Shapes the answer as a list of products | Its example uses text values and the key promo_percentage |
Scraping may be against a site’s rules, so check the terms of every site you list and the law where you live.
models/gemini-1.5-pro-latest, and Google’s models and deprecations pages, read on 12 November 2026, list no Gemini 1.5 model. The node names models/gemini-3.8-flash, which the models page lists as Stable with image inputproduct_url, and it is product_title nowAn n8n workflow that reads a list of page addresses from a Google Sheet and takes a full-page screenshot of each through ScrapingBee. An AI agent on Gemini reads the products, prices, brands and promotions off the picture. When the picture is not enough, the agent calls a second route that fetches the page HTML as Markdown. The result becomes rows in a Results tab.
workflow.json: the workflow as n8n exports it, twenty-nine nodes: fourteen that do the work and fifteen sticky notes. It holds no credential.README.md: these notes.models/gemini-1.5-pro-latest. Google's models and deprecations pages, read on 12 November 2026, list no Gemini 1.5 model at all. The node now names models/gemini-3.8-flash, which the models page lists as Stable with image input and structured outputs.<your_scrapingbee_apikey>. It is <YOUR_SCRAPINGBEE_API_KEY> now in both requests.screenshot_full_page. ScrapingBee's documentation lists screenshot and screenshot_full_page as separate options, and its own example sends both, so this copy sends both.HTML-based Scraping Tool held the id of the author's own workflow. It is blank now. After you import, select this same workflow in it.<YOUR_SHEET_ID>, with the tabs List of URLs and Results.product_url. The column is product_title now.Copy code line and an example that used a true or false value and a number under promo_percent. The parser's example uses text values and the key promo_percentage. The prompt's example now matches the parser.List of URLs has the header url in row 1 and one address per row. Results has the headers category, product_title, product_price, product_brand, promo and promo_percent.workflow.json.Google Sheets - Get list of URLs and Google Sheets - Create Rows. Replace <YOUR_SHEET_ID> in both and check the tab names.ScrapingBee- Get page HTML and ScrapingBee - Get page screenshot, replace <YOUR_SCRAPINGBEE_API_KEY> with your key.Google Gemini Chat Model.HTML-based Scraping Tool, choose this same workflow in the Workflow field.List of URLs and click Test workflow.Google Sheets - Get list of URLs, which reads the rows.Set fields keeps the url of each row.ScrapingBee - Get page screenshot calls ScrapingBee with the address, screenshot and screenshot_full_page set to true and a browser-style User-Agent header. The picture comes back as a file, with the row's JSON beside it.Vision-based Scraping Agent receives the picture and a message with the address. Its system message asks for the titles, prices, brands and promotions, and says to call the HTML tool only when something is missing.HTML-Scraping Tool in this same workflow with the address as query. Set fields - from AI agent query turns it into url, ScrapingBee- Get page HTML fetches the page, and HTML to Markdown converts it. The data field goes back to the agent.Structured Output Parser shapes the answer as a list of products, and the agent returns it as output. Split Out makes one item for each product.Google Sheets - Create Rows adds a row for each. category holds the page address, and promo_percent takes the value of promo_percentage.Structured Output Parser.Google Sheets - Create Rows.Google Gemini Chat Model.NOTICE.md 719 B README.md 5 KB workflow.json 23 KB
lmstudio-community · Kit
A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…
LibertAIDAI · Kit
Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…
facebook · Kit
Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…
AbdomenAtlas · Kit
Detects and outlines tumors in 9 organs on CT scans, trained with the R-Super method that learns from radiology reports. A research model for medical imaging g…
dBenf · Kit
Answers typed questions about satellite image patches from all 12 Sentinel-2 bands, returning a probability for each option without writing text. A Qwen3.5-0.8…
zimmerk4 · Kit
Plays the full game Getting Over It from the bottom to the end with a small trained policy network that learned inside a JAX physics simulator. For reinforceme…