macOS-exclusive · from incoming photos to the desk

Caption Caddie

Cull. Caption. Edit. Deliver. A native Mac workflow built for sports photographers on deadline — roster-aware AI captions you Approve, editorial-safe Quick Edit, and FTP/FTPES delivery without leaving the app. Bring your own Google Gemini API key and pay Google about 5 photos for a penny, not a bundled AI subscription.

macOS exclusive Session: Cull → Delivery Roster-aware AI Wire IPTC/XMP 5 photos ≈ 1¢

See Caption Caddie in action

Tap a view below, then click the screenshot to open full size.

Session → Caption: roster-aware AI review before write-back

From incoming photos to the desk

Caption Caddie 2.0 keeps the deadline workflow inside a persistent Session. Ingest live frames, cull what matters, caption and Quick Edit as needed, then deliver — without bouncing every stage through another app. Photo Mechanic and Lightroom still fit when you want them.

  1. IngestDrop, import, or watch folder
  2. CullRate and keep selects
  3. Caption / EditRoster-aware AI, Approve, Quick Edit
  4. DeliverySelected · Exported · Sent · FTP/FTPES

Built by a wire shooter

Caption Caddie was built by a sports photographer who takes wire assignments and lives inside AP, Getty, and Imagn XMP templates every game day. This is not a generic AI photo tool bolted onto sports. It is a deadline Session — cull, caption, finish, and deliver — built around the dateline, credit, keyword, and code-replacement workflows assignment shooters actually use.

Your wire XMP templates stay yours

Caption Caddie is built for wire shooters who already apply dateline, credit, source, and keyword stationery in Photo Mechanic. It reads the XMP and IPTC metadata on your files and patches AI-generated caption text into your existing template fields, fully customizable per wire service or assignment.

  • Template-aware patching: dateline and credit from your PM wire XMP stay on the file; replace a placeholder in the caption with AI WHO/WHAT text, or insert before existing text.
  • Supplemental metadata fields: add player names, groups, or event context for sports that do not rely on jersey numbers, like golf.
  • Track & field bibs: when a bib name or number is visible in the frame, the AI reads it even without a traditional roster jersey match.
Wire XMP template patching: replace a placeholder in your Photo Mechanic caption with AI-generated play description
Patch play into your existing PM wire caption: replace a placeholder like “caption starts here” with AI WHO/WHAT text while dateline and credit stay intact.

Your Gemini key. About 5 photos for a penny.

Cloud AI runs on your Google Gemini account, not a shared pool billed through us. Add your API key once in Settings; it stays in the macOS Keychain. You pay Google directly for what you use, about 5 photos for a penny in real-world testing, not a subscription markup on every frame.

Getting a key takes a few minutes in Google AI Studio. Caption Caddie tracks exact and estimated costs in Settings → Stats so you always know what an assignment run cost. Roughly $4 for about 2,400 images in testing, not four dollars per image.

5 ≈ 1¢ Photos per penny in testing (gemini-3.1-flash-lite)
~2,400 Images for about $4 in testing ($3.98 est.)
100% Processing success rate in testing
Caption Caddie Stats showing 2,467 lifetime images processed and about four dollars estimated Gemini API cost
Settings → Stats: lifetime volume, success rate, and estimated Gemini cost for gemini-3.1-flash-lite.
Caption Caddie Gemini usage panel showing 2467 photos processed for 3.98 dollars lifetime estimated cost
Gemini usage detail, about $4 for ~2,400 photos, with a direct link to Google AI Studio spend.

Straightforward pricing

7 days free, then $11.99/month.

A simple monthly subscription for wire shooters. No bloated seat bundles, no surprise annual contract, and no hidden AI markup. You pay for the app, and Google bills your Gemini usage separately.

Guides for wire shooters

Deep dives on AI sports captioning, Photo Mechanic workflows, and AP, Getty, and Imagn wire metadata.

AI sports captioning for macOS

Roster-aware sports captioning, jersey and player identification, photographer review and Approve, and IPTC/XMP metadata.

Deadline Session, captioning at the core

Roster-aware AI captions with photographer Approve, plus Cull, Quick Edit, and Delivery — so finished frames leave Caption Caddie ready for the desk.

Session: Cull → Delivery

Persistent Sessions with Cull, Caption, Edit, and Delivery workspaces. Ingest once, then stay in the assignment until files are Sent.

Roster-aware AI captions

Import rosters from CSV, JSON, Photo Mechanic text, or ESPN URLs. Matchups give AI the game context it needs — you Approve before IPTC/XMP write.

Fast Cull

Rate and reject frames in Session. Caption only the selects that matter — including Not Captioned batches when you are ready.

Quick Edit

Editorial-safe adjustments without leaving Session. Not generative image editing — finish selects for the wire, then keep moving.

Delivery + FTP/FTPES

See Selected, Exported, and Sent. Export Ready deliverables and transmit over FTP or FTPES without leaving Caption Caddie.

Wire-ready AP, Getty, Imagn, and Custom

Generate captions in AP, Getty, or Imagn wire styles, or a Custom template that starts from the picture description and can add venue, event, date, and teams. Template edits stay local and do not require another AI analysis. Patch AI text into existing PM wire XMP fields when you use stationery: dateline and credit stay intact.

Photo Mechanic compatible

Code replacement import and export. Optional wire XMP merge. Use PM when it helps — Caption Caddie does not require it for Cull or Delivery.

Your Gemini key, your bill

Bring your own Google Gemini API key. About 5 photos for a penny, roughly $4 for ~2,400 images in testing. Stats track every session.

How it works

From matchup setup to Sent — inside one Caption Caddie Session.

  1. Prepare matchup & rosters

    Create a Matchup or Event, attach Teams, and set jersey colors. Connect your Gemini API key once in Settings.

  2. Start a Session

    Drop photos, use a watch folder, or import. Incoming frames land in a persistent Session for the assignment.

  3. Cull

    Rate and keep the frames worth working. Caption the filter you care about — not every file on the card.

  4. Caption & Quick Edit

    Generate roster-aware captions, review identity, and Approve (⌘↩). Quick Edit when a frame needs a light finish — in either order.

  5. Deliver

    Export Selected images and send via FTP or FTPES. Track Exported and Sent without leaving Caption Caddie.

Frequently asked questions

Does Caption Caddie replace Photo Mechanic?

No. Caption Caddie 2.0 can handle cull, caption, Quick Edit, and delivery in a Session on its own. Photo Mechanic remains a strong fit for ingest, wire stationery, and code replacements when you want it — Caption Caddie works with that stack, it does not require it.

What caption styles does Caption Caddie support?

AP, Getty Images, and Imagn wire styles, plus Custom captions. A Custom template starts with the picture description and can add assignment details such as venue, event, date, and teams. Changing that template stays on your Mac and does not require another AI analysis. Caption Caddie merges your Photo Mechanic wire XMP dateline and credit with AI-generated play descriptions.

How does auto captioning work for sports photos?

Caption Caddie uses Apple Vision and Google Gemini to detect jersey numbers, routes teams by jersey color, applies roster-aware context, and generates publication-ready captions you review and Approve before writing to IPTC/XMP. AI completion is not approval.

Is Caption Caddie an all-in-one sports photography app?

Caption Caddie 2.0 covers the core deadline Session — Ingest, Cull, Caption, Quick Edit, and Delivery (including FTP/FTPES) — centered on roster-aware captioning. It is not a full DAM or Lightroom replacement. Bring deeper edits from other tools when you need them; stay in Caption Caddie when the desk is waiting.

Can I use my existing wire XMP and metadata templates?

Yes. Caption Caddie works with the XMP and IPTC templates you already apply in Photo Mechanic (AP, Getty Images, Imagn, or your own custom stationery). Templates are fully customizable, and AI captions are patched into your existing metadata fields instead of replacing the template work you did upstream.

What about sports without jersey numbers, like golf or track?

Use supplemental metadata fields in your matchup to guide the AI: player names, groups, or event context you already know. For track and field, Gemini reads bib names and numbers when they are visible in the frame, even when there is no roster jersey number to match.

Do I need a Google Gemini API key?

Yes, for cloud AI detection and captioning. You bring your own Google Gemini API key (stored in the macOS Keychain) and pay Google directly for usage. That keeps Caption Caddie affordable and transparent; you control your AI spend instead of subsidizing everyone else’s processing.

How much does Gemini cost in practice?

About 5 photos for a penny and ~$4 for roughly 2,400 images in real-world testing (gemini-3.1-flash-lite, $3.98 to $4.02 estimated). A full assignment night is dollars, not hundreds. Settings → Stats shows session, month, and lifetime cost with links to Google AI Studio billing.

Is Caption Caddie available on Windows or iPad?

No. Caption Caddie is a native macOS app built for Mac (macOS 15 or later). It is not available on Windows, Linux, iPad, or iPhone by design — built for the deadline Mac workflow sports photographers already run.

What are the system requirements?

macOS 15 or later and a Google Gemini API key for cloud AI detection and captioning. Photo Mechanic is optional for wire XMP stationery and code replacements when you already use it.

Where does my data go?

Rosters and matchups stay on your Mac. When cloud processing is enabled, images are sent to Google Gemini under your API key. Keys are stored in the macOS Keychain.

Can I import Photo Mechanic code replacement rosters?

Yes. Import rosters from Photo Mechanic text, CSV, JSON, or ESPN URLs. Export code replacements back to Photo Mechanic when needed.

Who built Caption Caddie?

Ross Harried of Second Crop Creative, a freelance sports photographer based in Wisconsin. Ross hates writing captions but loves solving problems, building things, and finding ways technology can help photographers instead of replacing them. He sees AI as a tool and an asset on deadline, not something to fear. His work has appeared in ESPN, The New York Times, Fox Sports, Forbes, and The Washington Post. He has been running Caption Caddie as a standalone app on his personal Mac since May 2026. It has picked up a lot of attention in media rooms, and fellow photographers keep asking when he will release it to the wild.

Requirements

Caption Caddie runs on Mac only (macOS 15 or later. Not available on Windows, Linux, iPad, or iPhone.

  • macOS 15 or later
  • Google Gemini API key (for cloud AI detection and captioning; you bring your own key and pay Google directly)
  • Photo Mechanic (optional — useful for wire XMP stationery and code replacements when you already use it)

Images are sent to Google Gemini under your account and API key when cloud processing runs. Caption Caddie does not resell AI credits. You pay Google directly, about 5 photos for a penny. Learn more in our privacy policy.

Ready for your next assignment on Mac?

Start 7-day free trial