File Management

One Shortcode, Two IPTC Fields: Multi-Column TSV Strategy

May 22, 2026
Back to Blog

One Shortcode, Two IPTC Fields: Multi-Column TSV Strategy

You finish a D1 basketball game with 150 frames on deliver. Click into the IPTC Caption field on the first action shot. The wire desk's format needs the full long form: "Joe Smith #18 of Riverdale Wolves drives past Central Hawks defender Jordan Wright #15 during the second half." Move one tab over to the IPTC Person Shown field. That one wants just "Joe Smith." Same player. Same code, in theory. If your TSV has the right columns.

SnapCaption builds TSVs with up to six columns, with each one mapping the same shortcode to a different output format. Photo Mechanic reads them with simple column-index syntax. Multi-column TSV setup is what lets one player shortcode populate two IPTC fields with the right text in each.

Key Takeaways
  • ✓ IPTC Caption (description) field wants the long form: player name plus jersey number plus team.
  • ✓ IPTC Person Shown field wants just the player's name.
  • ✓ SnapCaption builds TSVs with two to six columns, each holding a different output format for the same shortcode.
  • ✓ Photo Mechanic's =shortcode#N= syntax pulls from Column N, so the same code returns different text depending on which column you reference.
  • ✓ One column preset configured once handles game downloads for the rest of the season.

What IPTC Wants in Each Field

IPTC Caption, also called the description field, wants the full who and what and where. The wire format expects something like "Joe Smith #18 of Riverdale Wolves drives past Central Hawks defender Jordan Wright #15 during the second half." Player plus jersey plus team, both sides, plus the game-state context the editor adds on top.

IPTC Person Shown is a different beast. Some IPTC viewers call it Personality. The field wants just the player's name: "Joe Smith." That's it. The data feeds face-indexing downstream tools and search systems that look up photos by person, not by descriptive sentence.

IPTC Headline is a third format. Short, verb-driven, attention-grabbing for a gallery preview. "Smith drives" works. So does "Wolves up by 12." Different shape than Caption, different shape than Person Shown.

The same TSV roster has to feed all three fields with different player formats. Manually retyping the player name in three formats for each frame doesn't scale across a 150-frame game. Multi-column TSV setup is the fix. The full workflow for loading the TSV into Photo Mechanic code replacement stays unchanged.

Caption field wants "Joe Smith #18 of Riverdale Wolves." Person field wants "Joe Smith." Same player, two outputs, one shortcode.

Building Multi-Column TSVs in SnapCaption

SnapCaption supports two to six columns per roster file. The first column always holds the shortcode itself. The rest are replacement formats you choose.

Column A always holds the shortcode: h18. The h prefix marks home team. The 18 is the jersey number. Column B is the first replacement, typically the short form: "Joe Smith." Column C is the second replacement, typically the long form: "Joe Smith #18 of Riverdale Wolves." Add more columns for position only, team only, or any custom format your outlet asks for. Up to six total columns per row.

The Custom Column Editor uses tokens for the format pattern. {first} {last} outputs the short form. {first} {last} #{jersey} of the {team} outputs the long form. Other tokens cover position, team only, and additional combinations. Pick the formats your IPTC fields need, configure them once, save as a preset.

Future downloads pull the same column structure automatically. The data inside refreshes, but the column layout stays put. For the broader prefix-and-number naming pattern that keeps home and away players from colliding, the Photo Mechanic shortcodes setup guide covers the structure.

One shortcode, multiple columns, multiple outputs. The IPTC fields get different formats from the same player code.

Using =h18= vs =h18#2= in Photo Mechanic

Photo Mechanic's code replacement supports column indexing. The default reads Column B. Numbered modifiers reach other columns. The syntax is a quiet feature that pays off once you set up multiple columns to point at.

Type =h18= and Photo Mechanic returns Column B. Using the example above, that's "Joe Smith" by itself. Type =h18#2= and Photo Mechanic returns Column C: "Joe Smith #18 of Riverdale Wolves." The #3, #4, and so on reach additional columns if you set them up. The shortcode is the same. The output changes with the column index.

Workflow at the edit desk: type =h18= in the IPTC Person Shown field. The name fills in. Tab into the IPTC Caption field. Type =h18#2=. The long form fills in. Same player code, two IPTC fields, two formats, no manual reformatting. The away team uses =v18= and =v18#2= with the same logic because the v prefix marks the visitor.

The shortcode and column structure stay constant across games. Only the data behind each column changes when the roster refreshes. SnapCaption's weekly roster refresh keeps each column current.

One Shortcode. Multiple IPTC Fields. Each in the Right Format.

SnapCaption builds multi-column TSVs that map each shortcode to the formats your IPTC fields expect. Person Shown gets the name. Caption gets the long form.

Set Up the Columns Once, Caption Faster Forever

The setup happens in SnapCaption's column editor before the first download of the season. Pick the formats your outlet or wire desk expects in each IPTC field. Short form for Person Shown. Long form for Caption. Add a third or fourth column if a specific outlet wants a different combination.

Save the preset. Re-download per game. The columns stay the same. The data refreshes. The typed shortcode in Photo Mechanic populates whichever IPTC field is active, with the right text in the right format.

Accurate rosters. Faster captions.

Frequently Asked Questions

How many columns can a SnapCaption TSV have?

Two to six. The first is always the shortcode itself. Columns two through six hold replacement formats: short form name, long form caption string, position only, team only, or any custom format you build with the Custom Column Editor.

How does Photo Mechanic know which column to read?

Default code references like =h18= return Column B (the first replacement column). Add a column index modifier to reach other columns: =h18#2= for Column C, =h18#3= for Column D, and so on. Same shortcode, different output per column.

Should the long form in Column C include the team name?

For wire desk captioning, yes. The standard caption format includes player name, jersey number, and team in a single string. The Custom Column Editor's {first} {last} #{jersey} of the {team} token pattern outputs that format automatically.

Does the column structure stay the same when I re-download for a new game?

Yes. The column configuration is saved as a preset on your SnapCaption account. Re-downloads use the same column structure. Only the player data inside each column refreshes.

Can I customize the long-form format for a specific outlet?

Yes. The Custom Column Editor lets you build any column format using the available tokens: {name}, {first}, {last}, {jersey}, {position}, {team}, {conf}. Save the result as a reusable template per outlet you cover.

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.