@google/genai 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/genai.d.ts CHANGED
@@ -187,6 +187,12 @@ export declare class Caches extends BaseModule {
187
187
  /**
188
188
  * Creates a cached contents resource.
189
189
  *
190
+ * @remarks
191
+ * Context caching is only supported for specific models. See [Gemini
192
+ * Developer API reference] (https://ai.google.dev/gemini-api/docs/caching?lang=node/context-cac)
193
+ * and [Vertex AI reference] (https://cloud.google.com/vertex-ai/generative-ai/docs/context-cache/context-cache-overview#supported_models)
194
+ * for more information.
195
+ *
190
196
  * @param params - The parameters for the create request.
191
197
  * @return The created cached content.
192
198
  *
@@ -194,7 +200,7 @@ export declare class Caches extends BaseModule {
194
200
  * ```ts
195
201
  * const contents = ...; // Initialize the content to cache.
196
202
  * const response = await ai.caches.create({
197
- * model: 'gemini-2.0-flash',
203
+ * model: 'gemini-1.5-flash',
198
204
  * config: {
199
205
  * 'contents': contents,
200
206
  * 'displayName': 'test cache',
@@ -578,9 +584,9 @@ export declare class CountTokensResponse {
578
584
  export declare interface CreateCachedContentConfig {
579
585
  /** Used to override HTTP request options. */
580
586
  httpOptions?: HttpOptions;
581
- /** The TTL for this resource. The expiration time is computed: now + TTL. */
587
+ /** The TTL for this resource. The expiration time is computed: now + TTL. It is a duration string, with up to nine fractional digits, terminated by 's'. Example: "3.5s". */
582
588
  ttl?: string;
583
- /** Timestamp of when this resource is considered expired. */
589
+ /** Timestamp of when this resource is considered expired. Uses RFC 3339 format, Example: 2014-10-02T15:01:23Z. */
584
590
  expireTime?: string;
585
591
  /** The user-generated meaningful display name of the cached content.
586
592
  */
@@ -725,6 +731,24 @@ export declare interface DeleteCachedContentParameters {
725
731
  export declare class DeleteCachedContentResponse {
726
732
  }
727
733
 
734
+ /** Used to override the default configuration. */
735
+ export declare interface DeleteFileConfig {
736
+ /** Used to override HTTP request options. */
737
+ httpOptions?: HttpOptions;
738
+ }
739
+
740
+ /** Generates the parameters for the get method. */
741
+ export declare interface DeleteFileParameters {
742
+ /** The name identifier for the file to be deleted. */
743
+ name: string;
744
+ /** Used to override the default configuration. */
745
+ config?: DeleteFileConfig;
746
+ }
747
+
748
+ /** Response for the delete file method. */
749
+ export declare class DeleteFileResponse {
750
+ }
751
+
728
752
  /** Used to override the default configuration. */
729
753
  export declare interface DownloadFileConfig {
730
754
  /** Used to override HTTP request options. */
@@ -810,6 +834,20 @@ export declare interface ExecutableCode {
810
834
  language?: Language;
811
835
  }
812
836
 
837
+ export declare interface FetchPredictOperationConfig {
838
+ /** Used to override HTTP request options. */
839
+ httpOptions?: HttpOptions;
840
+ }
841
+
842
+ /** Parameters for the fetchPredictOperation method. */
843
+ export declare interface FetchPredictOperationParameters {
844
+ /** The server-assigned name for the operation. */
845
+ operationName: string;
846
+ resourceName: string;
847
+ /** Used to override the default configuration. */
848
+ config?: FetchPredictOperationConfig;
849
+ }
850
+
813
851
  /** A file uploaded to the API. */
814
852
  declare interface File_2 {
815
853
  /** The `File` resource name. The ID (name excluding the "files/" prefix) can contain up to 40 characters that are lowercase alphanumeric or dashes (-). The ID cannot start or end with a dash. If the name is empty on create, a unique name will be generated. Example: `files/123-456` */
@@ -819,7 +857,7 @@ declare interface File_2 {
819
857
  /** Output only. MIME type of the file. */
820
858
  mimeType?: string;
821
859
  /** Output only. Size of the file in bytes. */
822
- sizeBytes?: number;
860
+ sizeBytes?: string;
823
861
  /** Output only. The timestamp of when the `File` was created. */
824
862
  createTime?: string;
825
863
  /** Output only. The timestamp of when the `File` will be deleted. Only set if the `File` is scheduled to expire. */
@@ -851,7 +889,7 @@ export declare interface FileData {
851
889
  mimeType?: string;
852
890
  }
853
891
 
854
- declare class Files extends BaseModule {
892
+ export declare class Files extends BaseModule {
855
893
  private readonly apiClient;
856
894
  constructor(apiClient: ApiClient);
857
895
  /**
@@ -897,7 +935,6 @@ declare class Files extends BaseModule {
897
935
  *
898
936
  * @param params - Optional parameters specified in the
899
937
  * `common.UploadFileParameters` interface.
900
- * Optional @see {@link common.UploadFileParameters}
901
938
  * @return A promise that resolves to a `types.File` object.
902
939
  * @throws An error if called on a Vertex AI client.
903
940
  * @throws An error if the `mimeType` is not provided and can not be inferred,
@@ -933,6 +970,20 @@ declare class Files extends BaseModule {
933
970
  * ```
934
971
  */
935
972
  get(params: types.GetFileParameters): Promise<types.File>;
973
+ /**
974
+ * Deletes a remotely stored file.
975
+ *
976
+ * @param params - The parameters for the delete request.
977
+ * @return The DeleteFileResponse, the response for the delete method.
978
+ *
979
+ * @example
980
+ * The following code deletes an example file named "files/mehozpxf877d".
981
+ *
982
+ * ```ts
983
+ * await ai.files.delete({name: file.name});
984
+ * ```
985
+ */
986
+ delete(params: types.DeleteFileParameters): Promise<types.DeleteFileResponse>;
936
987
  }
937
988
 
938
989
  export declare enum FileSource {
@@ -1355,6 +1406,12 @@ export declare interface GeneratedImage {
1355
1406
  enhancedPrompt?: string;
1356
1407
  }
1357
1408
 
1409
+ /** A generated video. */
1410
+ export declare interface GeneratedVideo {
1411
+ /** The output video */
1412
+ video?: Video;
1413
+ }
1414
+
1358
1415
  /** The config for generating an images. */
1359
1416
  export declare interface GenerateImagesConfig {
1360
1417
  /** Used to override HTTP request options. */
@@ -1386,7 +1443,8 @@ export declare interface GenerateImagesConfig {
1386
1443
  /** Allows generation of people by the model.
1387
1444
  */
1388
1445
  personGeneration?: PersonGeneration;
1389
- /** Whether to report the safety scores of each image in the response.
1446
+ /** Whether to report the safety scores of each generated image and
1447
+ the positive prompt in the response.
1390
1448
  */
1391
1449
  includeSafetyAttributes?: boolean;
1392
1450
  /** Whether to include the Responsible AI filter reason if the image
@@ -1429,6 +1487,78 @@ export declare class GenerateImagesResponse {
1429
1487
  /** List of generated images.
1430
1488
  */
1431
1489
  generatedImages?: GeneratedImage[];
1490
+ /** Safety attributes of the positive prompt. Only populated if
1491
+ ``include_safety_attributes`` is set to True.
1492
+ */
1493
+ positivePromptSafetyAttributes?: SafetyAttributes;
1494
+ }
1495
+
1496
+ /** Configuration for generating videos. */
1497
+ export declare interface GenerateVideosConfig {
1498
+ /** Used to override HTTP request options. */
1499
+ httpOptions?: HttpOptions;
1500
+ /** Number of output videos. */
1501
+ numberOfVideos?: number;
1502
+ /** The gcs bucket where to save the generated videos. */
1503
+ outputGcsUri?: string;
1504
+ /** Frames per second for video generation. */
1505
+ fps?: number;
1506
+ /** Duration of the clip for video generation in seconds. */
1507
+ durationSeconds?: number;
1508
+ /** The RNG seed. If RNG seed is exactly same for each request with unchanged inputs, the prediction results will be consistent. Otherwise, a random RNG seed will be used each time to produce a different result. */
1509
+ seed?: number;
1510
+ /** The aspect ratio for the generated video. 16:9 (landscape) and 9:16 (portrait) are supported. */
1511
+ aspectRatio?: string;
1512
+ /** The resolution for the generated video. 1280x720, 1920x1080 are supported. */
1513
+ resolution?: string;
1514
+ /** Whether allow to generate person videos, and restrict to specific ages. Supported values are: dont_allow, allow_adult. */
1515
+ personGeneration?: string;
1516
+ /** The pubsub topic where to publish the video generation progress. */
1517
+ pubsubTopic?: string;
1518
+ /** Optional field in addition to the text content. Negative prompts can be explicitly stated here to help generate the video. */
1519
+ negativePrompt?: string;
1520
+ /** Whether to use the prompt rewriting logic. */
1521
+ enhancePrompt?: boolean;
1522
+ }
1523
+
1524
+ /** A video generation operation. */
1525
+ export declare interface GenerateVideosOperation {
1526
+ /** The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. */
1527
+ name?: string;
1528
+ /** Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. */
1529
+ metadata?: Record<string, unknown>;
1530
+ /** If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. */
1531
+ done?: boolean;
1532
+ /** The error result of the operation in case of failure or cancellation. */
1533
+ error?: Record<string, unknown>;
1534
+ /** The normal response of the operation in case of success. */
1535
+ response?: Record<string, unknown>;
1536
+ /** The generated videos. */
1537
+ result?: GenerateVideosResponse;
1538
+ }
1539
+
1540
+ /** Class that represents the parameters for generating an image. */
1541
+ export declare interface GenerateVideosParameters {
1542
+ /** ID of the model to use. For a list of models, see `Google models
1543
+ <https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models>`_. */
1544
+ model: string;
1545
+ /** The text prompt for generating the videos. Optional for image to video use cases. */
1546
+ prompt?: string;
1547
+ /** The input image for generating the videos.
1548
+ Optional if prompt is provided. */
1549
+ image?: Image_2;
1550
+ /** Configuration for generating videos. */
1551
+ config?: GenerateVideosConfig;
1552
+ }
1553
+
1554
+ /** Response with generated videos. */
1555
+ export declare class GenerateVideosResponse {
1556
+ /** List of the generated videos */
1557
+ generatedVideos?: GeneratedVideo[];
1558
+ /** Returns if any videos were filtered due to RAI policies. */
1559
+ raiMediaFilteredCount?: number;
1560
+ /** Returns rai failure reasons if any. */
1561
+ raiMediaFilteredReasons?: string[];
1432
1562
  }
1433
1563
 
1434
1564
  /** Generation config. */
@@ -1515,6 +1645,19 @@ export declare interface GetFileParameters {
1515
1645
  config?: GetFileConfig;
1516
1646
  }
1517
1647
 
1648
+ export declare interface GetOperationConfig {
1649
+ /** Used to override HTTP request options. */
1650
+ httpOptions?: HttpOptions;
1651
+ }
1652
+
1653
+ /** Parameters for the GET method. */
1654
+ export declare interface GetOperationParameters {
1655
+ /** The server-assigned name for the operation. */
1656
+ operationName: string;
1657
+ /** Used to override the default configuration. */
1658
+ config?: GetOperationConfig;
1659
+ }
1660
+
1518
1661
  declare function getValueByPath(data: unknown, keys: string[]): unknown;
1519
1662
 
1520
1663
  /**
@@ -1558,6 +1701,7 @@ export declare class GoogleGenAI {
1558
1701
  readonly chats: Chats;
1559
1702
  readonly caches: Caches;
1560
1703
  readonly files: Files;
1704
+ readonly operations: Operations;
1561
1705
  constructor(options: GoogleGenAIOptions);
1562
1706
  }
1563
1707
 
@@ -2204,6 +2348,15 @@ export declare enum MaskReferenceMode {
2204
2348
  MASK_MODE_SEMANTIC = "MASK_MODE_SEMANTIC"
2205
2349
  }
2206
2350
 
2351
+ export declare enum MediaModality {
2352
+ MODALITY_UNSPECIFIED = "MODALITY_UNSPECIFIED",
2353
+ TEXT = "TEXT",
2354
+ IMAGE = "IMAGE",
2355
+ VIDEO = "VIDEO",
2356
+ AUDIO = "AUDIO",
2357
+ DOCUMENT = "DOCUMENT"
2358
+ }
2359
+
2207
2360
  export declare enum MediaResolution {
2208
2361
  MEDIA_RESOLUTION_UNSPECIFIED = "MEDIA_RESOLUTION_UNSPECIFIED",
2209
2362
  MEDIA_RESOLUTION_LOW = "MEDIA_RESOLUTION_LOW",
@@ -2221,7 +2374,7 @@ export declare enum Modality {
2221
2374
  /** Represents token counting info for a single modality. */
2222
2375
  export declare interface ModalityTokenCount {
2223
2376
  /** The modality associated with this token count. */
2224
- modality?: Modality;
2377
+ modality?: MediaModality;
2225
2378
  /** Number of tokens. */
2226
2379
  tokenCount?: number;
2227
2380
  }
@@ -2315,6 +2468,28 @@ export declare class Models extends BaseModule {
2315
2468
  * ```
2316
2469
  */
2317
2470
  generateContentStream: (params: types.GenerateContentParameters) => Promise<AsyncGenerator<types.GenerateContentResponse>>;
2471
+ /**
2472
+ * Generates an image based on a text description and configuration.
2473
+ *
2474
+ * @param model - The model to use.
2475
+ * @param prompt - A text description of the image to generate.
2476
+ * @param [config] - The config for image generation.
2477
+ * @return The response from the API.
2478
+ *
2479
+ * @example
2480
+ * ```ts
2481
+ * const response = await client.models.generateImages({
2482
+ * model: 'imagen-3.0-generate-002',
2483
+ * prompt: 'Robot holding a red skateboard',
2484
+ * config: {
2485
+ * numberOfImages: 1,
2486
+ * includeRaiReason: true,
2487
+ * },
2488
+ * });
2489
+ * console.log(response?.generatedImages?.[0]?.image?.imageBytes);
2490
+ * ```
2491
+ */
2492
+ generateImages: (params: types.GenerateImagesParameters) => Promise<types.GenerateImagesResponse>;
2318
2493
  private generateContentInternal;
2319
2494
  private generateContentStreamInternal;
2320
2495
  /**
@@ -2358,7 +2533,7 @@ export declare class Models extends BaseModule {
2358
2533
  * console.log(response?.generatedImages?.[0]?.image?.imageBytes);
2359
2534
  * ```
2360
2535
  */
2361
- generateImages(params: types.GenerateImagesParameters): Promise<types.GenerateImagesResponse>;
2536
+ private generateImagesInternal;
2362
2537
  /**
2363
2538
  * Counts the number of tokens in the given contents. Multimodal input is
2364
2539
  * supported for Gemini models.
@@ -2395,6 +2570,52 @@ export declare class Models extends BaseModule {
2395
2570
  * ```
2396
2571
  */
2397
2572
  computeTokens(params: types.ComputeTokensParameters): Promise<types.ComputeTokensResponse>;
2573
+ /**
2574
+ * Generates videos based on a text description and configuration.
2575
+ *
2576
+ * @param params - The parameters for generating videos.
2577
+ * @return A Promise<GenerateVideosOperation> which allows you to track the progress and eventually retrieve the generated videos using the operations.get method.
2578
+ *
2579
+ * @example
2580
+ * ```ts
2581
+ * const operation = await ai.models.generateVideos({
2582
+ * model: 'veo-2.0-generate-001',
2583
+ * prompt: 'A neon hologram of a cat driving at top speed',
2584
+ * config: {
2585
+ * numberOfVideos: 1
2586
+ * });
2587
+ *
2588
+ * while (!operation.done) {
2589
+ * await new Promise(resolve => setTimeout(resolve, 10000));
2590
+ * operation = await ai.operations.get({operation: operation});
2591
+ * }
2592
+ *
2593
+ * console.log(operation.result?.generatedVideos?.[0]?.video?.uri);
2594
+ * ```
2595
+ */
2596
+ generateVideos(params: types.GenerateVideosParameters): Promise<types.GenerateVideosOperation>;
2597
+ }
2598
+
2599
+ /** Parameters for the get method of the operations module. */
2600
+ export declare interface OperationGetParameters {
2601
+ /** The operation to be retrieved. */
2602
+ operation: GenerateVideosOperation;
2603
+ /** Used to override the default configuration. */
2604
+ config?: GetOperationConfig;
2605
+ }
2606
+
2607
+ export declare class Operations extends BaseModule {
2608
+ private readonly apiClient;
2609
+ constructor(apiClient: ApiClient);
2610
+ /**
2611
+ * Gets the status of a long-running operation.
2612
+ *
2613
+ * @param operation The Operation object returned by a previous API call.
2614
+ * @return The updated Operation object, with the latest status or result.
2615
+ */
2616
+ get(parameters: types.OperationGetParameters): Promise<types.GenerateVideosOperation>;
2617
+ private getVideosOperationInternal;
2618
+ private fetchPredictVideosOperationInternal;
2398
2619
  }
2399
2620
 
2400
2621
  /**
@@ -2417,7 +2638,7 @@ export declare enum Outcome {
2417
2638
  /**
2418
2639
  * Pagers for the GenAI List APIs.
2419
2640
  */
2420
- declare enum PagedItem {
2641
+ export declare enum PagedItem {
2421
2642
  PAGED_ITEM_BATCH_JOBS = "batchJobs",
2422
2643
  PAGED_ITEM_MODELS = "models",
2423
2644
  PAGED_ITEM_TUNING_JOBS = "tuningJobs",
@@ -2444,7 +2665,7 @@ declare interface PagedItemResponse<T> {
2444
2665
  /**
2445
2666
  * Pager class for iterating through paginated results.
2446
2667
  */
2447
- declare class Pager<T> implements AsyncIterable<T> {
2668
+ export declare class Pager<T> implements AsyncIterable<T> {
2448
2669
  private nameInternal;
2449
2670
  private pageInternal;
2450
2671
  private paramsInternal;
@@ -2647,6 +2868,9 @@ export declare interface SafetyAttributes {
2647
2868
  /** List of scores of each categories.
2648
2869
  */
2649
2870
  scores?: number[];
2871
+ /** Internal use only.
2872
+ */
2873
+ contentType?: string;
2650
2874
  }
2651
2875
 
2652
2876
  export declare enum SafetyFilterLevel {
@@ -2696,8 +2920,6 @@ export declare interface Schema {
2696
2920
  default?: unknown;
2697
2921
  /** Optional. Maximum length of the Type.STRING */
2698
2922
  maxLength?: string;
2699
- /** Optional. The title of the Schema. */
2700
- title?: string;
2701
2923
  /** Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING */
2702
2924
  minLength?: string;
2703
2925
  /** Optional. Minimum number of the properties for Type.OBJECT. */
@@ -2730,6 +2952,8 @@ export declare interface Schema {
2730
2952
  propertyOrdering?: string[];
2731
2953
  /** Optional. Required properties of Type.OBJECT. */
2732
2954
  required?: string[];
2955
+ /** Optional. The title of the Schema. */
2956
+ title?: string;
2733
2957
  /** Optional. The type of the data. */
2734
2958
  type?: Type;
2735
2959
  }
@@ -2995,6 +3219,8 @@ export declare interface TestTableItem {
2995
3219
  hasUnion?: boolean;
2996
3220
  /** When set to a reason string, this test will be skipped in the API mode. Use this flag for tests that can not be reproduced with the real API. E.g. a test that deletes a resource. */
2997
3221
  skipInApiMode?: string;
3222
+ /** Keys to ignore when comparing the request and response. This is useful for tests that are not deterministic. */
3223
+ ignoreKeys?: string[];
2998
3224
  }
2999
3225
 
3000
3226
  /** The thinking features configuration. */
@@ -3089,6 +3315,7 @@ declare namespace types {
3089
3315
  MaskReferenceMode,
3090
3316
  ControlReferenceType,
3091
3317
  SubjectReferenceType,
3318
+ MediaModality,
3092
3319
  VideoMetadata,
3093
3320
  CodeExecutionResult,
3094
3321
  ExecutableCode,
@@ -3162,6 +3389,12 @@ declare namespace types {
3162
3389
  ComputeTokensParameters,
3163
3390
  TokensInfo,
3164
3391
  ComputeTokensResponse,
3392
+ GenerateVideosConfig,
3393
+ GenerateVideosParameters,
3394
+ Video,
3395
+ GeneratedVideo,
3396
+ GenerateVideosResponse,
3397
+ GenerateVideosOperation,
3165
3398
  CreateCachedContentConfig,
3166
3399
  CreateCachedContentParameters,
3167
3400
  CachedContentUsageMetadata,
@@ -3188,6 +3421,13 @@ declare namespace types {
3188
3421
  CreateFileResponse,
3189
3422
  GetFileConfig,
3190
3423
  GetFileParameters,
3424
+ DeleteFileConfig,
3425
+ DeleteFileParameters,
3426
+ DeleteFileResponse,
3427
+ GetOperationConfig,
3428
+ GetOperationParameters,
3429
+ FetchPredictOperationConfig,
3430
+ FetchPredictOperationParameters,
3191
3431
  TestTableItem,
3192
3432
  TestTableFile,
3193
3433
  ReplayRequest,
@@ -3224,6 +3464,7 @@ declare namespace types {
3224
3464
  LiveSendClientContentParameters,
3225
3465
  LiveSendRealtimeInputParameters,
3226
3466
  LiveSendToolResponseParameters,
3467
+ OperationGetParameters,
3227
3468
  PartUnion,
3228
3469
  PartListUnion,
3229
3470
  ContentUnion,
@@ -3238,9 +3479,9 @@ declare namespace types {
3238
3479
  export declare interface UpdateCachedContentConfig {
3239
3480
  /** Used to override HTTP request options. */
3240
3481
  httpOptions?: HttpOptions;
3241
- /** The TTL for this resource. The expiration time is computed: now + TTL. */
3482
+ /** The TTL for this resource. The expiration time is computed: now + TTL. It is a duration string, with up to nine fractional digits, terminated by 's'. Example: "3.5s". */
3242
3483
  ttl?: string;
3243
- /** Timestamp of when this resource is considered expired. */
3484
+ /** Timestamp of when this resource is considered expired. Uses RFC 3339 format, Example: 2014-10-02T15:01:23Z. */
3244
3485
  expireTime?: string;
3245
3486
  }
3246
3487
 
@@ -3327,10 +3568,12 @@ export declare interface UpscaleImageParameters {
3327
3568
  config?: UpscaleImageConfig;
3328
3569
  }
3329
3570
 
3330
- /** Retrieve from Vertex AI Search datastore for grounding. See https://cloud.google.com/products/agent-builder */
3571
+ /** Retrieve from Vertex AI Search datastore or engine for grounding. datastore and engine are mutually exclusive. See https://cloud.google.com/products/agent-builder */
3331
3572
  export declare interface VertexAISearch {
3332
- /** Required. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` */
3573
+ /** Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` */
3333
3574
  datastore?: string;
3575
+ /** Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` */
3576
+ engine?: string;
3334
3577
  }
3335
3578
 
3336
3579
  /** Retrieve from Vertex RAG Store for grounding. */
@@ -3353,6 +3596,16 @@ export declare interface VertexRagStoreRagResource {
3353
3596
  ragFileIds?: string[];
3354
3597
  }
3355
3598
 
3599
+ /** A generated video. */
3600
+ export declare interface Video {
3601
+ /** Path to another storage. */
3602
+ uri?: string;
3603
+ /** Video bytes. */
3604
+ videoBytes?: string;
3605
+ /** Video encoding, for example "video/mp4". */
3606
+ mimeType?: string;
3607
+ }
3608
+
3356
3609
  /** Metadata describes the input video content. */
3357
3610
  export declare interface VideoMetadata {
3358
3611
  /** Optional. The end offset of the video. */