public sealed class VideoAnnotationResults : IMessage<VideoAnnotationResults>, IEquatable<VideoAnnotationResults>, IDeepCloneable<VideoAnnotationResults>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Video Intelligence v1 API class VideoAnnotationResults.
public RepeatedField<LabelAnnotation> SegmentPresenceLabelAnnotations { get; }
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 segment_label_annotations, 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.
public RepeatedField<LabelAnnotation> ShotPresenceLabelAnnotations { get; }
Presence label annotations on shot level. There is exactly one element for
each unique label. Compared to the existing topical
shot_label_annotations, 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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eVideoAnnotationResults\u003c/code\u003e class is part of the Google Cloud Video Intelligence v1 API, providing annotation results for a single video.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, allowing for deep cloning and message handling.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eVideoAnnotationResults\u003c/code\u003e includes properties for various types of annotations such as explicit content, faces, labels, logos, objects, persons, segments, shots, speech, and text, allowing for detailed analysis of video content.\u003c/p\u003e\n"],["\u003cp\u003eIt also provides an \u003ccode\u003eError\u003c/code\u003e property to indicate if any errors occurred during video processing, alongside a \u003ccode\u003eThrowOnError()\u003c/code\u003e method to handle such errors.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available for use is 3.4.0, but there is documentation for previous versions dating back to 2.2.0.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Video Intelligence v1 API - Class VideoAnnotationResults (3.4.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.4.0 (latest)](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/latest/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/3.3.0/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/3.2.0/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/3.1.0/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/3.0.0/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/2.3.0/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/2.2.0/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults) \n\n public sealed class VideoAnnotationResults : IMessage\u003cVideoAnnotationResults\u003e, IEquatable\u003cVideoAnnotationResults\u003e, IDeepCloneable\u003cVideoAnnotationResults\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Video Intelligence v1 API class VideoAnnotationResults.\n\nAnnotation results for a single video. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e VideoAnnotationResults \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[VideoAnnotationResults](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/latest/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[VideoAnnotationResults](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/latest/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[VideoAnnotationResults](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/latest/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.VideoIntelligence.V1](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/latest/Google.Cloud.VideoIntelligence.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.VideoIntelligence.V1.dll\n\nConstructors\n------------\n\n### VideoAnnotationResults()\n\n public VideoAnnotationResults()\n\n### VideoAnnotationResults(VideoAnnotationResults)\n\n public VideoAnnotationResults(VideoAnnotationResults other)\n\nProperties\n----------\n\n### Error\n\n public Status Error { get; set; }\n\nIf set, indicates an error. Note that for a single `AnnotateVideoRequest`\nsome videos may succeed and some may fail.\n\n### ExplicitAnnotation\n\n public ExplicitContentAnnotation ExplicitAnnotation { get; set; }\n\nExplicit content annotation.\n\n### FaceAnnotations\n\n [Obsolete]\n public RepeatedField\u003cFaceAnnotation\u003e FaceAnnotations { get; }\n\nDeprecated. Please use `face_detection_annotations` instead.\n\n### FaceDetectionAnnotations\n\n public RepeatedField\u003cFaceDetectionAnnotation\u003e FaceDetectionAnnotations { get; }\n\nFace detection annotations.\n\n### FrameLabelAnnotations\n\n public RepeatedField\u003cLabelAnnotation\u003e FrameLabelAnnotations { get; }\n\nLabel annotations on frame level.\nThere is exactly one element for each unique label.\n\n### InputUri\n\n public string InputUri { get; set; }\n\nVideo file location in\n[Cloud Storage](https://cloud.google.com/storage/).\n\n### LogoRecognitionAnnotations\n\n public RepeatedField\u003cLogoRecognitionAnnotation\u003e LogoRecognitionAnnotations { get; }\n\nAnnotations for list of logos detected, tracked and recognized in video.\n\n### ObjectAnnotations\n\n public RepeatedField\u003cObjectTrackingAnnotation\u003e ObjectAnnotations { get; }\n\nAnnotations for list of objects detected and tracked in video.\n\n### PersonDetectionAnnotations\n\n public RepeatedField\u003cPersonDetectionAnnotation\u003e PersonDetectionAnnotations { get; }\n\nPerson detection annotations.\n\n### Segment\n\n public VideoSegment Segment { get; set; }\n\nVideo segment on which the annotation is run.\n\n### SegmentLabelAnnotations\n\n public RepeatedField\u003cLabelAnnotation\u003e SegmentLabelAnnotations { get; }\n\nTopical label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label.\n\n### SegmentPresenceLabelAnnotations\n\n public RepeatedField\u003cLabelAnnotation\u003e SegmentPresenceLabelAnnotations { get; }\n\nPresence label annotations on video level or user-specified segment level.\nThere is exactly one element for each unique label. Compared to the\nexisting topical `segment_label_annotations`, this field presents more\nfine-grained, segment-level labels detected in video content and is made\navailable only when the client sets `LabelDetectionConfig.model` to\n\"builtin/latest\" in the request.\n\n### ShotAnnotations\n\n public RepeatedField\u003cVideoSegment\u003e ShotAnnotations { get; }\n\nShot annotations. Each shot is represented as a video segment.\n\n### ShotLabelAnnotations\n\n public RepeatedField\u003cLabelAnnotation\u003e ShotLabelAnnotations { get; }\n\nTopical label annotations on shot level.\nThere is exactly one element for each unique label.\n\n### ShotPresenceLabelAnnotations\n\n public RepeatedField\u003cLabelAnnotation\u003e ShotPresenceLabelAnnotations { get; }\n\nPresence label annotations on shot level. There is exactly one element for\neach unique label. Compared to the existing topical\n`shot_label_annotations`, this field presents more fine-grained, shot-level\nlabels detected in video content and is made available only when the client\nsets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.\n\n### SpeechTranscriptions\n\n public RepeatedField\u003cSpeechTranscription\u003e SpeechTranscriptions { get; }\n\nSpeech transcription.\n\n### TextAnnotations\n\n public RepeatedField\u003cTextAnnotation\u003e TextAnnotations { get; }\n\nOCR text detection and tracking.\nAnnotations for list of detected text snippets. Each will have list of\nframe information associated with it.\n\nMethods\n-------\n\n### ThrowOnError()\n\n public VideoAnnotationResults ThrowOnError()\n\nIf the [Error](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/latest/Google.Cloud.VideoIntelligence.V1.VideoAnnotationResults#Google_Cloud_VideoIntelligence_V1_VideoAnnotationResults_Error) property is non-null, throws an [AnnotateVideoException](/dotnet/docs/reference/Google.Cloud.VideoIntelligence.V1/latest/Google.Cloud.VideoIntelligence.V1.AnnotateVideoException).\nOtherwise, returns `this` (so that the method can be called in a fluent manner)."]]