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 you start by hand: it downloads a sample photo, and Google Gemini writes a punny title and a caption for it. The Edit Image node then draws both in a dark band along the bottom.
Image caption written by Gemini and drawn onto the picture 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.
Manual run
It starts when you press Execute workflow, with one value to set:
The photo with its title and caption drawn on a dark band across the bottom, in the last node’s output
What you need before you start.
Vision language model
Runs models/gemini-3.6-flash through the chat model node to write a title and a caption from the picture.
NeedsGoogle Gemini API key, in a Google Gemini credential
Checked by Mindket on 13 Nov 2026
This n8n workflow puts an AI-written caption on a picture. A manual trigger starts it, and an HTTP request downloads a sample photo. Google Gemini looks at a smaller copy and answers with a punny title and a caption. A Code node works out where the words fit, and the Edit Image node draws a dark band along the bottom with the text in white. Eleven nodes do the work, beside five sticky notes that explain the steps.
Editors, social media teams and developers who want a first caption and a text overlay without leaving n8n. Skip it if the design matters. The band is a plain dark box, the font is set in the file, and the workflow is built around one picture at a time.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Publishing | Picture editors | Get a first caption drawn on each photo before a person polishes it | An editor opens a warehouse photo that already carries a title and a caption. |
| Social media | Community managers | Turn a plain photo into a captioned post image | A manager posts a picture with a pun and a line of context across the bottom. |
| E-commerce | Catalog teams | Add a short description to product and stock photos | A team labels a photo of a loaded pallet with a plain caption. |
| Development | Automation builders | Swap the sample download for a form or a webhook that receives a file | A builder sends photos through an upload form and finds the captioned copy in the run’s output. |
You need a little n8n: import a file, add a Google Gemini credential and press a button. Edit Image also needs a font file, which the setup steps cover.
Any n8n that can reach Google’s Gemini API and has GraphicsMagick for the Edit Image node will run it. The finished picture stays in the run until you add a node that sends it on.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. One Google Gemini key covers it.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own. The Edit Image node runs on GraphicsMagick, which n8n’s own Docker image includes |
| Google Gemini | An API key from Google AI Studio, saved in a Google Gemini credential |
| A picture | The file downloads a sample photo, so you need none for the first run |
workflow.json.Google Gemini Chat Model.models/gemini-3.6-flash. Pick another from the list if Google has retired it.Apply Caption to Image and look at the Font field of its text step. The file points to an Arial file that n8n’s own Docker image holds. On a machine without that file, pick a font from the node’s list.Get Image with a node that returns a file in a field named data.Press Execute workflow. The sample photo is downloaded, a smaller copy goes to Gemini, and the answer comes back as caption_title and caption_text. The last node returns the original picture with the title in quotes and the caption drawn over a dark band at the bottom.
| To change | Where |
|---|---|
| The picture | The address in Get Image, or a node of yours that returns a file in data |
| The caption’s style | The system message in Image Captioning Agent, which asks for a punny title and a caption built from who, when, where and context |
| The fields Gemini returns | The example JSON in Structured Output Parser |
| The model | modelName in Google Gemini Chat Model |
| The band and the text | The draw and text steps in Apply Caption to Image, and the calculations in Calculate Positioning |
The sample photo shows a forklift driver in a warehouse, carrying a pallet of beer cans.
Gemini answers with a pun for the title and a sentence about the driver, the place and what is being moved. The Edit Image node draws that text in white on a dark band across the bottom of the photo. The finished picture is in the last node’s output.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Here the line splits after the download. One branch asks Gemini for a caption and the other measures the picture. Two Merge nodes bring the results together before the drawing. Run it once and click each node to see its output.
For experts. The picture goes to Gemini as an Image (Binary) human message in a Basic LLM Chain, so no base64 text is built by hand.
| Node | What it does | What to know |
|---|---|---|
Resize For AI | Edit Image resize to 512 by 512 with its default option | The default keeps the shape and caps the area, so the copy is smaller but not squashed. The original goes on untouched |
Image Captioning Agent | Basic LLM Chain 1.4 with the picture as an Image (Binary) human message | A structured parser makes the answer two fields, caption_title and caption_text |
Calculate Positioning | Code, run once for each item | Font size is the picture’s height divided by 35, and the band’s height comes from a rough count of text lines |
Apply Caption to Image | Edit Image multi step: a draw step, then a text step | The band is black at a little over half opacity, and the font is a path on the machine that runs n8n |
The original copy named a model Google no longer lists, and the text drawing depends on a font file.
models/gemini-3.6-flash, which the models page lists as available with image inputApply Caption to Image points at an Arial file in n8n’s own Docker image. Elsewhere that path may not exist, so pick a font from the node’s listAn n8n workflow you start by hand. It downloads a sample photo and sends a smaller copy to Google Gemini, which writes a
punny title and a caption. The Edit Image node then draws both in white on a dark band along the bottom of the picture.
workflow.json: the workflow as n8n exports it, sixteen nodes. Eleven do the work and five are sticky notes thatREADME.md: these notes.models/gemini-3.6-flash, which the models page lists as available withexecutionOrder v1, the setting n8n gives a new workflow.workflow.json.Google Gemini Chat Model.models/gemini-3.6-flash. Pick another from the list if Google hasApply Caption to Image and look at the Font field of its text step. The file points to an Arial file thatGet Image with a node that returns a file in a field named data.Get Image (HTTP Request 4.2) downloads a 600 pixel wide sample photo from a stock photo site.Resize For AI makes a smaller copy for the model, and Get Info reads theImage Captioning Agent (Basic LLM Chain 1.4) sends the smaller copy to Google Gemini Chat Model as an ImageStructured Output Parser makes the answer two fields, caption_title and caption_text.Merge Image & Caption joins the size and the caption by position.Calculate Positioning (Code, run once for each item) works out the font size, the line length and where the bandMerge Caption & Positions brings those numbers together with the caption.Apply Caption to Image (Edit Image, multi step) draws a dark rectangle and then the caption in white Arial. Thedata of its output.Get Image, or a node of yours that returns a file in data.Image Captioning Agent.Structured Output Parser. Calculate Positioning and the text step readcaption_title and caption_text, so rename them there too.modelName in Google Gemini Chat Model.Apply Caption to Image, and the numbers in Calculate Positioning.Apply Caption to Image, such as Google Drive, Slack or Gmail.NOTICE.md 612 B README.md 4 KB workflow.json 12 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…