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 with a form: send the picture address of a rival’s ad and a photo of your product. Gemini 2.5 Pro plans the swap, and a Gemini image model draws the same ad with your packaging and name in it.
Competitor image ad rebuilt around your product is an n8n workflow in the Marketing & SEO 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.
Ad form
It starts when someone sends its three-field form with:
A new ad picture in the competitor’s style, with your product and name, ready to download from the run
What you need before you start.
Image analysis and generation
Runs gemini-2.5-pro to plan the swap and gemini-nano-banana-2.1 to draw the new ad.
NeedsGemini API key, in a Header Auth credential
Checked by Mindket on 13 Nov 2026
This n8n workflow redraws a competitor’s image ad around your own product. Someone sends a form with the ad’s picture address, a photo of your product and any wording to change. Gemini 2.5 Pro studies both pictures and writes an edit plan that finds every logo, label and line of copy to replace. A Gemini image model then draws the new ad from that plan and both pictures. The result waits in the run as an image file. Ten nodes do the work, beside a sticky note with its title.
Small brands and freelance ad makers who run still-image ads on Facebook or Instagram and want a first draft built on an ad that already sells in their niche. Skip it if the person filling in the form should get the picture back, or if you need video. As imported, the form only confirms the send.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Supplements and wellness | Founders who run their own ads | Send a rival’s long-running ad with a clean shot of their own tub | A protein brand gets its tub on the gym bench where the rival’s stood. |
| Ecommerce agencies | Ad designers | Make a few drafts for a client before the design round | An agency brings four drafts, each from a different rival ad, to the client’s weekly call. |
| Skincare and beauty | Shop owners | Keep the rival’s layout and set a new offer in Additional changes | A shop swaps the rival’s discount line for free shipping this week. |
| Food and drink | Marketing leads | Try a rival’s seasonal look with their own bottle or can | A cold brew brand tests a rival’s summer beach ad with its own can. |
You need a little n8n: import a file, add one Header Auth credential, fill a few gaps in a prompt and publish a form. Its author puts setup at about 8 minutes.
Any n8n that can reach Google’s Gemini API will run it. Plan where the picture goes, since nothing leaves the run.
get_image to save the file or send it onGet it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. One Gemini key covers both calls.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Google AI Studio | A Gemini API key, for a Header Auth credential named x-goog-api-key |
| The rival’s ad | The address of the picture itself, best as a JPEG |
| Your product | A photo of it, best as a PNG with the packaging in clear view |
workflow.json.x-goog-api-key and your Gemini key as its value. Select it in generate_ad_image_prompt and generate_ad_image.build_prompt. Its text has gaps where brand names were cut out, listed in the README. Type in your rival’s name, your product and your brand.A, AG, G and G1 to pieces of your rival’s name.Open the ad’s picture on its own, copy its address and paste it into Competitor Image Link. Attach your product photo, and add any wording change in Additional changes, such as a new offer. Send it. The form confirms at once. When the run ends, open it under Executions and download the picture from get_image.
| To change | Where |
|---|---|
| What the plan covers | The prompt in build_prompt, which asks for a near copy with your packaging |
| The planning model | The address in generate_ad_image_prompt, gemini-2.5-pro |
| The drawing model | The address in generate_ad_image, gemini-nano-banana-2.1 in Mindket’s copy |
| Picture types | mime_type in both requests: PNG for your photo, JPEG for the ad |
| The form people see | The title, description and labels in form_trigger |
A cold brew brand finds a rival’s ad with a can on a kitchen counter, the rival’s name on the label and a free trial offer along the bottom. It sends that picture’s address, a PNG of its own can and “Use the line 20% off your first box” as the change.
The planning call answers with a plan: each place the rival’s name shows, what replaces it, and the scene to keep. The image model gets that plan with both pictures, and get_image holds what it draws as a file named data. Check every label before you use it. A model can leave part of a name behind.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one runs in a straight line: the form, the two pictures turned into text, the plan, the drawing, the file. After your first test, open generate_ad_image_prompt and read the plan before you judge the picture.
For experts. Both Gemini calls are plain HTTP requests to generateContent, with both pictures sent inline as base64.
| Node | What it does | What to know |
|---|---|---|
generate_ad_image_prompt | Sends the prompt and both pictures to gemini-2.5-pro | The first text part of its answer becomes the next prompt |
generate_ad_image | Sends that plan and the same pictures to the image model | set_result keeps the first part that carries inlineData |
Wait | Pauses before set_result | Version 1.1 with no settings waits 5 seconds, after a call that has already answered |
form_trigger | Form Trigger 2.2 with three fields | It answers when the form is sent, so the picture never goes back to the sender |
A wrong link or file type stops a run at Gemini, and the image model in the original copy is gone.
gemini-2.5-flash-image-preview as shut down on 15 January 2026. Mindket’s copy calls gemini-nano-banana-2.1, the replacement it namesgemini-2.5-pro, when Google plans to send its requests to gemini-3.8-flashmime_typeAn n8n workflow with a three-field form. You send the picture address of a rival's ad, a photo of your product and any
wording you want changed. Gemini 2.5 Pro reads both pictures and plans the swap, and a Gemini image model draws the same
ad with your packaging in it. The picture stays in the run as a file.
workflow.json: the workflow as n8n exports it, eleven nodes, one of them a sticky note that holds only the workflow'sREADME.md: these notes.generate_ad_image called gemini-2.5-flash-image-preview, which Google shut down on 15 January 2026. It now callsgemini-nano-banana-2.1, the replacement on Google's deprecations page, read on 3 November 2026.gemini-2.5-pro and gemini-nano-banana-2.1.workflow.json.x-goog-api-key and its value to your Gemini key. Select it ingenerate_ad_image_prompt and generate_ad_image.build_prompt and fill the gaps listed under "The prompt's gaps" below.form_trigger. Its title is Facebook Ad Thief Form.The form confirms at once, and the run goes on behind it. Open the run under Executions and download the picture fromget_image.
build_prompt holds the instructions for Gemini 2.5 Pro. The brand names were cut out of its copy, so a few
sentences stop short:
| Where in the text | What goes there |
|---|---|
| After text that says and labels on products that say | Your rival's brand name, as it shows on their ads |
| After promotes our product | Your product's name |
| After switching competitor brand name to our name | Your brand name |
| The fragments "A", "AG", "G" and "G1" | Pieces of your rival's name that a cropped label might show |
The prompt runs without them. Gemini then has to guess which name to remove and which to write.
form_trigger (Form Trigger 2.2) takes three fields: Competitor Image Link, Your Product Image (one file) andAdditional changes (optional).convert_product_image_to_base64 turns your photo into base64 text. download_image fetches the rival's pictureconvert_ad_image_to_base64 turns it into text too.build_prompt sets the instructions, with your Additional changes at the end.generate_ad_image_prompt sends the instructions and both pictures to gemini-2.5-pro. Its answer is the edit plan.generate_ad_image sends that plan and both pictures to gemini-nano-banana-2.1, which answers with a picture.Wait pauses 5 seconds. set_result keeps the picture's base64 data, and get_image turns it into a file nameddata.build_prompt. As written, they ask for a near copy of the rival's ad, with the brand,generate_ad_image_prompt and generate_ad_image.mime_type in the JSON body of both requests, image/png for your photo and image/jpeg for the ad.form_trigger. If you rename Your Product Image, setbinaryPropertyName in convert_product_image_to_base64 to the new label, with underscores for spaces.get_image, such as Google Drive, Gmail or Slack.mime_type.Wait comes after a call that has already answered, so it only adds 5 seconds. You can delete it.gemini-2.5-pro. From that day Google plans to send its requestsgemini-3.8-flash, so change the address in generate_ad_image_prompt first if you want to pick the model yourself.README.md 5 KB workflow.json 10 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…
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…