Captioning Workflow

Load a SnapCaption TSV Into GalleryID Desktop: One Pro Match, Card to Wire

August 28, 2026
Back to Blog

How a SnapCaption Roster Captioned a Pro Match From Card to Wire

Four cards came back from a professional soccer match. The largest one held 4,664 frames. The wire was waiting, and the names had to be right before anything moved.

Here's the part that made match day short: almost none of the roster work happened on match day. The SnapCaption template was already built. The only step before the whistle was adding the opponent and hitting export. Everything after that was captioning, and captioning went fast because the roster arrived before the photos did.

Key Takeaways
  • ✓ The template is the reusable part. Per match you add the opponent and export.
  • ✓ A SnapCaption TSV loads into GalleryID Desktop the same way it loads into any code replacement tool.
  • ✓ The largest card, 4,664 frames and 52 GB, came off in 1 minute 19 seconds.
  • ✓ Captioning ran at two to three shortcodes per image, with uncertain players confirmed one frame at a time.

Build the Template Once, Not Per Match

A SnapCaption template is a column layout: which roster values go into which caption fields, formatted the way your outlet wants them. You set that up one time. It doesn't change when the fixture changes.

So the match-day version of this job isn't building a roster. It's adding the opposing side to a template that already knows what a caption line should look like, then exporting. That's a minute of work, and it's the reason the rest of the night has room in it.

Export gives you a TSV. Tab-separated, one row per player, shortcode in the first column and the text it expands into after that.

Load the TSV Into GalleryID Desktop

Same file, different destination. GalleryID Desktop takes the SnapCaption TSV as a roster and binds it to the folder you're working in, so the shortcodes are live the moment the photos land. Subfolders inherit it, which matters when a match ends up split across a first half, a second half, and whatever you grabbed on the touchline afterward.

If you've loaded a SnapCaption file into Photo Mechanic's code replacement panel before, this will feel familiar. The difference is what happens after the code expands, which we'll get to.

The Card: 4,664 Frames in 1:19

The big card was 52 GB of Canon R3 JPEGs. It ingested in 1 minute 19 seconds, timed from the ingest click to the card ejecting, running over a CFexpress reader into a 15-inch MacBook Air (M4, 32 GB, macOS 26.5.2) on GalleryID Desktop 1.0.101. Token renaming, folder patterns and the metadata write are all inside that number, because the metadata gets spliced in as each destination file is written instead of in a second pass afterward.

Nothing analyzes the pictures while the card is copying. No recognition, no scanning, nothing competing for the machine. Ingest time is copy time, and the card frees up at the end of the copy rather than at the end of some longer process. Results vary with hardware, card, reader and file type, but the shape holds: the card comes off, and then you work.

Two or Three Shortcodes an Image

This is where the SnapCaption roster earns the whole setup. A soccer frame usually has more than one player worth naming, so captioning runs at roughly two to three shortcodes per image. Each one writes the player's name and the full caption line into the fields the template mapped, in one press. There's no separate long-form sentence to type and no template to reapply per photo.

Two to three presses is comfortably inside ten seconds an image. That's the whole trick, and it isn't a clever one. The roster was already right, so captioning is typing three short codes and moving to the next frame.

The Ones You're Not Sure About

There are always a couple. A player turned away from you, a number half hidden behind an arm, two athletes who look alike from forty yards out. On this card it was a handful of frames.

GalleryID Desktop has a button called Who Is This that runs MatchID, its facial recognition, against that one photo instead of a whole folder. Click it, get the suggested athlete, confirm, keep going. It's a lookup for a specific question rather than a batch job, and it's the reason the uncertain frames didn't turn into a research session.

Worth being clear about the division of labor here. SnapCaption isn't doing recognition, and it isn't trying to. It's the roster and the code replacement values. The recognition is a separate tool answering a narrower question when you ask it to.

Out to the Wire

Final edits, then FTP. The names are in IPTC and XMP inside the files before they leave, so nothing downstream has to rebuild a caption or re-key a name. What the wire receives is what was captioned.

Compared with the same volume before this workflow, the gap wasn't close. Most of that is the roster being ready and the captions writing into several fields at once instead of one field at a time.

A note if you skip the export. GalleryID can also pull rosters in directly, without a TSV in the middle. The export route in this post is for people who already live in SnapCaption, already have their templates the way they want them, and would rather keep building rosters where they build rosters. Both paths end at the same captioned file.

Frequently Asked Questions

Does a SnapCaption TSV work in GalleryID Desktop the same way it works in Photo Mechanic?

The file is the same and the shortcodes behave the same way. The difference is that GalleryID Desktop binds the roster to a folder rather than holding one active list, so opening a different match folder loads the right roster without swapping files.

Do I need headshots to caption from a SnapCaption roster?

No. Shortcodes from the roster write names and caption lines with no headshots involved at all. Headshots only come into it if you want facial recognition suggesting athletes for you, which is optional.

What do I do about a player I can't identify from the frame?

Who Is This runs recognition against that single photo and suggests the athlete from the roster bound to the folder. You confirm it or you don't. It's a one-frame question rather than a batch you have to sit through.

Do I have to export a TSV, or can rosters go straight in?

Rosters can be pulled into GalleryID directly, so the export isn't required. The TSV path suits anyone whose templates and formatting already live in SnapCaption and who wants to keep them there.

How many photos can realistically be captioned before a deadline?

It depends on how many players you name per frame. At two to three shortcodes an image, captioning is a few seconds of typing per photo, which is why the ingest speed matters. The card being ready in a minute is only useful if the captioning behind it keeps pace.

Related Posts

What SnapCaption Does

SnapCaption is a roster file generator for sports photographers. It creates TSV files compatible with Photo Mechanic, GalleryID Desktop, Adobe Bridge, and Capture One.