XMP Templates let you define default metadata values that are automatically applied to images when they're uploaded via FTP. Instead of manually entering the same credit line, copyright notice, or other fields for every image, you set them once in a template.
Templates support dynamic variables that are replaced with actual values. DeadlineFTP uses two variable formats:
$wiredate- Evaluates immediately when you type it (inserts current value)$$wiredate- Evaluates when the file is uploaded (uses image's capture date)
For compatibility reasons, DeadlineFTP will translate Photo Mechanic variables ({wiredate} in curly braces) to the equivalent $$wiredate format.
Auto-Apply on Upload
Metadata is applied automatically when images arrive via FTP. No manual intervention needed.
Per-Photographer Templates
Each photographer can have their own template with unique credit lines and settings.
Dynamic Variables
Insert dates, filenames, and other values that change automatically per image.
IPTC-Compatible
All standard IPTC/XMP metadata fields are supported and wire-service ready.
Use these variables in any XMP template field. Use $variable for immediate evaluation (current value) or $$variable for deferred evaluation (uses image's EXIF capture date when available, or current date as fallback).
Photo Mechanic syntax {variable} is also supported and behaves like $$variable.
Date Variables
| Immediate Variable | Delayed Variable | Description | Example Output |
|---|---|---|---|
$year4 |
$$year4 |
4-digit year | 2026 |
$year2 |
$$year2 |
2-digit year | 26 |
$month02 |
$$month02 |
2-digit month (zero-padded) | 01 |
$day02 |
$$day02 |
2-digit day (zero-padded) | 21 |
$date |
$$date |
ISO date format | 2026-01-21 |
$wiredate |
$$wiredate |
AP Style wire date format | Tuesday, Jan. 21, 2026 |
Time Variables
| Immediate Variable | Delayed Variable | Description | Example Output |
|---|---|---|---|
$hour24 |
$$hour24 |
2-digit hour, 24-hour format | 14 |
$minute |
$$minute |
2-digit minute | 35 |
$second |
$$second |
2-digit second | 22 |
$time24 |
$$time24 |
24-hour time format | 14:35:22 |
The $$wiredate variable follows Associated Press style for dates:
- Never abbreviated: March, April, May, June, July
- Abbreviated with period: Jan., Feb., Aug., Sept., Oct., Nov., Dec.
- Format: Day of week, Month Day, Year
File Variables
| Immediate Variable | Delayed Variable | Description | Example Output |
|---|---|---|---|
$filename |
$$filename |
Full filename with extension | IMG_1234.jpg |
$filenamebase |
$$filenamebase |
Filename without extension | IMG_1234 |
EXIF/Camera Variables
| Immediate Variable | Delayed Variable | Description | Example Output |
|---|---|---|---|
$iso |
$$iso |
ISO sensitivity | 400 |
$aperture |
$$aperture |
Aperture f-number | f/2.8 |
$shutterspeed |
$$shutterspeed |
Shutter speed | 1/500 |
$focallength |
$$focallength |
Focal length | 85mm |
$cameramake |
$$cameramake |
Camera manufacturer | Canon |
$cameramodel |
$$cameramodel |
Camera model | EOS R5 |
$lensid |
$$lensid |
Lens model | RF 85mm F2 MACRO IS STM |
$flash |
$$flash |
Flash mode | No Flash |
$wb |
$$wb |
White balance | Auto |
$expc |
$$expc |
Exposure compensation | +0.3 |
Image Dimension Variables
| Immediate Variable | Delayed Variable | Description | Example Output |
|---|---|---|---|
$width |
$$width |
Image width in pixels | 8192 |
$height |
$$height |
Image height in pixels | 5464 |
$megapixels |
$$megapixels |
Megapixels (calculated) | 44.7 |
$orientation |
$$orientation |
Image orientation | Horizontal |
GPS Variables
| Immediate Variable | Delayed Variable | Description | Example Output |
|---|---|---|---|
$gpslatitude |
$$gpslatitude |
GPS latitude | 40.7128 |
$gpslongitude |
$$gpslongitude |
GPS longitude | -74.0060 |
$gpsaltitude |
$$gpsaltitude |
GPS altitude | 10m |
Metadata Field Variables (reference existing image data)
These variables reference existing XMP/IPTC metadata already embedded in the uploaded image. Use them to build new fields from existing data (e.g., use $$caption in your headline field).
Note: Immediate variables ($variable) show placeholder text like "(Caption from existing image)" to indicate they reference image data. Delayed variables ($$variable) pull the actual values from uploaded images.
| Immediate Variable | Delayed Variable | Description | XMP Field |
|---|---|---|---|
$caption |
$$caption |
Caption/description text | dc:description |
$headline |
$$headline |
Headline | photoshop:Headline |
$credit |
$$credit |
Credit line | photoshop:Credit |
$creator |
$$creator |
Creator/photographer | dc:creator |
$copyright |
$$copyright |
Copyright notice | dc:rights |
$source |
$$source |
Source | photoshop:Source |
$city |
$$city |
City | photoshop:City |
$state |
$$state |
State/province | photoshop:State |
$country |
$$country |
Country | photoshop:Country |
$title |
$$title |
Title/object name | dc:title |
$keywords |
$$keywords |
Keywords | dc:subject |
$category |
$$category |
Category | photoshop:Category |
$instructions |
$$instructions |
Special instructions | photoshop:Instructions |
$jobid |
$$jobid |
Job/transmission reference | photoshop:TransmissionReference |
$urgency |
$$urgency |
Urgency level | photoshop:Urgency |
$persons |
$$persons |
Person(s) in image | Iptc4xmpExt:PersonInImage |
Metadata field variables read from the image's existing XMP data at upload time. Examples:
- Build headline from caption:
BREAKING: $$caption - Add photographer to credit:
Photo by $$creator for AP - Combine location fields:
$$city, $$state, $$country
These IPTC/XMP fields can be configured in templates and edited in the gallery. Organizations can choose which fields to enable.
Organization administrators control which XMP fields are available and the order they appear in the gallery. These settings apply to all users in the organization, ensuring a consistent captioning workflow across the team.
How Field Ordering Works
- Admins select fields - Choose which metadata fields are relevant for your workflow
- Admins set the order - Drag fields to arrange them in the order you want them to appear
- Order applies everywhere - The field order is consistent across desktop gallery, mobile gallery, and image edit modals
- All users see the same fields - Photographers and editors see the same fields in the same order
Put your most frequently edited fields first. For sports photography, you might order: Caption, Headline, Persons, City. For corporate events: Caption, Credit, Keywords, Special Instructions. This reduces scrolling and speeds up the captioning process.
Configuring Fields (Admin Only)
- Go to Organization Settings in the admin dashboard
- Select the XMP Template tab
- Use the checkboxes to enable or disable fields
- Drag fields to reorder them (drag handle on the left)
- Click Save Template to apply changes
Keep the field list short. Only enable fields your team actually uses. Fewer fields means faster captioning and less visual clutter in the gallery interface.
For Organization Admins
Organization-wide default templates are configured in the admin dashboard:
- Go to Organization Settings
- Select the XMP Template tab
- Enable the fields you want to use
- Enter default values for each field (use variables as needed)
- Click Save Template
For Individual Photographers
Each photographer can have their own template that overrides the organization defaults:
- Open the gallery and select a photographer from the dropdown
- Click the menu icon (three dots) in the header
- Select "Load XMP Data"
- Toggle "Auto-Apply Template" to enable automatic application
- Edit field values as needed
- Click Save
Use variables like $$wiredate in fields that should update per-image. Static text like copyright notices work well with $$year4 to always show the current year.
News/Wire Service Template
| Field | Template Value |
|---|---|
| Credit | AP Photo/John Smith |
| Copyright | Copyright $$year4 Associated Press. All rights reserved. |
| Source | Associated Press |
| City | Indianapolis |
| State | Indiana |
| Country | USA |
Sports Photography Template
| Field | Template Value |
|---|---|
| Credit | Getty Images/Jane Photographer |
| Copyright | $$year4 Getty Images |
| Category | SPO |
| Keywords | NFL, football, sports |
| Special Instructions | EDITORIAL USE ONLY |
Event Photography Template
| Field | Template Value |
|---|---|
| Credit | Photo by Sarah Jones for Acme Corp |
| Copyright | Copyright $$year4 Acme Corporation |
| Source | Acme Corporation |
| Headline | Acme Annual Conference $$year4 |
| Transmission Reference | ACME-CONF-$$date |
When Auto-Apply Template is enabled for a photographer, their XMP template is automatically applied to every image they upload via FTP. This happens instantly when the file arrives.
How Auto-Apply Works
- Image arrives via FTP from photographer's camera
- System checks if auto-apply is enabled for that photographer
- Template values are applied with variables replaced
- Image appears in gallery with metadata already filled in
Date variables like $$wiredate use the image's EXIF capture date when available. This means even if images are uploaded hours later, the metadata reflects when the photo was actually taken.
Changing a template only affects new uploads. Images already in the gallery keep their existing metadata. To update existing images, edit them individually in the gallery.
- Use variables for dates - Always use
$$year4or$$wiredateinstead of hardcoding years - Keep copyright consistent - Use the same copyright format across all photographers
- Set location fields - Pre-fill city/state/country if shooting at a known venue
- Use category codes - IPTC category codes (SPO, POL, FIN, etc.) help with wire service routing
- Leave caption empty - Captions are usually unique per image; fill them in the gallery with Quick Text
- Test before events - Upload a test image to verify template values look correct
- Document your templates - Keep a record of what variables you're using and why
Quick Text
Speed up captioning with keyboard shortcuts that expand into full text.
View Quick Text Guide →FTP Export
Export edited images with embedded XMP metadata to external FTP servers.
Contact Support →