Synchronize new proto/yaml changes.

PiperOrigin-RevId: 273535540
This commit is contained in:
Google APIs 2019-10-08 09:19:34 -07:00 committed by Copybara-Service
parent 8fca1cdaf0
commit 4bf18dfa58
4 changed files with 162 additions and 148 deletions

View File

@ -2,8 +2,9 @@ common:
api_name: video-intelligence
api_version: v1
organization_name: google-cloud
service_yaml: videointelligence_v1.yaml
service_yaml: v1/videointelligence_v1.yaml
gapic_yaml: v1/videointelligence_gapic.yaml
proto_package: google.cloud.videointelligence.v1
src_proto_paths:
- v1
proto_deps:

View File

@ -19,6 +19,7 @@ package google.cloud.videointelligence.v1;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
@ -35,19 +36,22 @@ option ruby_package = "Google::Cloud::VideoIntelligence::V1";
// Service that implements Google Cloud Video Intelligence API.
service VideoIntelligenceService {
option (google.api.default_host) = "videointelligence.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Performs asynchronous video annotation. Progress and results can be
// retrieved through the `google.longrunning.Operations` interface.
// `Operation.metadata` contains `AnnotateVideoProgress` (progress).
// `Operation.response` contains `AnnotateVideoResponse` (results).
rpc AnnotateVideo(AnnotateVideoRequest)
returns (google.longrunning.Operation) {
rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/videos:annotate"
body: "*"
};
option (google.api.method_signature) = "input_uri,features";
option (google.longrunning.operation_info) = {
response_type: "AnnotateVideoResponse"
metadata_type: "AnnotateVideoProgress"
};
}
}
@ -57,10 +61,10 @@ message AnnotateVideoRequest {
// [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
// supported, which must be specified in the following format:
// `gs://bucket-id/object-id` (other URI formats return
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
// more information, see [Request URIs](/storage/docs/reference-uris). A video
// URI may include wildcards in `object-id`, and thus identify multiple
// videos. Supported wildcards: '*' to match 0 or more characters;
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
// [Request URIs](/storage/docs/reference-uris).
// A video URI may include wildcards in `object-id`, and thus identify
// multiple videos. Supported wildcards: '*' to match 0 or more characters;
// '?' to match 1 character. If unset, the input video should be embedded
// in the request as `input_content`. If set, `input_content` should be unset.
string input_uri = 1;
@ -70,24 +74,24 @@ message AnnotateVideoRequest {
// If set, `input_uri` should be unset.
bytes input_content = 6;
// Requested video annotation features.
repeated Feature features = 2;
// Required. Requested video annotation features.
repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED];
// Additional video context and/or feature-specific parameters.
VideoContext video_context = 3;
// Optional location where the output (in JSON format) should be stored.
// Optional. Location where the output (in JSON format) should be stored.
// Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
// URIs are supported, which must be specified in the following format:
// `gs://bucket-id/object-id` (other URI formats return
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
// more information, see [Request URIs](/storage/docs/reference-uris).
string output_uri = 4;
// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
// [Request URIs](/storage/docs/reference-uris).
string output_uri = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional cloud region where annotation should take place. Supported cloud
// Optional. Cloud region where annotation should take place. Supported cloud
// regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
// is specified, a region will be determined based on video file location.
string location_id = 5;
string location_id = 5 [(google.api.field_behavior) = OPTIONAL];
}
// Video context and/or feature-specific parameters.
@ -119,6 +123,66 @@ message VideoContext {
ObjectTrackingConfig object_tracking_config = 13;
}
// Video annotation feature.
enum Feature {
// Unspecified.
FEATURE_UNSPECIFIED = 0;
// Label detection. Detect objects, such as dog or flower.
LABEL_DETECTION = 1;
// Shot change detection.
SHOT_CHANGE_DETECTION = 2;
// Explicit content detection.
EXPLICIT_CONTENT_DETECTION = 3;
// Speech transcription.
SPEECH_TRANSCRIPTION = 6;
// OCR text detection and tracking.
TEXT_DETECTION = 7;
// Object detection and tracking.
OBJECT_TRACKING = 9;
}
// Label detection mode.
enum LabelDetectionMode {
// Unspecified.
LABEL_DETECTION_MODE_UNSPECIFIED = 0;
// Detect shot-level labels.
SHOT_MODE = 1;
// Detect frame-level labels.
FRAME_MODE = 2;
// Detect both shot-level and frame-level labels.
SHOT_AND_FRAME_MODE = 3;
}
// Bucketized representation of likelihood.
enum Likelihood {
// Unspecified likelihood.
LIKELIHOOD_UNSPECIFIED = 0;
// Very unlikely.
VERY_UNLIKELY = 1;
// Unlikely.
UNLIKELY = 2;
// Possible.
POSSIBLE = 3;
// Likely.
LIKELY = 4;
// Very likely.
VERY_LIKELY = 5;
}
// Config for LABEL_DETECTION.
message LabelDetectionConfig {
// What labels should be detected with LABEL_DETECTION, in addition to
@ -161,9 +225,9 @@ message ShotChangeDetectionConfig {
string model = 1;
}
// Config for EXPLICIT_CONTENT_DETECTION.
message ExplicitContentDetectionConfig {
// Model to use for explicit content detection.
// Config for OBJECT_TRACKING.
message ObjectTrackingConfig {
// Model to use for object tracking.
// Supported values: "builtin/stable" (the default if unset) and
// "builtin/latest".
string model = 1;
@ -180,9 +244,9 @@ message FaceDetectionConfig {
bool include_bounding_boxes = 2;
}
// Config for OBJECT_TRACKING.
message ObjectTrackingConfig {
// Model to use for object tracking.
// Config for EXPLICIT_CONTENT_DETECTION.
message ExplicitContentDetectionConfig {
// Model to use for explicit content detection.
// Supported values: "builtin/stable" (the default if unset) and
// "builtin/latest".
string model = 1;
@ -344,8 +408,11 @@ message VideoAnnotationResults {
repeated LabelAnnotation segment_label_annotations = 2;
// Presence label annotations on video level or user specified segment level.
// There is exactly one element for each unique label. This will eventually
// get publicly exposed and the restriction will be removed.
// 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.
repeated LabelAnnotation segment_presence_label_annotations = 23;
// Topical label annotations on shot level.
@ -353,8 +420,10 @@ message VideoAnnotationResults {
repeated LabelAnnotation shot_label_annotations = 3;
// Presence label annotations on shot level. There is exactly one element for
// each unique label. This will eventually get publicly exposed and the
// restriction will be removed.
// 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.
repeated LabelAnnotation shot_presence_label_annotations = 24;
// Label annotations on frame level.
@ -429,72 +498,71 @@ message AnnotateVideoProgress {
// Config for SPEECH_TRANSCRIPTION.
message SpeechTranscriptionConfig {
// *Required* The language of the supplied audio as a
// Required. *Required* The language of the supplied audio as a
// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
// Example: "en-US".
// See [Language Support](https://cloud.google.com/speech/docs/languages)
// for a list of the currently supported language codes.
string language_code = 1;
string language_code = 1 [(google.api.field_behavior) = REQUIRED];
// *Optional* Maximum number of recognition hypotheses to be returned.
// Optional. Maximum number of recognition hypotheses to be returned.
// Specifically, the maximum number of `SpeechRecognitionAlternative` messages
// within each `SpeechTranscription`. The server may return fewer than
// `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will
// return a maximum of one. If omitted, will return a maximum of one.
int32 max_alternatives = 2;
int32 max_alternatives = 2 [(google.api.field_behavior) = OPTIONAL];
// *Optional* If set to `true`, the server will attempt to filter out
// Optional. If set to `true`, the server will attempt to filter out
// profanities, replacing all but the initial character in each filtered word
// with asterisks, e.g. "f***". If set to `false` or omitted, profanities
// won't be filtered out.
bool filter_profanity = 3;
bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL];
// *Optional* A means to provide context to assist the speech recognition.
repeated SpeechContext speech_contexts = 4;
// Optional. A means to provide context to assist the speech recognition.
repeated SpeechContext speech_contexts = 4 [(google.api.field_behavior) = OPTIONAL];
// *Optional* If 'true', adds punctuation to recognition result hypotheses.
// Optional. If 'true', adds punctuation to recognition result hypotheses.
// This feature is only available in select languages. Setting this for
// requests in other languages has no effect at all. The default 'false' value
// does not add punctuation to result hypotheses. NOTE: "This is currently
// offered as an experimental service, complimentary to all users. In the
// future this may be exclusively available as a premium feature."
bool enable_automatic_punctuation = 5;
bool enable_automatic_punctuation = 5 [(google.api.field_behavior) = OPTIONAL];
// *Optional* For file formats, such as MXF or MKV, supporting multiple audio
// Optional. For file formats, such as MXF or MKV, supporting multiple audio
// tracks, specify up to two tracks. Default: track 0.
repeated int32 audio_tracks = 6;
repeated int32 audio_tracks = 6 [(google.api.field_behavior) = OPTIONAL];
// *Optional* If 'true', enables speaker detection for each recognized word in
// Optional. If 'true', enables speaker detection for each recognized word in
// the top alternative of the recognition result using a speaker_tag provided
// in the WordInfo.
// Note: When this is true, we send all the words from the beginning of the
// audio for the top alternative in every consecutive responses.
// This is done in order to improve our speaker tags as our models learn to
// identify the speakers in the conversation over time.
bool enable_speaker_diarization = 7;
bool enable_speaker_diarization = 7 [(google.api.field_behavior) = OPTIONAL];
// *Optional*
// If set, specifies the estimated number of speakers in the conversation.
// Optional. If set, specifies the estimated number of speakers in the conversation.
// If not set, defaults to '2'.
// Ignored unless enable_speaker_diarization is set to true.
int32 diarization_speaker_count = 8;
int32 diarization_speaker_count = 8 [(google.api.field_behavior) = OPTIONAL];
// *Optional* If `true`, the top result includes a list of words and the
// Optional. If `true`, the top result includes a list of words and the
// confidence for those words. If `false`, no word-level confidence
// information is returned. The default is `false`.
bool enable_word_confidence = 9;
bool enable_word_confidence = 9 [(google.api.field_behavior) = OPTIONAL];
}
// Provides "hints" to the speech recognizer to favor specific words and phrases
// in the results.
message SpeechContext {
// *Optional* A list of strings containing words and phrases "hints" so that
// Optional. A list of strings containing words and phrases "hints" so that
// the speech recognition is more likely to recognize them. This can be used
// to improve the accuracy for specific words and phrases, for example, if
// specific commands are typically spoken by the user. This can also be used
// to add additional words to the vocabulary of the recognizer. See
// [usage limits](https://cloud.google.com/speech/limits#content).
repeated string phrases = 1;
repeated string phrases = 1 [(google.api.field_behavior) = OPTIONAL];
}
// A speech recognition result corresponding to a portion of the audio.
@ -505,11 +573,10 @@ message SpeechTranscription {
// ranked by the recognizer.
repeated SpeechRecognitionAlternative alternatives = 1;
// Output only. The
// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the
// language in this result. This language code was detected to have the most
// likelihood of being spoken in the audio.
string language_code = 2;
// Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of
// the language in this result. This language code was detected to have the
// most likelihood of being spoken in the audio.
string language_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Alternative hypotheses (a.k.a. n-best list).
@ -523,12 +590,12 @@ message SpeechRecognitionAlternative {
// 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.
float confidence = 2;
float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. A list of word-specific information for each recognized word.
// Note: When `enable_speaker_diarization` is true, you will see all the words
// from the beginning of the audio.
repeated WordInfo words = 3;
repeated WordInfo words = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Word-specific information for recognized words. Word information is only
@ -556,13 +623,13 @@ message WordInfo {
// 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.
float confidence = 4;
float confidence = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
// 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 diarization_speaker_count,
// and is only set if speaker diarization is enabled.
int32 speaker_tag = 5;
int32 speaker_tag = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// A vertex represents a 2D point in the image.
@ -673,66 +740,3 @@ message ObjectTrackingAnnotation {
// Streaming mode: it can only be one ObjectTrackingFrame message in frames.
repeated ObjectTrackingFrame frames = 2;
}
// Video annotation feature.
enum Feature {
// Unspecified.
FEATURE_UNSPECIFIED = 0;
// Label detection. Detect objects, such as dog or flower.
LABEL_DETECTION = 1;
// Shot change detection.
SHOT_CHANGE_DETECTION = 2;
// Explicit content detection.
EXPLICIT_CONTENT_DETECTION = 3;
// Human face detection and tracking.
FACE_DETECTION = 4;
// Speech transcription.
SPEECH_TRANSCRIPTION = 6;
// OCR text detection and tracking.
TEXT_DETECTION = 7;
// Object detection and tracking.
OBJECT_TRACKING = 9;
}
// Label detection mode.
enum LabelDetectionMode {
// Unspecified.
LABEL_DETECTION_MODE_UNSPECIFIED = 0;
// Detect shot-level labels.
SHOT_MODE = 1;
// Detect frame-level labels.
FRAME_MODE = 2;
// Detect both shot-level and frame-level labels.
SHOT_AND_FRAME_MODE = 3;
}
// Bucketized representation of likelihood.
enum Likelihood {
// Unspecified likelihood.
LIKELIHOOD_UNSPECIFIED = 0;
// Very unlikely.
VERY_UNLIKELY = 1;
// Unlikely.
UNLIKELY = 2;
// Possible.
POSSIBLE = 3;
// Likely.
LIKELY = 4;
// Very likely.
VERY_LIKELY = 5;
}

View File

@ -0,0 +1,22 @@
{
"methodConfig": [
{
"name": [
{
"service": "google.cloud.videointelligence.v1.VideoIntelligenceService",
"method": "AnnotateVideo"
}
],
"timeout": "600s",
"retryPolicy": {
"initialBackoff": "1s",
"maxBackoff": "120s",
"backoffMultiplier": 2.5,
"retryableStatusCodes": [
"UNAVAILABLE",
"DEADLINE_EXCEEDED"
]
}
}
]
}

View File

@ -10,7 +10,6 @@ types:
- name: google.cloud.videointelligence.v1.AnnotateVideoProgress
- name: google.cloud.videointelligence.v1.AnnotateVideoResponse
- name: google.cloud.videointelligence.v1.VideoSegment
- name: google.rpc.Status
documentation:
summary: |-
@ -18,43 +17,31 @@ documentation:
specifies the region for annotation and transcribes speech to text.
Supports both asynchronous API and streaming API.
backend:
rules:
- selector: google.longrunning.Operations.ListOperations
deadline: 600.0
- selector: google.longrunning.Operations.GetOperation
deadline: 600.0
- selector: google.longrunning.Operations.DeleteOperation
deadline: 600.0
- selector: google.longrunning.Operations.CancelOperation
deadline: 600.0
- selector: google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideo
deadline: 600.0
http:
rules:
- selector: google.longrunning.Operations.ListOperations
get: '/v1/{name=projects/*/locations/*}/operations'
- selector: google.longrunning.Operations.GetOperation
get: '/v1/{name=projects/*/locations/*/operations/*}'
additional_bindings:
- get: '/v1/operations/{name=projects/*/locations/*/operations/*}'
- selector: google.longrunning.Operations.DeleteOperation
delete: '/v1/{name=projects/*/locations/*/operations/*}'
additional_bindings:
- delete: '/v1/operations/{name=projects/*/locations/*/operations/*}'
- selector: google.longrunning.Operations.CancelOperation
post: '/v1/{name=projects/*/locations/*/operations/*}:cancel'
body: '*'
additional_bindings:
- post: '/v1/operations/{name=projects/*/locations/*/operations/*}:cancel'
- selector: google.longrunning.Operations.DeleteOperation
delete: '/v1/{name=projects/*/locations/*/operations/*}'
additional_bindings:
- delete: '/v1/operations/{name=projects/*/locations/*/operations/*}'
- selector: google.longrunning.Operations.GetOperation
get: '/v1/{name=projects/*/locations/*/operations/*}'
additional_bindings:
- get: '/v1/operations/{name=projects/*/locations/*/operations/*}'
- selector: google.longrunning.Operations.ListOperations
get: '/v1/{name=projects/*/locations/*}/operations'
authentication:
rules:
- selector: '*'
- selector: google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideo
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.longrunning.Operations.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform