Capture One: EXIF Automation

I was looking for a way to get the METADATA fields of files that are resident in a sessions “Capture” folder filled by variables from the image’s path.

I’m familiar with Capture One’s token system but at this moment this specific function is missing:
It’s impossible to use the “Document token” (or any other one) to write METADATA fields.

Before you continue:

I expect you to have some knowledge of what’s coming next and I won’t be helt responsible for any problems that might occur.

This article’s purpose is to help you with the first steps.
I advise you to create a test session before using your originals and be careful when modifying the command.

This article is not complete yet and will be modified / improved over time.
Anyway: good luck!

1: The Objective

The structure of my session disk:

Diskname:/
– /Projects 2018
– – /Session Name
– – – /Capture
– – – – Filename.ext
– – – – Filename.ext
– – – – Filename.ext
– – – /Output
– – – /Selects
– – – /Trash

In my case I want to use Session Name in the Title field and Filename in the Description field.

2: Time to get creative, meet ExifTool

The magic will be performed by ExifTool , which you can download here.

For now I’m not going deeper into the possibilities, let’s stick to the subject.
There’s also a lot more documentation and of course more information can be found on the user forums.

With some help of Phil and Stargeek I’ve written a script that will fill some EXIF/IPTC fields.

  1. Download ExifTool and place it in C:/EXIF/
  2. Create a new session
  3. Open the session’s directory, you’ll see the four sub directories
  4. Create an empty txt file
  5. Rename the extension from txt to bat
  6. Now right-click and select edit
  7. Paste the code below into the file
  8. Save and close the file
  9. Get ready for some magic, 

This command is written for Windows, so you’ll have to use
slashes /
doublequotes ” 

3: The magic

C:/EXIF/exiftool.exe -m -overwrite_original -all= "-Title<${FilePath;$_=(split m(/),$_)[-3]}" "-ImageDescription<PHOTOS OF ${FilePath;$_=(split m(/),$_)[-3]} BY ME" "-Writer-Editor=ME" "-SubjectReference<${filename;s/.[^.]*$//}" -rights="ME, ALL RIGHTS RESERVED" "-by-line=ME" "-credit=ME" "-CopyrightNotice=ALL RIGHTS RESERVED BY ME" "-source=ME.COM" -api "Filter=$_=uc" Capture/ -ext *
FieldExplanation
C:/EXIF/exiftool.exe Location of the executable
-m Don't display messages
-overwrite_original Don't create copies
-all= Clean all existing tags
"-Title<${FilePath;$_=(split m(/),$_)[-3]}" Create Title from the directory's name three levels up:Session Name
"-ImageDescriptionCreate description from the directory's name three levels up and add some text:Session Name by ME
"-Writer-Editor=ME" "-SubjectReference<${filename;s/\.[^.]*$//}"Create Creator from the filename minus extension: Filename
-rights="ME, ALL RIGHTS RESERVED" Create rights:ME, ALL RIGHTS RESERVED
"-by-line=ME" Create by-line:ME
"-credit=ME"Create credits: ME
"-CopyrightNotice=ALL RIGHTS RESERVED BY ME" Create copyright: ALL RIGHTS RESERVED BY ME
"-source=ME.COM" Create source: ME.COM
-api "Filter=$_=uc" Set letter case to UPPER
Capture/ Directory where you want to modify the files in
-ext *Filter by extension, in this case * because there are also .xmp files involved (use -ext DNG to filter)