Automator Script fails with certain image files

I have written an Automator QuickAction workflow
Image_MetaData.workflow.zip (50.9 KB)
that calls exiftool to list all the metadata in a file. The results of the call and then opened in a new TextEdit document. The shortcut is useful and has worked well but today I found a jpeg file that consistently returns a blank TextEdit document.

I have confirmed that the file does contain metadata and that the shell script works when run in the Terminal with the full file path.

Starting with the Terminal command that is working:

% exiftool -a -G1 -s  /Volumes/Images_Disc_02_Master/Photo_Library_raw/2024/2024-11/2024-11-07-132933-OM570020.JPG

This returns the following to the Terminal:

[System]        FileName                        : 2024-11-07-132933-OM570020.JPG
[System]        Directory                       : /Volumes/Images_Disc_02_Master/Photo_Library_raw/2024/2024-11
[System]        FileSize                        : 14 MB
[System]        FileModifyDate                  : 2025:02:09 09:25:38+00:00
[System]        FileAccessDate                  : 2025:02:09 10:21:17+00:00
[System]        FileInodeChangeDate             : 2025:02:09 09:54:45+00:00
[System]        FilePermissions                 : -rw-r--r--
[File]          FileType                        : JPEG
[File]          FileTypeExtension               : jpg
[File]          MIMEType                        : image/jpeg
[File]          ExifByteOrder                   : Little-endian (Intel, II)
[File]          CurrentIPTCDigest               : d8a8f055fcb61e817e93cc19b01b6d27
[File]          ImageWidth                      : 5184
[File]          ImageHeight                     : 3888
[File]          EncodingProcess                 : Baseline DCT, Huffman coding
[File]          BitsPerSample                   : 8
[File]          ColorComponents                 : 3
[File]          YCbCrSubSampling                : YCbCr4:2:2 (2 1)
[IFD0]          ImageDescription                : Walking break in Grasmere November 2024.   Solo walk (Karena was in bed with a sore throat) towards Elterwater.  Met Youtuber and photographer Nigel Danson on the hill taking shots in the mist and low cloud.
[IFD0]          Make                            : OM Digital Solutions
[IFD0]          Model                           : OM-5
[IFD0]          Orientation                     : Rotate 90 CW
[IFD0]          XResolution                     : 350
[IFD0]          YResolution                     : 350
[IFD0]          ResolutionUnit                  : inches
[IFD0]          Software                        : Version 1.1
[IFD0]          ModifyDate                      : 2024:11:07 13:29:33
[IFD0]          Artist                          : Simon Knight
[IFD0]          YCbCrPositioning                : Co-sited
[IFD0]          Rating                          : 0
[IFD0]          Copyright                       : © Simon Knight 2024
[ExifIFD]       ExposureTime                    : 1/60
[ExifIFD]       FNumber                         : 5.6
[ExifIFD]       ExposureProgram                 : Aperture-priority AE
[ExifIFD]       ISO                             : 2000
[ExifIFD]       SensitivityType                 : Standard Output Sensitivity
[ExifIFD]       ExifVersion                     : 0231
[ExifIFD]       DateTimeOriginal                : 2024:11:07 13:29:33
[ExifIFD]       CreateDate                      : 2024:11:07 13:29:33
[ExifIFD]       OffsetTime                      : +00:00
[ExifIFD]       OffsetTimeOriginal              : -00:00
[ExifIFD]       OffsetTimeDigitized             : +00:00
[ExifIFD]       ComponentsConfiguration         : Y, Cb, Cr, -
[ExifIFD]       ExposureCompensation            : -0.3
[ExifIFD]       MaxApertureValue                : 4.0
[ExifIFD]       MeteringMode                    : Multi-segment
[ExifIFD]       LightSource                     : Unknown
[ExifIFD]       Flash                           : On, Did not fire
[ExifIFD]       FocalLength                     : 12.0 mm
[ExifIFD]       UserComment                     : 
[ExifIFD]       AmbientTemperature              : -0 C
[ExifIFD]       Pressure                        : 0
[ExifIFD]       WaterDepth                      : -0
[ExifIFD]       Acceleration                    : 0
[ExifIFD]       FlashpixVersion                 : 0100
[ExifIFD]       ColorSpace                      : sRGB
[ExifIFD]       ExifImageWidth                  : 5184
[ExifIFD]       ExifImageHeight                 : 3888
[ExifIFD]       FileSource                      : Digital Camera
[ExifIFD]       CustomRendered                  : Normal
[ExifIFD]       ExposureMode                    : Manual
[ExifIFD]       WhiteBalance                    : Auto
[ExifIFD]       DigitalZoomRatio                : 1
[ExifIFD]       SceneCaptureType                : Standard
[ExifIFD]       GainControl                     : High gain up
[ExifIFD]       Contrast                        : Normal
[ExifIFD]       Saturation                      : Normal
[ExifIFD]       Sharpness                       : Normal
[ExifIFD]       LensInfo                        : 12-45mm f/4
[ExifIFD]       LensModel                       : OM 12-45mm F4.0
[Olympus]       SpecialMode                     : Normal, Sequence: 0, Panorama: (none)
[Olympus]       CameraID                        : OM SYSTEM CAMERA
[Olympus]       EquipmentVersion                : 0100
[Olympus]       CameraType2                     : OM-5
[Olympus]       SerialNumber                    : BJOA16846
[Olympus]       InternalSerialNumber            : 4233401001293000
[Olympus]       FocalPlaneDiagonal              : 21.6 mm
[Olympus]       BodyFirmwareVersion             : 1.100
[Olympus]       LensType                        : Olympus M.Zuiko Digital ED 12-45mm F4.0 Pro
[Olympus]       LensSerialNumber                : 34CA47411
[Olympus]       LensModel                       : OM 12-45mm F4.0
[Olympus]       LensFirmwareVersion             : 1.000
[Olympus]       MaxApertureAtMinFocal           : 4.0
[Olympus]       MaxApertureAtMaxFocal           : 4.0
[Olympus]       MinFocalLength                  : 12
[Olympus]       MaxFocalLength                  : 45
[Olympus]       MaxAperture                     : 4.1
[Olympus]       LensProperties                  : 0xc140
[Olympus]       Extender                        : None
[Olympus]       ExtenderSerialNumber            : 
[Olympus]       ExtenderModel                   : 
[Olympus]       ExtenderFirmwareVersion         : 0
[Olympus]       ConversionLens                  : 
[Olympus]       FlashType                       : None
[Olympus]       FlashModel                      : None
[Olympus]       FlashFirmwareVersion            : 0
[Olympus]       FlashSerialNumber               : 
[Olympus]       CameraSettingsVersion           : 0100
[Olympus]       PreviewImageValid               : Yes
[Olympus]       PreviewImageStart               : 13488256
[Olympus]       PreviewImageLength              : 147869
[Olympus]       ExposureMode                    : Aperture-priority AE
[Olympus]       AELock                          : Off
[Olympus]       MeteringMode                    : ESP
[Olympus]       ExposureShift                   : 0
[Olympus]       MacroMode                       : Off
[Olympus]       FocusMode                       : MF; S-AF, MF, Imager AF
[Olympus]       FocusProcess                    : AF Used; 64
[Olympus]       AFSearch                        : Ready
[Olympus]       AFAreas                         : (118,119)-(137,136)
[Olympus]       AFPointSelected                 : (66%,63%) (66%,63%)
[Olympus]       AFFineTune                      : Off
[Olympus]       AFFineTuneAdj                   : 0 0 0
[Olympus]       FocusBracketStepSize            : 0
[Olympus]       AISubjectTrackingMode           : Off; Object Not Found
[Olympus]       FlashMode                       : Fill-in
[Olympus]       FlashExposureComp               : 0
[Olympus]       FlashRemoteControl              : Off
[Olympus]       FlashControlMode                : Off; 0; 0; 0
[Olympus]       FlashIntensity                  : n/a (x4)
[Olympus]       ManualFlashStrength             : n/a (x4)
[Olympus]       WhiteBalance2                   : Auto
[Olympus]       WhiteBalanceTemperature         : Auto
[Olympus]       WhiteBalanceBracket             : 0 0
[Olympus]       CustomSaturation                : 0 (min -5, max 5)
[Olympus]       ModifiedSaturation              : Off
[Olympus]       ContrastSetting                 : 0 (min -5, max 5)
[Olympus]       SharpnessSetting                : 0 (min -5, max 5)
[Olympus]       ColorSpace                      : sRGB
[Olympus]       SceneMode                       : Standard
[Olympus]       NoiseReduction                  : Auto
[Olympus]       DistortionCorrection            : Off
[Olympus]       ShadingCompensation             : Off
[Olympus]       CompressionFactor               : 2.7
[Olympus]       Gradation                       : Normal; User-Selected
[Olympus]       PictureMode                     : Natural; 2
[Olympus]       PictureModeSaturation           : 0 (min -2, max 2)
[Olympus]       PictureModeContrast             : 0 (min -2, max 2)
[Olympus]       PictureModeSharpness            : 0 (min -2, max 2)
[Olympus]       PictureModeBWFilter             : n/a
[Olympus]       PictureModeTone                 : n/a
[Olympus]       NoiseFilter                     : Standard
[Olympus]       ArtFilter                       : Off; 0; 0; 0
[Olympus]       PictureModeEffect               : Standard
[Olympus]       ToneLevel                       : Highlights; 0; -7; 7; Shadows; 0; -7; 7; Midtones; 0; -7; 7; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0
[Olympus]       ArtFilterEffect                 : Off; 0; 0; Partial Color 0; No Effect; 0; No Color Filter; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0
[Olympus]       ColorCreatorEffect              : Color 0; 0; 29; Strength 0; -4; 3
[Olympus]       MonochromeProfileSettings       : No Filter; 0; 8; Strength 2; 0; 3
[Olympus]       FilmGrainEffect                 : Off
[Olympus]       ColorProfileSettings            : Min -5; Max 5; Yellow 0; Orange 0; Orange-red 0; Red 0; Magenta 0; Violet 0; Blue 0; Blue-cyan 0; Cyan 0; Green-cyan 0; Green 0; Yellow-green 0
[Olympus]       MonochromeVignetting            : 0
[Olympus]       MonochromeColor                 : (none)
[Olympus]       DriveMode                       : Single Shot
[Olympus]       PanoramaMode                    : Off
[Olympus]       ImageStabilization              : On, Mode 4
[Olympus]       StackedImage                    : No
[Olympus]       ManometerPressure               : 0 kPa
[Olympus]       ManometerReading                : -999.9 m, -999.9 ft
[Olympus]       ExtendedWBDetect                : Off
[Olympus]       RollAngle                       : 2.4
[Olympus]       PitchAngle                      : -0.4
[Olympus]       DateTimeUTC                     : 2024:11:07 13:29:33
[Olympus]       RawDevVersion                   : 0100
[Olympus]       RawDevExposureBiasValue         : 0
[Olympus]       RawDevWhiteBalanceValue         : 0
[Olympus]       RawDevWBFineAdjustment          : 0
[Olympus]       RawDevGrayPoint                 : 0 0 0
[Olympus]       RawDevSaturationEmphasis        : 0 0 0
[Olympus]       RawDevMemoryColorEmphasis       : 0
[Olympus]       RawDevContrastValue             : 0 0 0
[Olympus]       RawDevSharpnessValue            : 0 0 0
[Olympus]       RawDevColorSpace                : sRGB
[Olympus]       RawDevEngine                    : High Speed
[Olympus]       RawDevNoiseReduction            : (none)
[Olympus]       RawDevEditStatus                : Original
[Olympus]       RawDevSettings                  : (none)
[Olympus]       ImageProcessingVersion          : 0112
[Olympus]       WB_RBLevels                     : 478 520 256 256
[Olympus]       ColorMatrix                     : 380 -88 -36 -52 356 -48 2 -72 326
[Olympus]       BlackLevel2                     : 256 257 257 256
[Olympus]       GainBase                        : 256
[Olympus]       CropLeft                        : 12 0
[Olympus]       CropTop                         : 12 0
[Olympus]       CropWidth                       : 5184
[Olympus]       CropHeight                      : 3888
[Olympus]       SensorCalibration               : 4095 290
[Olympus]       NoiseReduction2                 : (none)
[Olympus]       DistortionCorrection2           : Off
[Olympus]       ShadingCompensation2            : Off
[Olympus]       MultipleExposureMode            : Off; 1
[Olympus]       AspectRatio                     : 4:3
[Olympus]       AspectFrame                     : 0 0 5183 3887
[Olympus]       FacesDetected                   : 0 0 0
[Olympus]       FaceDetectArea                  : (Binary data 383 bytes, use -b option to extract)
[Olympus]       MaxFaces                        : 8 8 0
[Olympus]       FaceDetectFrameSize             : 0 0 0 0 0 0
[Olympus]       FaceDetectFrameCrop             : 0 0 0 0 0 0 0 0 0 0 0 0
[Olympus]       CameraTemperature               : 1
[Olympus]       KeystoneCompensation            : Off
[Olympus]       FocusInfoVersion                : 0100
[Olympus]       SceneDetect                     : 0
[Olympus]       ZoomStepCount                   : 0
[Olympus]       FocusStepCount                  : 5541
[Olympus]       FocusStepInfinity               : 5479
[Olympus]       FocusStepNear                   : 6457
[Olympus]       FocusDistance                   : 0.84 m
[Olympus]       AFPoint                         : 0
[Olympus]       AFPointDetails                  : No Subject Detection; Face Priority; AF on Half Press; No Eye-AF; No Face Detection; With MF; Release Priority; No Object found; S-AF
[Olympus]       ExternalFlash                   : Off
[Olympus]       ExternalFlashBounce             : Bounce or Off
[Olympus]       ExternalFlashZoom               : 0
[Olympus]       InternalFlash                   : Off
[Olympus]       ManualFlash                     : Off
[Olympus]       MacroLED                        : Off
[Olympus]       SensorTemperature               : 23 23 0 C
[Olympus]       PreviewImage                    : (Binary data 147869 bytes, use -b option to extract)
[InteropIFD]    InteropIndex                    : R98 - DCF basic file (sRGB)
[InteropIFD]    InteropVersion                  : 0100
[GPS]           GPSVersionID                    : 2.2.0.0
[GPS]           GPSLatitudeRef                  : North
[GPS]           GPSLatitude                     : 54 deg 26' 46.44"
[GPS]           GPSLongitudeRef                 : West
[GPS]           GPSLongitude                    : 3 deg 1' 38.76"
[GPS]           GPSAltitudeRef                  : Above Sea Level
[GPS]           GPSAltitude                     : 117 m
[GPS]           GPSTimeStamp                    : 13:29:33
[GPS]           GPSSpeedRef                     : mph
[GPS]           GPSSpeed                        : 0
[GPS]           GPSDateStamp                    : 2024:11:7?
[IFD1]          Compression                     : JPEG (old-style)
[IFD1]          XResolution                     : 72
[IFD1]          YResolution                     : 72
[IFD1]          ResolutionUnit                  : inches
[IFD1]          ThumbnailOffset                 : 25184
[IFD1]          ThumbnailLength                 : 7709
[IFD1]          ThumbnailImage                  : (Binary data 7709 bytes, use -b option to extract)
[XMP-x]         XMPToolkit                      : XMP Core 5.6.0
[XMP-exif]      GPSSpeedRef                     : mph
[XMP-exif]      GPSSpeed                        : 0
[XMP-exif]      GPSDateTime                     : 2024:11:22 13:4294967325:33Z
[XMP-exif]      GPSLatitude                     : 54 deg 26' 46.44" N
[XMP-exif]      GPSLongitude                    : 3 deg 1' 38.76" W
[XMP-exif]      GPSAltitudeRef                  : Above Sea Level
[XMP-exif]      GPSAltitude                     : 117 m
[XMP-exif]      DateTimeOriginal                : 2024:11:07 13:29:33+00:00
[XMP-photoshop] Headline                        : Does this get written to Jpeg now I have ticked embed iptc?
[XMP-photoshop] TransmissionReference           : OM570020.ORF
[XMP-photoshop] DateCreated                     : 2024:11:07 13:29:33+00:00
[XMP-xmpRights] Marked                          : True
[XMP-xmpRights] UsageTerms                      : All rights reserved
[XMP-xmp]       CreateDate                      : 2024:11:07 13:29:33+00:00
[XMP-xmp]       Rating                          : 0
[XMP-photomech] ColorClass                      : 0 (None)
[XMP-photomech] Tagged                          : No
[XMP-photomech] Prefs                           : Tagged:0, ColorClass:0, Rating:0, FrameNum:000020
[XMP-photomech] PMVersion                       : PM6
[XMP-aux]       ImageNumber                     : 20
[XMP-plus_1_]   ImageCreatorImageCreatorName    : Simon Knight
[XMP-dc]        Subject                         : Holiday, Lake District, Landscape, low visibilty
[XMP-dc]        Description                     : Walking break in Grasmere November 2024.   Solo walk (Karena was in bed with a sore throat) towards Elterwater.  Met Youtuber and photographer Nigel Danson on the hill taking shots in the mist and low cloud.
[XMP-dc]        Creator                         : Simon Knight
[XMP-dc]        Rights                          : © Simon Knight 2024
[XMP-iptcCore]  CreatorAddress                  : Anvic House,.Gunthorpe
[XMP-iptcCore]  CreatorCity                     : DONCASTER
[XMP-iptcCore]  CreatorPostalCode               : DN9 1BQ
[XMP-iptcCore]  CreatorCountry                  : U.K
[XMP-iptcCore]  CreatorWorkEmail                : smk@anvic.net
[Photoshop]     XResolution                     : 300
[Photoshop]     DisplayedUnitsX                 : inches
[Photoshop]     YResolution                     : 300
[Photoshop]     DisplayedUnitsY                 : inches
[Photoshop]     CopyrightFlag                   : True
[IPTC]          CodedCharacterSet               : UTF8
[IPTC]          ApplicationRecordVersion        : 3
[IPTC]          DateCreated                     : 2024:11:07
[IPTC]          TimeCreated                     : 13:29:33+00:00
[IPTC]          Keywords                        : Holiday, Lake District, Landscape, low visibilty
[IPTC]          By-line                         : Simon Knight
[IPTC]          Caption-Abstract                : Walking break in Grasmere November 2024.   Solo walk (Karena was in bed with a sore throat) towards Elterwater.  Met Youtuber and photographer Nigel Danson on the hill taking shots in the mist and low cloud.
[IPTC]          Headline                        : Does this get written to Jpeg now I have ticked embed iptc?
[IPTC]          OriginalTransmissionReference   : OM570020.ORF
[IPTC]          CopyrightNotice                 : © Simon Knight 2024
[IPTC]          Prefs                           : Tagged:0, ColorClass:0, Rating:0, FrameNum:000020
[Composite]     Aperture                        : 5.6
[Composite]     BlueBalance                     : 2.03125
[Composite]     ImageSize                       : 5184x3888
[Composite]     Megapixels                      : 20.2
[Composite]     RedBalance                      : 1.867188
[Composite]     ScaleFactor35efl                : 2.0
[Composite]     ShutterSpeed                    : 1/60
[Composite]     SubSecCreateDate                : 2024:11:07 13:29:33+00:00
[Composite]     SubSecDateTimeOriginal          : 2024:11:07 13:29:33-00:00
[Composite]     SubSecModifyDate                : 2024:11:07 13:29:33+00:00
[Composite]     GPSAltitude                     : 117 m Above Sea Level
[Composite]     GPSDateTime                     : 2024:11:7? 13:29:33Z
[Composite]     GPSLatitude                     : 54 deg 26' 46.44" N
[Composite]     GPSLongitude                    : 3 deg 1' 38.76" W
[Composite]     DateTimeCreated                 : 2024:11:07 13:29:33+00:00
[Composite]     ExtenderStatus                  : Not attached
[Composite]     GPSLatitudeRef                  : North
[Composite]     GPSLongitudeRef                 : West
[Composite]     CircleOfConfusion               : 0.015 mm
[Composite]     DOF                             : 1.06 m (0.57 - 1.62 m)
[Composite]     FOV                             : 72.9 deg (1.24 m)
[Composite]     FocalLength35efl                : 12.0 mm (35 mm equivalent: 24.0 mm)
[Composite]     GPSPosition                     : 54 deg 26' 46.44" N, 3 deg 1' 38.76" W
[Composite]     HyperfocalDistance              : 1.71 m
[Composite]     LensID                          : Olympus M.Zuiko Digital ED 12-45mm F4.0 Pro
[Composite]     LightValue                      : 6.6

When the exiftool command is run in Automator it has to be modified to :

/usr/local/bin/exiftool -a -G1 -s "$@"

with the Run Shell Script action set the Pass input as arguments

The work flow is set to receive image files in Finder.app. The problem is most likely happening at with the passing to filepath to exiftool i.e. “$@” . I believe that this causes exiftool to loop through a list of file paths. Note I am only running the workflow on a single file.

If I change “$@” to “‘$@’” then a file not found error is reported; listing the filepath inside single quotes. This suggests that tha correct filepath is being passed and that any errors get reported.

With “‘$@’” reset to “$@” I tried placing echo before the exiftool command i.e.

this returns:

/usr/local/bin/exiftool -a -G1 -s /Volumes/Images_Disc_02_Master/Photo_Library_raw/2024/2024-11/2024-11-07-132933-OM570020.JPG
in TextEdit and if this command is copy and pasted into Terminal then run it works as expected. This jpeg path ending OM570020.JPG has siblings named OM570019.JPG, OM570021.JPG and so on and the workflow works as expected on these.

The other exiftool commands perform the following:

-a extracts all metadata from file
-G1 group names - organises the output into family groups
-s short output format

Any idea how I should debug this QuickAction workflow?
best wishes

S

Whether you select one or more images from the Finder, you still want a loop to get each image from the list of command line arguments “${@}”. This was tested on macOS 15.3.

Try this:

1 Like

Apparently, $@ is what the service passes to the run shell script action, and it contains the paths of any selected image files.

You then use ‘f’ and ‘$f’ (the formet to ‘set’, the latter to ‘get’) to loop through the items being passed, even if there is only one item. If you have two or more images selected, then the resulting text file will stack the exiftool output for every file.

The single quote « ' » protects the quoted text —in this case the variable— from being expanded by the shell, instead treating it as literal text (ie the two punctuation characters).

Using double quotes « " » allows the shell to expand or dereference the variable (thus passing on the file paths) but treats each path as a single entity, so that it won’t treat a ‘space’ as the end of a path. You could actually forego the use of any quotes and it would still work if the path had zero spaces (or other such characters). It’s generally safer and wiser to just use double quotes.

I should note that my understanding of the intricacies of the shell is finite so there will likely be better explanations out there.

for f in "$@"; do
    /usr/local/bin/exiftool -a -G1 -s "$f"
done

Thank you both for having a look. Unfortunately the updated shell script performs in exactly the same way i.e. it fails silently with just the one jpeg. Both versions work when applied to other jpeg files or with multiple jpeg files or multiple image files. Of slight interest if the jpeg that causes the workflow to fail is included in a selection of images then nothing is returned.

Here is a zipped up copy of the image. Dropbox

thanks for looking.

Works for me whether it is selected alone or with other files.

File doesn’t seem to be corrupt or anything.

Maybe a reboot will help.

By the way, the @VikingOSX solution and my own are essentially the same thing. His adds two blank lines at the end of exiftool’s output so as to create space when multiple files are selected. I thought about that but couldn’t think of a good way to do so but his method is straightforward.

By the way, it might be worth editing your original post to put it in the ‘automator’ category, or at least add a tag.

TextEdit does a horrible job of text formatting and to spare your eyesight, I suggest you take advantage of UNIX and redirect the appended (>>) text output of exiftool to a text file on your Desktop. The output formatting remains the same as if you ran exiftool in the Terminal.

Instead of TextEdit, install the free BBEdit text editor that retains the exact formatting as seen in that text file. BBEdit is available for free in the Mac App Store, or the vendor site. There is an in-app purchase option for the Mac App Store version, and it may just work in a functional trial period at which time it becomes a less featured, but free application.

Here is the revision to the Run Shell Script:

for f in "$@"
do
	/usr/local/bin/exiftool -a -s -G1 "${f}" >> ~/Desktop/out.txt
	printf '\n\n' >> ~/Desktop/out.txt
done

I tested it with only your JPG image and then with a mixture of camera RAW and JPG images and it worked fine.

As Mockman observed, this does insert white space between each Exiftool image output.

Simon moved this thread to the Automator forum, so I thought it best if I moved my suggestion to the Shortcuts forum.

Thanks again for taking a look at the jpeg file and offering sound advice. The one jpeg is still producing an empty output even when I download it myself following a reboot. I shall park it and decide that its just one of those things; hardly satisfactory but its not important enough to spend any more time on it. Although I will try peavine’s shortcut on my copy.

I believe I have moved this thread to the Automator section and given it an Automator tag.

best wishes
Simon

Weirdly, I downloaded the image and encountered the same exact behaviour. Then I modified the shell script a little:

for i in "$@"
do
/usr/local/bin/exiftool -a -G1 -s "$i" | iconv -t UTF-8//IGNORE
done

And it works, at least on my computer. Somewhere in the exiftool output there’s an unsupported character that causes the problem. So I piped it to the iconv command that removes any unsupported characters. Looking at the exiftool output, this is the problematic line:

[GPS]           GPSDateStamp                    : 2024:11:7Ë

Out of curiosity, what happens if you take a copy of that image and crop it and then export it? Does that affect how it is handled by the service?