| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| option optimize_for = LITE_RUNTIME; |
| |
| import "components/manta/proto/common.proto"; |
| |
| package manta.proto; |
| |
| enum FeatureName { |
| reserved 1 to 299; |
| |
| CHROMEOS_VC_BACKGROUNDS = 300; |
| CHROMEOS_WALLPAPER = 301; |
| TEXT_TEST = 302; |
| CHROMEOS_READER_SUMMARY = 303; |
| CHROMEOS_READER_TOC = 312; |
| CHROMEOS_READER_Q_AND_A = 313; |
| CHROMEOS_LOBSTER = 315; |
| CHROMEOS_SCANNER = 316; |
| CHROMEOS_READER_ELUCIDATION = 317; |
| CHROMEOS_WALRUS = 318; |
| reserved 304 to 311; |
| |
| ACCESSIBILITY_IMAGE_DESCRIPTION = 700; |
| } |
| |
| message ClientInfo { |
| enum ClientType { |
| reserved 0, 1; |
| CHROME = 2; |
| } |
| |
| optional ClientType client_type = 1; |
| optional ChromeClientInfo chrome_client_info = 4; |
| reserved 2, 3; |
| } |
| |
| message ChromeClientInfo { |
| optional string chrome_version = 1; |
| optional string locale = 4; |
| |
| // The channel of the Chrome client. |
| enum Channel { |
| UNKNOWN = 0; |
| CANARY = 1; |
| DEV = 2; |
| BETA = 3; |
| STABLE = 4; |
| } |
| optional Channel chrome_channel = 5; |
| reserved 2, 3; |
| } |
| |
| enum ImageResolution { |
| reserved 0, 4, 5, 6, 7, 8, 9, 10, 11; |
| |
| RESOLUTION_64 = 1; |
| RESOLUTION_256 = 2; |
| RESOLUTION_1024 = 3; |
| RESOLUTION_LARGE = 12; |
| } |
| |
| message ImageDimensions { |
| optional uint32 width = 1; |
| optional uint32 height = 2; |
| } |
| |
| enum AspectRatio { |
| ASPECT_RATIO_UNSPECIFIED = 0; // Defaults to 1:1 |
| ASPECT_RATIO_16_9 = 1; |
| ASPECT_RATIO_16_10 = 2; |
| ASPECT_RATIO_4_3 = 3; |
| } |
| |
| message RequestConfig { |
| reserved 4, 6; |
| |
| optional uint32 generation_seed = 1; |
| optional ImageResolution image_resolution = 2; |
| optional uint32 num_outputs = 3; |
| |
| enum Tone { |
| UNSPECIFIED = 0; |
| SHORTEN = 1; |
| ELABORATE = 2; |
| REPHRASE = 3; |
| FORMALIZE = 4; |
| EMOJIFY = 5; |
| FREEFORM_REWRITE = 6; |
| FREEFORM_WRITE = 7; |
| PROOFREAD = 8; |
| } |
| |
| optional Tone tone = 5; |
| |
| optional ImageDimensions image_dimensions = 7; |
| |
| optional AspectRatio aspect_ratio = 8; |
| |
| optional Proto3Any specific_options = 9; |
| } |
| |
| message InputData { |
| |
| oneof input_data { |
| string text = 1; |
| Image image = 2; |
| Proto3Any custom = 3; |
| } |
| optional string tag = 4; |
| } |
| |
| message Request { |
| optional FeatureName feature_name = 1; |
| optional ClientInfo client_info = 2; |
| optional RequestConfig request_config = 3; |
| repeated InputData input_data = 4; |
| } |
| |
| message OutputData { |
| reserved 4; |
| oneof output_data { |
| string text = 1; |
| Image image = 2; |
| Proto3Any custom = 3; |
| } |
| |
| optional float score = 5; |
| |
| optional uint32 generation_seed = 6; |
| |
| optional string generative_prompt = 8; |
| } |
| |
| enum FilteredReason { |
| UNSPECIFIED = 0; |
| IMAGE_SAFETY = 1; |
| TEXT_SAFETY = 2; |
| TEXT_LOW_QUALITY = 3; |
| TEXT_BLOCKLIST = 4; |
| IMAGE_SAFETY_PERSON = 8; |
| |
| reserved 5, 6, 7; |
| } |
| |
| message FilteredData { |
| reserved 1, 4; |
| optional bool is_output_data = 2; |
| optional FilteredReason reason = 3; |
| repeated FilteredReason additional_reasons = 5; |
| } |
| |
| message Response { |
| reserved 3; |
| |
| repeated OutputData output_data = 1; |
| repeated FilteredData filtered_data = 2; |
| } |