PhotosImageMetadata

Photos MetadataMedia SEO

GoogleApi.ContentWarehouse.V1.Model.PhotosImageMetadata

6
out of 10
Medium
SEO Impact
Next tag value: 384.

SEO Analysis

AI Generated

Governs image and media search features. Affects visibility in image search and media carousels. This model (Photos Image Metadata) contains 314 attributes that define its data structure. Key functionality includes: Caption embedded in IPTC

Actionable Insights for SEOs

  • Optimize image alt text, file names, and compression for image search
  • Implement image structured data for enhanced visibility
  • Consider video content strategy for video carousel visibility

Attributes

314
Sort:|Filter:
relationstring
Default: nilFull type: list(String.t
freebytecountsstring
Default: nilFull type: String.t
exposureindexnumber(
Default: nil
Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.PhotosGDepthMetadata.t
addlmodelinfostring
Default: nilFull type: String.t
redeyemodeboolean(
Default: nil
captionwriterstring
Default: nilFull type: String.t
organisationinimagenamestring
Default: nilFull type: list(String.t
productidstring
Default: nilFull type: list(String.t
ratingnumber(
Default: nil
colormapinteger(
Default: nil
countrycodestring
Default: nilFull type: String.t
stitchingsoftwarestring
Default: nilFull type: String.t
croppedareaimageheightpixelsinteger(
Default: nil
statestring
Default: nilFull type: String.t
usagetermsstring
Default: nilFull type: String.t
DEPRECATEDLargestvalidinteriorrectheightinteger(
Default: nil
lensinfostring
Default: nilFull type: String.t
modelreleaseidstring
Default: nilFull type: list(String.t
referencedatestring
Default: nilFull type: list(String.t
expirationdatestring
Default: nilFull type: String.t
gpsdestdistancerefstring
Default: nilFull type: String.t
webstatementstring
Default: nilFull type: String.t
subjectareainteger(
Default: nil
headlinestring
Default: nilFull type: String.t
relatedsoundfilestring
Default: nilFull type: String.t
gpsmeasuremodestring
Default: nilFull type: String.t
xresolutionnumber(
Default: nil
functionboolean(
Default: nil
advisorystring
Default: nilFull type: list(String.t
formatstring
Default: nilFull type: String.t
captionstring
Default: nilFull type: String.t

Caption embedded in IPTC

gimagemimestring
Default: nilFull type: String.t
customrenderedinteger(
Default: nil
relatedimagefileformatstring
Default: nilFull type: String.t
maxavailwidthinteger(
Default: nil
chromasubsamplingstring
Default: nilFull type: String.t

A typed representation that translates the values from ycbcrsubsampling.

gpsdestdistancenumber(
Default: nil
propertyreleaseidstring
Default: nilFull type: list(String.t
datestring
Default: nilFull type: String.t
sensorheightnumber(
Default: nil
initialviewheadingdegreesinteger(
Default: nil
yresolutionnumber(
Default: nil
bitspersampleinteger(
Default: nil

Start of reflected fields. These do not duplicate the above fields.

gcameraspecialtypeidstring
Default: nilFull type: String.t

Camera creations metadata. The opaque id string created by the OEM. For bursts, this field should not be present. Instead, the two properties below will allow Photos to identify and provide special treatment for bursts.

rotateinteger(
Default: nil

This field is deprecated. Rotation is now accomplished via ImageInfo.exif_orientation and ImageInfo.edit_list. WARNING: the presence of rotate is used by FIFE to identify older images. Setting this (even to the correct number of degrees) on newer images can cause incorrectly rotated thumbnails. This was the cause of omg/58543 Number of degrees (0, 90, 180, 270)

ciadrpcodestring
Default: nilFull type: String.t
microvideooriginaloffsetinteger(
Default: nil

This is similar to gcameramicrovideooffset, except it stores the unverified value that was provided in the motion photo file. This field is not part of the XMP or spec. It is used to ensure we preserve data from the original file when offset is modified.

mimeTypeinteger(
Default: nil

Mime type of image

posepitchdegreesnumber(
Default: nil
minsamplevalueinteger(
Default: nil
iptclasteditedstring
Default: nilFull type: String.t
maxaperturevaluenumber(
Default: nil
motionphotovideodataboxheaderstring
Default: nilFull type: String.t

The Motion Photo Video Data (MPVD) box header of a HEIF motion photo. It is used for reconstructing the original moton photo bytes. See go/photos-be-heic-motion-photos for more details.

ciadrregionstring
Default: nilFull type: String.t
envelopenumberstring
Default: nilFull type: String.t
subjectlocationinteger(
Default: nil
gpsdopnumber(
Default: nil
sensingmethodinteger(
Default: nil
widthinteger(
Default: nil

width and height are before any rotation (including EXIF orientation).

ownernamestring
Default: nilFull type: String.t
stripbytecountsstring
Default: nilFull type: String.t
gcameramicrovideointeger(
Default: nil

The following XMP metadata are used specifically for MicroVideo. More information about MicroVideo format can be found at go/photos-microvideo-format A value of 1 indicates that this file was a MicroVideo at capture time. Otherwise, this is not a MicroVideo (not set or 0).

orientationinteger(
Default: nil

Exif camera orientation. "1" means "no rotation".

heightinteger(
Default: nil
subjectcodestring
Default: nilFull type: list(String.t
DEPRECATEDLargestvalidinteriorrecttopinteger(
Default: nil
gpsstatusstring
Default: nilFull type: String.t
timesentstring
Default: nilFull type: String.t
gpsdatestampstring
Default: nilFull type: String.t

This is in UTC time. Format is YYYY:mm:dd.

ciurlworkstring
Default: nilFull type: String.t
DEPRECATEDGpstimestampnumber(
Default: nil

This field was originally marked incorrectly as optional (rather than repeated). In order to fix it, the first field has been marked as deprecated and replaced with a field with a new name and tag number.

photometricinterpretationinteger(
Default: nil
relatedimagewidthstring
Default: nilFull type: String.t
gcameramotionphotointeger(
Default: nil

An indication that this item should be treated as a Motion Photo. 0 -> Not Motion Photo, 1 -> Motion Photo, everything else is undefined per the spec. If it's a motion photo, the previous gcamera fields should be ignored.

projectiontypestring
Default: nilFull type: String.t
aperturevaluenumber(
Default: nil
ycbcrsubsamplinginteger(
Default: nil
markedboolean(
Default: nil
keywordstring
Default: nilFull type: list(String.t
contributorstring
Default: nilFull type: list(String.t
countrystring
Default: nilFull type: String.t
dynamicDepthMetadataPhotosDynamicDepthMetadata
Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.PhotosDynamicDepthMetadata.t

DynamicDepth (go/dynamic-depth) metadata is described in the metadata of sub-images in the container. The presence of this field can be used to determine that an image is in the dynamic depth format.

croppedareaimagewidthpixelsinteger(
Default: nil
lightsourceinteger(
Default: nil
brightnessvaluenumber(
Default: nil
sublocationstring
Default: nilFull type: String.t
DEPRECATEDLargestvalidinteriorrectwidthinteger(
Default: nil
exposuremodeinteger(
Default: nil
DEPRECATEDLargestvalidinteriorrectleftinteger(
Default: nil
imagetypestring
Default: nilFull type: String.t
longitudefloat(
Default: nil

+/- 180 inclusive

gpstracknumber(
Default: nil
gpstrackrefstring
Default: nilFull type: String.t
focalplanexresnumber(
Default: nil
exposuretimenumber(
Default: nil
compressedbitsperpixelnumber(
Default: nil
urgencystring
Default: nilFull type: String.t
subjectdistancerangeinteger(
Default: nil
baseurlstring
Default: nilFull type: String.t
objectattributereferencestring
Default: nilFull type: list(String.t
meteringmodeinteger(
Default: nil
compressionlevelinteger(
Default: nil
gpsdestlongituderefstring
Default: nilFull type: String.t
focalplaneunitsnumber(
Default: nil
audiodurationstring
Default: nilFull type: String.t
imageorientationstring
Default: nilFull type: String.t
exposurebiasnumber(
Default: nil
citelworkstring
Default: nilFull type: String.t
maxavailheightinteger(
Default: nil
audiosamplingresolutionstring
Default: nilFull type: String.t
Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.PhotosFourCMetadata.t
gpsimgdirectionnumber(
Default: nil
distancenumber(
Default: nil
Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.PhotosAnimationMetadata.t
altitudefloat(
Default: nil
cameraidstring
Default: nilFull type: String.t
whitebalanceinteger(
Default: nil
flashreturninteger(
Default: nil
expirationtimestring
Default: nilFull type: String.t
envelopeprioritystring
Default: nilFull type: String.t
bitDepthinteger(
Default: nil

The number of bits per pixel used to express a color. Most images have 8-bit depth and Photos/thumbnailer currently do not support more than 8 bits (except RAW).

gcameramotionphotoversioninteger(
Default: nil

Indicates the Motion Photo version of the spec (initially 1).

organisationinimagecodestring
Default: nilFull type: list(String.t
lensidstring
Default: nilFull type: String.t
gpsdestbearingrefstring
Default: nilFull type: String.t
locationshownstring
Default: nilFull type: list(String.t
originatingprogramstring
Default: nilFull type: String.t
minormodelagedisclosurestring
Default: nilFull type: String.t
releasedatestring
Default: nilFull type: String.t
modeinteger(
Default: nil
maxsamplevalueinteger(
Default: nil
fullpanowidthpixelsinteger(
Default: nil
focallengthnumber(
Default: nil
Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.PhotosHdrMetadata.t

Indicates that the image has some form of HDR present or available to it.

Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.PhotosPanoramaMetadata.t
gpsspeedrefstring
Default: nilFull type: String.t
thumbnailerBuildClinteger(
Default: nil

The build CL for the version of thumbnailer that built this image.

lastphotodatestring
Default: nilFull type: String.t
capturesoftwarestring
Default: nilFull type: String.t
gcameraburstprimaryinteger(
Default: nil

A value of 1 indicates that this was the primary (“best shot”) at capture time. Within Photos we should only treat this image as the best shot if the user hasn’t made an explicit choice. Defining the initial primary allows consistency between OEMs, Photos clients, and the Photos backend. This value is optional, cameras are not required to set it on any photo in a burst. Clients will default to the 0th frame, but may run an algorithm to pick a better default.

scenecapturetypeinteger(
Default: nil
gaincontrolinteger(
Default: nil
cellwidthinteger(
Default: nil
gpsimgdirectionrefstring
Default: nilFull type: String.t
DEPRECATEDIscolorinteger(
Default: nil
flashcompensationnumber(
Default: nil
coveragestring
Default: nilFull type: String.t
isoequivalentinteger(
Default: nil
DEPRECATEDBlendingtypestring
Default: nilFull type: String.t
offsettimeoriginalstring
Default: nilFull type: String.t
programversionstring
Default: nilFull type: String.t
releasetimestring
Default: nilFull type: String.t
datesentstring
Default: nilFull type: String.t
gpsspeednumber(
Default: nil
fullpanoheightpixelsinteger(
Default: nil
datecreatedstring
Default: nilFull type: String.t
offsettimedigitizedstring
Default: nilFull type: String.t
locationstring
Default: nilFull type: String.t
daylightsavingslist(integer(
Default: nil

0 = no daylight savings, 1 = daylight savings enabled. Note that this field only represents whether the setting in the camera was turned on or off. It must not be used to modify the timestamp of the photo. That is, the capture time is already completely determined by exif_time, timezoneoffset and timezoneminutes.

gpsdestlatituderefstring
Default: nilFull type: String.t
personinimagestring
Default: nilFull type: list(String.t
versionstring
Default: nilFull type: String.t
DEPRECATEDProcessinteger(
Default: nil
ciadrctrystring
Default: nilFull type: String.t
intellectualgenrestring
Default: nilFull type: String.t
referenceblackwhitenumber(
Default: nil
referencenumberstring
Default: nilFull type: list(String.t
languagestring
Default: nilFull type: list(String.t
contactstring
Default: nilFull type: String.t
digitalzoomrationumber(
Default: nil
hasAlphaboolean(
Default: nil

The image has an alpha channel (potential transparency). If the image is decoded, this will be updated to indicate whether there is any active transparency. Formats supporting alpha: png, webp, gif, heif.

usepanoramaviewerboolean(
Default: nil

GPano-related fields. A handful of these have been deprecated due to a change in the spec since its initial design.

firmwarestring
Default: nilFull type: String.t
resolutionunitinteger(
Default: nil
initialviewpitchdegreesinteger(
Default: nil
gcameramotionphotocreatorstring
Default: nilFull type: String.t

Indicates the creator of the Motion Photo. This will be set if the MotionPhoto was generated from a LivePhoto from the iOS to Android conversion tool.

spectralsensitivitystring
Default: nilFull type: String.t
contentlocationnamestring
Default: nilFull type: list(String.t
digitalsourcetypestring
Default: nilFull type: String.t
whitepointnumber(
Default: nil
timezoneoffsetlist(integer(
Default: nil

The elements in the timezone and daylight savings field arrays correspond to the following date/time fields: 0) datecreated (ie. DateTimeOriginal) 1) datetime (ie. DateTime or last modified date) 2) datetimedigitized (ie. DateTimeDigitized) If the field does not exist, then there is no valid time zone information for that date/time field. Offset in hours.

sourcestring
Default: nilFull type: String.t
audiooutcuestring
Default: nilFull type: String.t
subjectreferencestring
Default: nilFull type: list(String.t
flashusedinteger(
Default: nil
propertyreleasestatusstring
Default: nilFull type: String.t
datetimedigitizedstring
Default: nilFull type: String.t
extrasamplesinteger(
Default: nil
certificatestring
Default: nilFull type: String.t
digimageguidstring
Default: nilFull type: String.t
subsectimedigitizedstring
Default: nilFull type: String.t
exposurelockusedboolean(
Default: nil
interoperabilityindexstring
Default: nilFull type: String.t
eventstring
Default: nilFull type: String.t
gpsdestlongitudenumber(
Default: nil
gaudiomimestring
Default: nilFull type: String.t
exifTimestring
Default: nilFull type: String.t

Timestamp embedded in the image. The value comes from the first valid date-time field extracted from the metadata in the order: 1) datecreated (ie. DateTimeOriginal) 2) datetimedigitized (ie. DateTimeDigitized) 3) datetime (ie. DateTime or last modified date) The type of this field is equivalent to a time_t (ie. number of seconds since the epoch - 00:00 hours, Jan 1, 1970) except that it is an int64 rather than an int.

focallengthin35mmfilminteger(
Default: nil
serviceidentifierstring
Default: nilFull type: String.t
rowsperstripstring
Default: nilFull type: String.t
authorstring
Default: nilFull type: String.t
shutterspeedvaluenumber(
Default: nil
exposureprograminteger(
Default: nil
poseheadingdegreesnumber(
Default: nil
latitudefloat(
Default: nil

GPS Info: +/- 90 inclusive

freeoffsetsinteger(
Default: nil
burstuuidstring
Default: nilFull type: String.t
subsectimestring
Default: nilFull type: String.t
gcameramotionphotopresentationtimestampusinteger(
Default: nil

The presentation timestamp in microseconds of the video frame corresponding to the image still. Value may be -1 to denote unset/unspecified.

celllengthinteger(
Default: nil
primarychromaticitiesnumber(
Default: nil
languageidentifierstring
Default: nilFull type: String.t
gpsdifferentialinteger(
Default: nil
gpsdestlatitudenumber(
Default: nil
citystring
Default: nilFull type: String.t
modelagelist(integer(
Default: nil
thresholdinginteger(
Default: nil
ccdwidthnumber(
Default: nil
sensorwidthnumber(
Default: nil
datetimestring
Default: nilFull type: String.t
createdatestring
Default: nilFull type: String.t
objecttypereferencestring
Default: nilFull type: String.t
ycbcrcoefficientsnumber(
Default: nil
offsettimestring
Default: nilFull type: String.t
samplesperpixelinteger(
Default: nil
gcameramicrovideooffsetinteger(
Default: nil

The offset in bytes from the end of the file to the point where the appended mp4 begins (equivalent to the length of the compressed mp4). This field might be provided in the original MicroVideo from client, but it might become invalid when the image component is edited, so it is expected that the thumbnailer will validate it and find the correct value (by scanning through the JPEG) if it is invalid. In other words, only a valid offset should be returned by thumbnailer.

gcameraisautoenhancedboolean(
Default: nil

Indicates that an OEM has applied auto enhance via Photos' API.

stripoffsetsstring
Default: nilFull type: String.t
softwarestring
Default: nilFull type: String.t
Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.PhotosFourCMetadata.t

4C metadata (caption, copyright, creator, credit) specific to each of the three metadata segments (EXIF, XMP, IPTC). These are used to keep separate the 4C data from each segment so that we can properly preserve the per-segment 4C data on write (when PreserveLevel is set appropriately).

identifierstring
Default: nilFull type: list(String.t
cameramodelstring
Default: nilFull type: String.t

Exif camera model

gpssatellitesstring
Default: nilFull type: String.t
audiosamplingratestring
Default: nilFull type: String.t
gcameramicrovideopresentationtimestampusinteger(
Default: nil

The presentation timestamp in microseconds of the video frame corresponding to the image still. Value may be -1 to denote unset/unspecified.

creditsstring
Default: nilFull type: String.t
autoenhanceboolean(
Default: nil

Indicates whether auto-enhance has been applied to the image.

firstphotodatestring
Default: nilFull type: String.t
croppedareatoppixelsinteger(
Default: nil
exifTimeUtcSourcestring
Default: nilFull type: String.t

The exif_time_utc_source indicates the source from which the exif_time_utc field is calculated.

destinationstring
Default: nilFull type: list(String.t
hostcomputerstring
Default: nilFull type: String.t
urlstring
Default: nilFull type: String.t
gcreationscameraburstidstring
Default: nilFull type: String.t
initialverticalfovdegreesnumber(
Default: nil
objectcyclestring
Default: nilFull type: String.t
modifydatestring
Default: nilFull type: String.t
gcameraburstidstring
Default: nilFull type: String.t

A unique String. The property should be present and identical for all images that make up a burst. It should be unique across devices (UUID recommended). Unlike GCreations:CameraBurstId, we should use images with this property to create auto collages and animations.

nicknamestring
Default: nilFull type: String.t
ycbcrpositioninginteger(
Default: nil
saturationinteger(
Default: nil
typestring
Default: nilFull type: list(String.t
copyrightnoticestring
Default: nilFull type: String.t
gpsmapdatumstring
Default: nilFull type: String.t
modelreleasestatusstring
Default: nilFull type: String.t
unostring
Default: nilFull type: String.t
digitalsourcefiletypestring
Default: nilFull type: String.t
instructionsstring
Default: nilFull type: String.t
categorystring
Default: nilFull type: String.t
ciadrcitystring
Default: nilFull type: String.t
gpsdestbearingnumber(
Default: nil
ciemailworkstring
Default: nilFull type: String.t
editorialupdatestring
Default: nilFull type: String.t
transmissionreferencestring
Default: nilFull type: String.t
referenceservicestring
Default: nilFull type: list(String.t
ismpformatboolean(
Default: nil

The image is a Multi-Picture Object.

relatedimageheightstring
Default: nilFull type: String.t
aperturefnumbernumber(
Default: nil
ciadrextadrstring
Default: nilFull type: list(String.t
gpstimelist(number(
Default: nil

This is in UTC Time. Contains three floats: hour, minute and second. Supports subsecond resolution.

gcameramicrovideoversioninteger(
Default: nil

Indicates the file format version of the MicroVideo (initially 1).

destinationLatitudefloat(
Default: nil

+/- 90 inclusive

artworkorobjectstring
Default: nilFull type: list(String.t
destinationLongitudefloat(
Default: nil

+/- 180 inclusive

exifTimeUtcstring
Default: nilFull type: String.t

The exif_time_utc field is a UTC-based alternative to the exif_time field, which is in local time, rather than UTC. If they were not separate, clients would be unable to distinguish if the source were UTC- or local-based.

planarconfigurationinteger(
Default: nil
fillorderinteger(
Default: nil
editstatusstring
Default: nilFull type: String.t
grayresponseunitinteger(
Default: nil
timezoneminuteslist(integer(
Default: nil

Remaining minutes of offset.

contentlocationcodestring
Default: nilFull type: list(String.t
initialviewrolldegreesinteger(
Default: nil
poserolldegreesnumber(
Default: nil
gcameradisableautocreationstring
Default: nilFull type: list(String.t

The possible values are: “Animation”, “Collage”, “Pano”, “Movies”. Photos will avoid creating the listed types using the containing image or video. The property is optional. The property can be included multiple times to disable creation of multiple different types.

cvtermstring
Default: nilFull type: list(String.t
metadatadatestring
Default: nilFull type: String.t
subsectimeoriginalstring
Default: nilFull type: String.t
lensstring
Default: nilFull type: String.t
fixtureidentifierstring
Default: nilFull type: String.t
sourcephotoscountinteger(
Default: nil
actionadvisedstring
Default: nilFull type: String.t
authorpositionstring
Default: nilFull type: String.t
imagenumberstring
Default: nilFull type: String.t
cameramakestring
Default: nilFull type: String.t

Exif camera make

scenestring
Default: nilFull type: list(String.t
supplementalcategorystring
Default: nilFull type: list(String.t
contrastinteger(
Default: nil
uniqueidstring
Default: nilFull type: String.t

For unique hash:

audiotypestring
Default: nilFull type: String.t
serialnumberstring
Default: nilFull type: String.t
croppedarealeftpixelsinteger(
Default: nil
colorspaceinteger(
Default: nil
colorprofileboolean(
Default: nil

Indicates whether or not the source image had an embedded color profile.

initialhorizontalfovdegreesnumber(
Default: nil
titlestring
Default: nilFull type: String.t
gcreationstypestring
Default: nilFull type: String.t

String representation of creation type. Should be one of {"GCameraCollage", "GCameraAnimation", "GCameraGroupSmiles", "GPhotosCollage", "GPhotosAnimation"}.

labelstring
Default: nilFull type: String.t
ownerstring
Default: nilFull type: list(String.t
flashenergynumber(
Default: nil
publisherstring
Default: nilFull type: list(String.t
Default: nilFull type: GoogleApi.ContentWarehouse.V1.Model.PhotosFourCMetadata.t
sharpnessinteger(
Default: nil
grayresponsecurveinteger(
Default: nil