The moment it happens
Write captions and alt text for images
Every image link you send comes back with a caption and accessible alt text.
- Runs
- The moment it happens
- Apps
- Google Gemini
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: give me a link I can post image URLs to. For each image, use the Google Gemini API to write a one-line caption and alt text under 125 characters, and email them to me.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small online shop receives dozens of product photos from suppliers and needs alt text and a short description for each. A real estate agent uploads walkthrough videos and needs summaries for the listing. An office has scanned PDFs nobody can search. Writing captions by hand is slow, and the lazy fallback is filenames like DSC_0042.jpg, which is poor for accessibility and for search engines.
When you send a file to the ClickRuntime link, it downloads the file and passes it to Gemini, either inline or through the Files API for larger media, along with your instruction. Gemini returns a caption, description or summary in a structured form, and the result is emailed to you with the file reference.
Content teams, accessibility owners and archive managers use it where a person would otherwise have to watch, view or read each file in turn.
What you get out of it
Alt text for every image
Images without descriptions are unusable for screen reader users and invisible to image search. Automatic captions mean every product photo ships with meaningful text, which supports accessibility rules and search traffic.
Long videos summarized without watching
A 40-minute recording becomes a few paragraphs and a list of key moments. Anyone deciding whether it is worth watching, or looking for one decision made in a meeting, finds it in seconds.
Scanned documents become searchable text
A PDF made of page images can be summarized or described so its content can be found. Archives that were previously a pile of unnamed scans start to have titles and descriptions.
Structured output that systems can use
Returning fields like title, caption and keywords means the result can be pasted into a catalogue, CMS or spreadsheet, without someone first trimming a long block of AI text. No cleanup step is needed in between.
Consistent descriptions across a team
A defined instruction yields the same style and length for every file. A catalogue where each photo has a similar format reads as professional, compared with a mix written by five people on different days.
How it works
What happens, step by step
When you send an image link to your personal ClickRuntime link, the automation starts straight away.
ClickRuntime downloads the image and sends it to Gemini.
Gemini writes a one-line caption and alt text under 125 characters.
You get an email with the image link, the caption and the alt text, ready to paste into your site.
Before it runs live
- Connect Google Gemini
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Google Gemini steps into one automation
Under the hood
The code that runs this automation
import base64
from clickruntime import on_event, credentials, notify, http
def gemini(body, model="gemini-2.5-flash"):
resp = http.post(f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",
headers={"x-goog-api-key": credentials.secret("GEMINI_API_KEY")}, json=body, timeout=120)
resp.raise_for_status()
return resp.json()["candidates"][0]
@on_event
def handle(event):
url = (event.json or {})["url"]
img = http.get(url)
img.raise_for_status()
out = gemini({
"contents": [{"parts": [
{"inline_data": {"mime_type": img.headers.get("content-type", "image/jpeg"),
"data": base64.b64encode(img.content).decode()}},
{"text": "Write a one-line caption and alt text under 125 characters for this image."},
]}],
"generationConfig": {"responseMimeType": "application/json", "responseSchema": {
"type": "OBJECT", "properties": {"caption": {"type": "STRING"}, "alt": {"type": "STRING"}}}},
})
text = out["content"]["parts"][0]["text"]
notify.email_me("Image caption", f"{url}\n{text}")
return {"url": url}FAQ
Common questions
What file types can it describe?
Can it write the caption in the style of my brand?
How does the file reach it?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Summarise posted text into Slack
Whatever your form or tool sends gets condensed to a few lines in a Slack channel.
See how it worksGet summaries of new YouTube videos
When a channel you follow posts a video, you get five bullet points instead of watching it.
See how it worksGet a weekly research brief with sources
Every Monday you get a short brief on your topic built from live Google results, with the links it used.
See how it worksKeep exploring
Set up “Write captions and alt text for images” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.