macOS-exclusive · AI captioning for sports photographers

Caption Caddie

A native Mac app for wire shooters. Auto-caption sports photos with roster-aware AI, merge your Photo Mechanic wire XMP templates, write IPTC/XMP to your files, and FTP. Bring your own Google Gemini API key and pay Google about 5 photos for a penny, not a bundled AI subscription.

macOS exclusive AI sports captions Photo Mechanic workflow Wire IPTC/XMP 5 photos ≈ 1¢

Watch Caption Caddie work

From ESPN schedule import to roster-aware AI captions. See the full workflow in action.

See Caption Caddie in action

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

Session: AI caption review before write-back

Where Caption Caddie fits in your workflow

You already have a stack that works. Caption Caddie is not trying to replace Photo Mechanic, tethering, or FTP. It is the focused final caption step, after you cull, crop, and edit, before you transmit to the wire.

  1. ShootTether or ingest cards
  2. Photo MechanicCull, crop, edit, apply wire XMP
  3. Caption CaddieAI auto caption, review, write IPTC/XMP
  4. FTPTransmit to wire client

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 captioning 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.

AI sports captioning, focused

Automated sports photo captioning with per-frame review. Photo Mechanic ready roster codes, wire XMP merge, and built-in IPTC/XMP write-back, so your captions are ready before FTP.

Auto caption sports photos

Drag-and-drop, watch folder, or File → Import. Jersey numbers via Apple Vision and Google Gemini, with team routing by jersey color.

Roster-aware AI captions

Import rosters from CSV, JSON, Photo Mechanic text, or ESPN URLs. Matchups and events give AI the game context it needs.

Wire-ready AP, Getty, Imagn

Generate captions in wire styles. Patch AI text into your existing PM wire XMP template fields: dateline, credit, and keywords stay intact.

Beyond jersey numbers

Supplemental metadata guides golf and other non-jersey sports. Track & field bibs are read from the image when names or numbers are visible.

Photo Mechanic-first

Code replacement import and export. Your PM wire XMP stays on the file. Caption Caddie adds the AI caption body.

IPTC/XMP write-back

Human Review or auto-write modes. Metadata written directly to your images, ready for your FTP workflow.

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

Three steps from matchup setup to wire-ready captions on your files.

  1. Connect Gemini

    Add your Google Gemini API key in Settings, stored in the macOS Keychain. You pay Google directly, about 5 photos for a penny (~$4 for ~2,400 images in testing).

  2. Set up matchups

    Create a matchup or news event, attach rosters, and set jersey colors for team routing.

  3. Caption, review, write, FTP

    Import edited images from Photo Mechanic. Review AI captions, write IPTC/XMP with ⌘↩, then transmit.

Frequently asked questions

Does Caption Caddie replace Photo Mechanic?

No. Caption Caddie is the final caption step after you cull, crop, and edit in Photo Mechanic, right before FTP. It works with your existing PM workflow, code replacements, and wire XMP templates.

What caption styles does Caption Caddie support?

AP, Getty Images, and Imagn wire styles. 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 before writing to IPTC/XMP.

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

No, and that is intentional. Caption Caddie focuses on doing AI sports captioning exceptionally well. Culling, editing, tethering, and FTP stay in the tools you already use.

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, so it fits the Photo Mechanic and wire FTP workflow sports photographers use on Mac.

What are the system requirements?

macOS 15 or later and a Google Gemini API key for cloud AI detection and captioning. Photo Mechanic is recommended for culling, editing, and wire XMP templates.

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 (recommended for culling, editing, and wire XMP templates)

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 to auto-caption your next assignment on Mac?

Join the macOS waitlist