Auto-tag new Cloudinary uploads every hour
Every hour, find fresh Cloudinary uploads missing tags or alt text, draft SEO-friendly metadata, apply it, and post a Slack recap of what got enriched.
Every hour, sweep my Cloudinary media library for freshly uploaded images that are missing tags or descriptive metadata and enrich them automatically.
Trigger: cron, every hour on the hour.
Step 1 — find candidates. Use Cloudinary's Search Assets to list images created in the last hour that either have no tags or have no meaningful alt text stored in their context metadata. Scope the search to resource_type=image, filter by created_at within the last 60 minutes, and return the public_id, secure_url, folder, existing tags, and context. Skip anything that already has both tags and alt text; skip anything the workflow has already enriched on a previous run.
Step 2 — enrich each image. For each candidate, look at the Cloudinary delivery URL directly, then draft: a short set of 3-7 descriptive tags (lowercase, no punctuation, brand-appropriate), an SEO-friendly alt text sentence describing the subject and any obvious context, and a single category label that fits our folder structure. If the image is ambiguous, decorative, or looks unsafe to auto-label, mark it as 'needs review' and do not write anything back.
Step 3 — write the metadata back. Apply the tags with Cloudinary's Manage Tags operation (add mode, not replace). Store the alt text and category using Update Resource by Public ID, setting context to include alt and caption keys plus the category. If either write fails for an asset, capture the error and continue with the next image so one failure does not stop the run.
Step 4 — post a Slack recap. Use Slack Bot's Send a Message to post a short summary to #media-ops (or whatever channel I configure). Include: total images scanned this hour, how many were enriched, up to 3 sample thumbnails or delivery URLs of enriched assets with the tags applied, and a clearly labelled 'needs review' section listing any images the agent could not confidently label, each with its public_id and delivery URL so a human can open and fix it. Use Slack mrkdwn formatting, keep it tight, and skip the message entirely on runs where zero new assets were found.
Notes: Cloudinary is not a poll provider on this platform, so cron plus Search Assets scoped to the last hour is the correct pattern rather than a poll trigger. Never overwrite existing tags or alt text — additive only. Cap the run at a reasonable batch size (e.g. 50 assets) and stop early if Cloudinary rate-limits, then pick up the rest on the next hourly run.
Additional information
What does this prompt do?
- Sweeps your Cloudinary media library every hour for images uploaded in the last hour that are missing tags or descriptive alt text.
- Has an AI look at each image and draft a short set of tags, an SEO-friendly alt text, and a category.
- Writes the tags and alt text back onto the asset in Cloudinary so your library stays search-ready.
- Posts a short Slack recap listing how many assets were enriched, sample thumbnails, and any images that need a human to review.
What do I need to use this?
- A Cloudinary account with API access to your media library.
- A Slack workspace with the bot invited to the channel where you want the recap.
- A rough idea of the vocabulary you want in tags and alt text (brand voice, product terms, campaign names).
- Optional: a naming convention or folder pattern you use for freshly uploaded assets.
How can I customize it?
- Change the sweep window or cadence (every 30 minutes, twice a day, only during business hours).
- Point the recap at a different Slack channel or a direct message.
- Add rules for how tags should be phrased, such as product SKUs, campaign names, or a controlled vocabulary.
Frequently asked questions
What if an image already has good tags and alt text?
Will this overwrite alt text I wrote by hand?
Can I review the AI's suggestions before they go live?
Does this handle videos too, or only images?
What happens when the agent cannot confidently label an image?
Related templates
Stop hand-tagging every new upload.
Let an agent watch your Cloudinary library every hour and keep it search-ready, on-brand, and easy to find.