CONTENT CREATION
Zero-shot classify R2 images and tag them in Airtable
Runs each image stored in a Cloudflare R2 bucket through a Hugging Face zero-shot classifier against your own label set, then records the top matching tags in an Airtable index.
How it runs
The automated pipeline, trigger to output.
- TriggerScheduled bucket sweep
- ActionList R2 objects not yet in the Airtable indexCloudflare R2
- ActionGenerate signed URL for each imageCloudflare R2
- ActionZero-shot classify against candidate labels (Hugging Face)Hugging Face
- LogicKeep labels above confidence threshold
- OutputUpsert tags into Airtable indexAirtable
What it does
For every image object in a Cloudflare R2 bucket, this template applies Hugging Face zero-shot image classification using a candidate label list you define (for example product, lifestyle, screenshot, diagram). It keeps the labels that clear a confidence threshold and writes them as tags into an Airtable index row keyed by the object path.
When to use it
You store original media in R2 but need a searchable, human-readable catalog with consistent category tags, and you don't want to train a model. Zero-shot lets you change the label vocabulary anytime without retraining.
How it works
- 1A schedule kicks off a sweep of the bucket.
- 2List R2 objects and diff against the Airtable index to find untagged images.
- 3For each new object, generate a temporary signed URL.
- 4Call the Hugging Face zero-shot image classification model with your candidate labels.
- 5Filter labels by the confidence threshold and rank them.
- 6Upsert the object path and its winning tags into Airtable.
Set it up
What you configure once, before turning it on.
- 1Connect Cloudflare R2Object storage, S3-compatible.
- 2Connect Hugging FaceModels, datasets, spaces — the open-source hub.
- 3Connect AirtableBases, tables, views, automations.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Content Creation workflows
On-demand: turn a blog URL into narrated B-roll clips
Accepts a blog URL via webhook, scrapes the article, generates a B-roll clip per paragraph with Replicate and a voiceover with ElevenLabs.
Sync a Figma master frame into localized hero renders
Pulls the current master hero frame and its text layers from Figma, generates a localized image variant for each locale defined in Airtable.
Build a Dropbox B-roll library from exported blog drafts
Triggers when a new blog draft file lands in a Dropbox folder, generates a Replicate B-roll clip for each paragraph.
Generate B-roll clips when a blog post is marked Ready in Notion
Watches a Notion blog database for posts flipped to 'Ready', splits the body into paragraphs, and generates a short B-roll video clip for each paragraph with Replicate.
Weekly: clip last week's top blog paragraph and post to socials
Runs on a weekly schedule, picks the highest-traffic paragraph from the past week's posts, generates one polished B-roll clip with Replicate.
On-Demand Screenshot Freshness Report from a Slack Command
A writer requests a freshness check in Slack for a specific docs page; the workflow inspects every screenshot on that page, scores each by age and version gap.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
