AnnotateVideoResponse

Video annotation response. Included in the response field of the Operation returned by the operations.get call of the google::longrunning::Operations service.

JSON representation
{
  "annotationResults": [
    {
      object (VideoAnnotationResults)
    }
  ]
}
Fields
annotationResults[]

object (VideoAnnotationResults)

Annotation results for all videos specified in AnnotateVideoRequest.

VideoAnnotationResults

Annotation results for a single video.

JSON representation
{
  "inputUri": string,
  "segment": {
    object (VideoSegment)
  },
  "segmentLabelAnnotations": [
    {
      object (LabelAnnotation)
    }
  ],
  "segmentPresenceLabelAnnotations": [
    {
      object (LabelAnnotation)
    }
  ],
  "shotLabelAnnotations": [
    {
      object (LabelAnnotation)
    }
  ],
  "shotPresenceLabelAnnotations": [
    {
      object (LabelAnnotation)
    }
  ],
  "frameLabelAnnotations": [
    {
      object (LabelAnnotation)
    }
  ],
  "shotAnnotations": [
    {
      object (VideoSegment)
    }
  ],
  "explicitAnnotation": {
    object (ExplicitContentAnnotation)
  },
  "speechTranscriptions": [
    {
      object (SpeechTranscription)
    }
  ],
  "textAnnotations": [
    {
      object (TextAnnotation)
    }
  ],
  "objectAnnotations": [
    {
      object (ObjectTrackingAnnotation)
    }
  ],
  "error": {
    object (Status)
  }
}
Fields
inputUri

string

Video file location in Google Cloud Storage.

segment

object (VideoSegment)

Video segment on which the annotation is run.

segmentLabelAnnotations[]

object (LabelAnnotation)

Topical label annotations on video level or user specified segment level. There is exactly one element for each unique label.

segmentPresenceLabelAnnotations[]

object (LabelAnnotation)

Presence label annotations on video level or user specified segment level. There is exactly one element for each unique label. Compared to the existing topical segmentLabelAnnotations, this field presents more fine-grained, segment-level labels detected in video content and is made available only when the client sets LabelDetectionConfig.model to "builtin/latest" in the request.

shotLabelAnnotations[]

object (LabelAnnotation)

Topical label annotations on shot level. There is exactly one element for each unique label.

shotPresenceLabelAnnotations[]

object (LabelAnnotation)

Presence label annotations on shot level. There is exactly one element for each unique label. Compared to the existing topical shotLabelAnnotations, this field presents more fine-grained, shot-level labels detected in video content and is made available only when the client sets LabelDetectionConfig.model to "builtin/latest" in the request.

frameLabelAnnotations[]

object (LabelAnnotation)

Label annotations on frame level. There is exactly one element for each unique label.

shotAnnotations[]

object (VideoSegment)

Shot annotations. Each shot is represented as a video segment.

explicitAnnotation

object (ExplicitContentAnnotation)

Explicit content annotation.

speechTranscriptions[]

object (SpeechTranscription)

Speech transcription.

textAnnotations[]

object (TextAnnotation)

OCR text detection and tracking. Annotations for list of detected text snippets. Each will have list of frame information associated with it.

objectAnnotations[]

object (ObjectTrackingAnnotation)

Annotations for list of objects detected and tracked in video.

error

object (Status)

If set, indicates an error. Note that for a single AnnotateVideoRequest some videos may succeed and some may fail.

LabelAnnotation

Label annotation.

JSON representation
{
  "entity": {
    object (Entity)
  },
  "categoryEntities": [
    {
      object (Entity)
    }
  ],
  "segments": [
    {
      object (LabelSegment)
    }
  ],
  "frames": [
    {
      object (LabelFrame)
    }
  ]
}
Fields
entity

object (Entity)

Detected entity.

categoryEntities[]

object (Entity)

Common categories for the detected entity. E.g. when the label is Terrier the category is likely dog. And in some cases there might be more than one categories e.g. Terrier could also be a pet.

segments[]

object (LabelSegment)

All video segments where a label was detected.

frames[]

object (LabelFrame)

All video frames where a label was detected.

Entity

Detected entity from video analysis.

JSON representation
{
  "entityId": string,
  "description": string,
  "languageCode": string
}
Fields
entityId

string

Opaque entity ID. Some IDs may be available in Google Knowledge Graph Search API.

description

string

Textual description, e.g. Fixed-gear bicycle.

languageCode

string

Language code for description in BCP-47 format.

LabelSegment

Video segment level annotation results for label detection.

JSON representation
{
  "segment": {
    object (VideoSegment)
  },
  "confidence": number
}
Fields
segment

object (VideoSegment)

Video segment where a label was detected.

confidence

number

Confidence that the label is accurate. Range: [0, 1].

LabelFrame

Video frame level annotation results for label detection.

JSON representation
{
  "timeOffset": string,
  "confidence": number
}
Fields
timeOffset

string (Duration format)

Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

confidence

number

Confidence that the label is accurate. Range: [0, 1].

ExplicitContentAnnotation

Explicit content annotation (based on per-frame visual signals only). If no explicit content has been detected in a frame, no annotations are present for that frame.

JSON representation
{
  "frames": [
    {
      object (ExplicitContentFrame)
    }
  ]
}
Fields
frames[]

object (ExplicitContentFrame)

All video frames where explicit content was detected.

ExplicitContentFrame

Video frame level annotation results for explicit content.

JSON representation
{
  "timeOffset": string,
  "pornographyLikelihood": enum (Likelihood)
}
Fields
timeOffset

string (Duration format)

Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

pornographyLikelihood

enum (Likelihood)

Likelihood of the pornography content..

SpeechTranscription

A speech recognition result corresponding to a portion of the audio.

JSON representation
{
  "alternatives": [
    {
      object (SpeechRecognitionAlternative)
    }
  ],
  "languageCode": string
}
Fields
alternatives[]

object (SpeechRecognitionAlternative)

May contain one or more recognition hypotheses (up to the maximum specified in maxAlternatives). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.

languageCode

string

Output only. The BCP-47 language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.

SpeechRecognitionAlternative

Alternative hypotheses (a.k.a. n-best list).

JSON representation
{
  "transcript": string,
  "confidence": number,
  "words": [
    {
      object (WordInfo)
    }
  ]
}
Fields
transcript

string

Transcript text representing the words that the user spoke.

confidence

number

Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating confidence was not set.

words[]

object (WordInfo)

Output only. A list of word-specific information for each recognized word. Note: When enableSpeakerDiarization is true, you will see all the words from the beginning of the audio.

WordInfo

Word-specific information for recognized words. Word information is only included in the response when certain request parameters are set, such as enable_word_time_offsets.

JSON representation
{
  "startTime": string,
  "endTime": string,
  "word": string,
  "confidence": number,
  "speakerTag": number
}
Fields
startTime

string (Duration format)

Time offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if enable_word_time_offsets=true and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

endTime

string (Duration format)

Time offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if enable_word_time_offsets=true and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

word

string

The word corresponding to this set of information.

confidence

number

Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating confidence was not set.

speakerTag

number

Output only. A distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from 1 up to diarizationSpeakerCount, and is only set if speaker diarization is enabled.

TextAnnotation

Annotations related to one detected OCR text snippet. This will contain the corresponding text, confidence value, and frame level information for each detection.

JSON representation
{
  "text": string,
  "segments": [
    {
      object (TextSegment)
    }
  ]
}
Fields
text

string

The detected text.

segments[]

object (TextSegment)

All video segments where OCR detected text appears.

TextSegment

Video segment level annotation results for text detection.

JSON representation
{
  "segment": {
    object (VideoSegment)
  },
  "confidence": number,
  "frames": [
    {
      object (TextFrame)
    }
  ]
}
Fields
segment

object (VideoSegment)

Video segment where a text snippet was detected.

confidence

number

Confidence for the track of detected text. It is calculated as the highest over all frames where OCR detected text appears.

frames[]

object (TextFrame)

Information related to the frames where OCR detected text appears.

TextFrame

Video frame level annotation results for text annotation (OCR). Contains information regarding timestamp and bounding box locations for the frames containing detected OCR text snippets.

JSON representation
{
  "rotatedBoundingBox": {
    object (NormalizedBoundingPoly)
  },
  "timeOffset": string
}
Fields
rotatedBoundingBox

object (NormalizedBoundingPoly)

Bounding polygon of the detected text for this frame.

timeOffset

string (Duration format)

Timestamp of this frame.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

NormalizedBoundingPoly

Normalized bounding polygon for text (that might not be aligned with axis). Contains list of the corner points in clockwise order starting from top-left corner. For example, for a rectangular bounding box: When the text is horizontal it might look like: 0----1 | | 3----2

When it's clockwise rotated 180 degrees around the top-left corner it becomes: 2----3 | | 1----0

and the vertex order will still be (0, 1, 2, 3). Note that values can be less than 0, or greater than 1 due to trignometric calculations for location of the box.

JSON representation
{
  "vertices": [
    {
      object (NormalizedVertex)
    }
  ]
}
Fields
vertices[]

object (NormalizedVertex)

Normalized vertices of the bounding polygon.

NormalizedVertex

A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.

JSON representation
{
  "x": number,
  "y": number
}
Fields
x

number

X coordinate.

y

number

Y coordinate.

ObjectTrackingAnnotation

Annotations corresponding to one tracked object.

JSON representation
{
  "entity": {
    object (Entity)
  },
  "confidence": number,
  "frames": [
    {
      object (ObjectTrackingFrame)
    }
  ],

  // Union field track_info can be only one of the following:
  "segment": {
    object (VideoSegment)
  },
  "trackId": string
  // End of list of possible types for union field track_info.
}
Fields
entity

object (Entity)

Entity to specify the object category that this track is labeled as.

confidence

number

Object category's labeling confidence of this track.

frames[]

object (ObjectTrackingFrame)

Information corresponding to all frames where this object track appears. Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame messages in frames. Streaming mode: it can only be one ObjectTrackingFrame message in frames.

Union field track_info. Different representation of tracking info in non-streaming batch and streaming modes. track_info can be only one of the following:
segment

object (VideoSegment)

Non-streaming batch mode ONLY. Each object track corresponds to one video segment where it appears.

trackId

string (int64 format)

Streaming mode ONLY. In streaming mode, we do not know the end time of a tracked object before it is completed. Hence, there is no VideoSegment info returned. Instead, we provide a unique identifiable integer trackId so that the customers can correlate the results of the ongoing ObjectTrackAnnotation of the same trackId over time.

ObjectTrackingFrame

Video frame level annotations for object detection and tracking. This field stores per frame location, time offset, and confidence.

JSON representation
{
  "normalizedBoundingBox": {
    object (NormalizedBoundingBox)
  },
  "timeOffset": string
}
Fields
normalizedBoundingBox

object (NormalizedBoundingBox)

The normalized bounding box location of this object track for the frame.

timeOffset

string (Duration format)

The timestamp of the frame in microseconds.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

NormalizedBoundingBox

Normalized bounding box. The normalized vertex coordinates are relative to the original image. Range: [0, 1].

JSON representation
{
  "left": number,
  "top": number,
  "right": number,
  "bottom": number
}
Fields
left

number

Left X coordinate.

top

number

Top Y coordinate.

right

number

Right X coordinate.

bottom

number

Bottom Y coordinate.

Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Video Intelligence API Documentation