@google/genai 1.6.0 → 1.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.
@@ -384,6 +384,162 @@ export declare interface BaseUrlParameters {
384
384
  vertexUrl?: string;
385
385
  }
386
386
 
387
+ export declare class Batches extends BaseModule {
388
+ private readonly apiClient;
389
+ constructor(apiClient: ApiClient);
390
+ /**
391
+ * Create batch job.
392
+ *
393
+ * @param params - The parameters for create batch job request.
394
+ * @return The created batch job.
395
+ *
396
+ * @example
397
+ * ```ts
398
+ * const response = await ai.batches.create({
399
+ * model: 'gemini-2.0-flash',
400
+ * src: {gcsUri: 'gs://bucket/path/to/file.jsonl', format: 'jsonl'},
401
+ * config: {
402
+ * dest: {gcsUri: 'gs://bucket/path/output/directory', format: 'jsonl'},
403
+ * }
404
+ * });
405
+ * console.log(response);
406
+ * ```
407
+ */
408
+ create: (params: types.CreateBatchJobParameters) => Promise<types.BatchJob>;
409
+ /**
410
+ * Lists batch job configurations.
411
+ *
412
+ * @param params - The parameters for the list request.
413
+ * @return The paginated results of the list of batch jobs.
414
+ *
415
+ * @example
416
+ * ```ts
417
+ * const batchJobs = await ai.batches.list({config: {'pageSize': 2}});
418
+ * for await (const batchJob of batchJobs) {
419
+ * console.log(batchJob);
420
+ * }
421
+ * ```
422
+ */
423
+ list: (params?: types.ListBatchJobsParameters) => Promise<Pager<types.BatchJob>>;
424
+ /**
425
+ * Internal method to create batch job.
426
+ *
427
+ * @param params - The parameters for create batch job request.
428
+ * @return The created batch job.
429
+ *
430
+ */
431
+ private createInternal;
432
+ /**
433
+ * Gets batch job configurations.
434
+ *
435
+ * @param params - The parameters for the get request.
436
+ * @return The batch job.
437
+ *
438
+ * @example
439
+ * ```ts
440
+ * await ai.batches.get({name: '...'}); // The server-generated resource name.
441
+ * ```
442
+ */
443
+ get(params: types.GetBatchJobParameters): Promise<types.BatchJob>;
444
+ /**
445
+ * Cancels a batch job.
446
+ *
447
+ * @param params - The parameters for the cancel request.
448
+ * @return The empty response returned by the API.
449
+ *
450
+ * @example
451
+ * ```ts
452
+ * await ai.batches.cancel({name: '...'}); // The server-generated resource name.
453
+ * ```
454
+ */
455
+ cancel(params: types.CancelBatchJobParameters): Promise<void>;
456
+ private listInternal;
457
+ }
458
+
459
+ /** Config for batches.create return value. */
460
+ export declare interface BatchJob {
461
+ /** The resource name of the BatchJob. Output only.".
462
+ */
463
+ name?: string;
464
+ /** The display name of the BatchJob.
465
+ */
466
+ displayName?: string;
467
+ /** The state of the BatchJob.
468
+ */
469
+ state?: JobState;
470
+ /** Output only. Only populated when the job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED. */
471
+ error?: JobError;
472
+ /** The time when the BatchJob was created.
473
+ */
474
+ createTime?: string;
475
+ /** Output only. Time when the Job for the first time entered the `JOB_STATE_RUNNING` state. */
476
+ startTime?: string;
477
+ /** The time when the BatchJob was completed.
478
+ */
479
+ endTime?: string;
480
+ /** The time when the BatchJob was last updated.
481
+ */
482
+ updateTime?: string;
483
+ /** The name of the model that produces the predictions via the BatchJob.
484
+ */
485
+ model?: string;
486
+ /** Configuration for the input data.
487
+ */
488
+ src?: BatchJobSource;
489
+ /** Configuration for the output data.
490
+ */
491
+ dest?: BatchJobDestination;
492
+ }
493
+
494
+ /** Config for `des` parameter. */
495
+ export declare interface BatchJobDestination {
496
+ /** Storage format of the output files. Must be one of:
497
+ 'jsonl', 'bigquery'.
498
+ */
499
+ format?: string;
500
+ /** The Google Cloud Storage URI to the output file.
501
+ */
502
+ gcsUri?: string;
503
+ /** The BigQuery URI to the output table.
504
+ */
505
+ bigqueryUri?: string;
506
+ /** The Gemini Developer API's file resource name of the output data
507
+ (e.g. "files/12345"). The file will be a JSONL file with a single response
508
+ per line. The responses will be GenerateContentResponse messages formatted
509
+ as JSON. The responses will be written in the same order as the input
510
+ requests.
511
+ */
512
+ fileName?: string;
513
+ /** The responses to the requests in the batch. Returned when the batch was
514
+ built using inlined requests. The responses will be in the same order as
515
+ the input requests.
516
+ */
517
+ inlinedResponses?: InlinedResponse[];
518
+ }
519
+
520
+ /** Config for `src` parameter. */
521
+ export declare interface BatchJobSource {
522
+ /** Storage format of the input files. Must be one of:
523
+ 'jsonl', 'bigquery'.
524
+ */
525
+ format?: string;
526
+ /** The Google Cloud Storage URIs to input files.
527
+ */
528
+ gcsUri?: string[];
529
+ /** The BigQuery URI to input table.
530
+ */
531
+ bigqueryUri?: string;
532
+ /** The Gemini Developer API's file resource name of the input data
533
+ (e.g. "files/12345").
534
+ */
535
+ fileName?: string;
536
+ /** The Gemini Developer API's inlined input data to run batch job.
537
+ */
538
+ inlinedRequests?: InlinedRequest[];
539
+ }
540
+
541
+ export declare type BatchJobSourceUnion = BatchJobSource | InlinedRequest[] | string;
542
+
387
543
  /** Defines the function behavior. Defaults to `BLOCKING`. */
388
544
  export declare enum Behavior {
389
545
  /**
@@ -587,6 +743,30 @@ export declare interface CallableToolConfig {
587
743
  timeout?: number;
588
744
  }
589
745
 
746
+ /** Optional parameters. */
747
+ export declare interface CancelBatchJobConfig {
748
+ /** Used to override HTTP request options. */
749
+ httpOptions?: HttpOptions;
750
+ /** Abort signal which can be used to cancel the request.
751
+
752
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
753
+ operation will not cancel the request in the service. You will still
754
+ be charged usage for any applicable operations.
755
+ */
756
+ abortSignal?: AbortSignal;
757
+ }
758
+
759
+ /** Config for batches.cancel parameters. */
760
+ export declare interface CancelBatchJobParameters {
761
+ /** A fully-qualified BatchJob resource name or ID.
762
+ Example: "projects/.../locations/.../batchPredictionJobs/456"
763
+ or "456" when project and location are initialized in the client.
764
+ */
765
+ name: string;
766
+ /** Optional parameters for the request. */
767
+ config?: CancelBatchJobConfig;
768
+ }
769
+
590
770
  /** A response candidate generated from the model. */
591
771
  export declare interface Candidate {
592
772
  /** Contains the multi-part content of the response.
@@ -984,6 +1164,40 @@ export declare interface CreateAuthTokenParameters {
984
1164
  config?: CreateAuthTokenConfig;
985
1165
  }
986
1166
 
1167
+ /** Config for optional parameters. */
1168
+ export declare interface CreateBatchJobConfig {
1169
+ /** Used to override HTTP request options. */
1170
+ httpOptions?: HttpOptions;
1171
+ /** Abort signal which can be used to cancel the request.
1172
+
1173
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1174
+ operation will not cancel the request in the service. You will still
1175
+ be charged usage for any applicable operations.
1176
+ */
1177
+ abortSignal?: AbortSignal;
1178
+ /** The user-defined name of this BatchJob.
1179
+ */
1180
+ displayName?: string;
1181
+ /** GCS or BigQuery URI prefix for the output predictions. Example:
1182
+ "gs://path/to/output/data" or "bq://projectId.bqDatasetId.bqTableId".
1183
+ */
1184
+ dest?: string;
1185
+ }
1186
+
1187
+ /** Config for batches.create parameters. */
1188
+ export declare interface CreateBatchJobParameters {
1189
+ /** The name of the model to produces the predictions via the BatchJob.
1190
+ */
1191
+ model?: string;
1192
+ /** GCS URI(-s) or BigQuery URI to your input data to run batch job.
1193
+ Example: "gs://path/to/input/data" or "bq://projectId.bqDatasetId.bqTableId".
1194
+ */
1195
+ src: BatchJobSourceUnion;
1196
+ /** Optional parameters for creating a BatchJob.
1197
+ */
1198
+ config?: CreateBatchJobConfig;
1199
+ }
1200
+
987
1201
  /** Optional configuration for cached content creation. */
988
1202
  export declare interface CreateCachedContentConfig {
989
1203
  /** Used to override HTTP request options. */
@@ -1415,7 +1629,8 @@ export declare interface EditImageConfig {
1415
1629
  /** Number of images to generate.
1416
1630
  */
1417
1631
  numberOfImages?: number;
1418
- /** Aspect ratio of the generated images.
1632
+ /** Aspect ratio of the generated images. Supported values are
1633
+ "1:1", "3:4", "4:3", "9:16", and "16:9".
1419
1634
  */
1420
1635
  aspectRatio?: string;
1421
1636
  /** Controls how much the model adheres to the text prompt. Large
@@ -2068,6 +2283,22 @@ export declare interface GenerateContentConfig {
2068
2283
  Compatible mimetypes: `application/json`: Schema for JSON response.
2069
2284
  */
2070
2285
  responseSchema?: SchemaUnion;
2286
+ /** Optional. Output schema of the generated response.
2287
+ This is an alternative to `response_schema` that accepts [JSON
2288
+ Schema](https://json-schema.org/). If set, `response_schema` must be
2289
+ omitted, but `response_mime_type` is required. While the full JSON Schema
2290
+ may be sent, not all features are supported. Specifically, only the
2291
+ following properties are supported: - `$id` - `$defs` - `$ref` - `$anchor`
2292
+ - `type` - `format` - `title` - `description` - `enum` (for strings and
2293
+ numbers) - `items` - `prefixItems` - `minItems` - `maxItems` - `minimum` -
2294
+ `maximum` - `anyOf` - `oneOf` (interpreted the same as `anyOf`) -
2295
+ `properties` - `additionalProperties` - `required` The non-standard
2296
+ `propertyOrdering` property may also be set. Cyclic references are
2297
+ unrolled to a limited degree and, as such, may only be used within
2298
+ non-required properties. (Nullable properties are not sufficient.) If
2299
+ `$ref` is set on a sub-schema, no other properties, except for than those
2300
+ starting as a `$`, may be set. */
2301
+ responseJsonSchema?: unknown;
2071
2302
  /** Configuration for model router requests.
2072
2303
  */
2073
2304
  routingConfig?: GenerationConfigRoutingConfig;
@@ -2356,7 +2587,8 @@ export declare interface GenerateImagesConfig {
2356
2587
  /** Number of images to generate.
2357
2588
  */
2358
2589
  numberOfImages?: number;
2359
- /** Aspect ratio of the generated images.
2590
+ /** Aspect ratio of the generated images. Supported values are
2591
+ "1:1", "3:4", "4:3", "9:16", and "16:9".
2360
2592
  */
2361
2593
  aspectRatio?: string;
2362
2594
  /** Controls how much the model adheres to the text prompt. Large
@@ -2461,6 +2693,8 @@ export declare interface GenerateVideosConfig {
2461
2693
  generateAudio?: boolean;
2462
2694
  /** Image to use as the last frame of generated videos. Only supported for image to video use cases. */
2463
2695
  lastFrame?: Image_2;
2696
+ /** Compression quality of the generated videos. */
2697
+ compressionQuality?: VideoCompressionQuality;
2464
2698
  }
2465
2699
 
2466
2700
  /** A video generation operation. */
@@ -2578,6 +2812,30 @@ export declare interface GenerationConfigThinkingConfig {
2578
2812
  thinkingBudget?: number;
2579
2813
  }
2580
2814
 
2815
+ /** Optional parameters. */
2816
+ export declare interface GetBatchJobConfig {
2817
+ /** Used to override HTTP request options. */
2818
+ httpOptions?: HttpOptions;
2819
+ /** Abort signal which can be used to cancel the request.
2820
+
2821
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2822
+ operation will not cancel the request in the service. You will still
2823
+ be charged usage for any applicable operations.
2824
+ */
2825
+ abortSignal?: AbortSignal;
2826
+ }
2827
+
2828
+ /** Config for batches.get parameters. */
2829
+ export declare interface GetBatchJobParameters {
2830
+ /** A fully-qualified BatchJob resource name or ID.
2831
+ Example: "projects/.../locations/.../batchPredictionJobs/456"
2832
+ or "456" when project and location are initialized in the client.
2833
+ */
2834
+ name: string;
2835
+ /** Optional parameters for the request. */
2836
+ config?: GetBatchJobConfig;
2837
+ }
2838
+
2581
2839
  /** Optional parameters for caches.get method. */
2582
2840
  export declare interface GetCachedContentConfig {
2583
2841
  /** Used to override HTTP request options. */
@@ -2731,6 +2989,7 @@ export declare class GoogleGenAI {
2731
2989
  private readonly apiVersion?;
2732
2990
  readonly models: Models;
2733
2991
  readonly live: Live;
2992
+ readonly batches: Batches;
2734
2993
  readonly chats: Chats;
2735
2994
  readonly caches: Caches;
2736
2995
  readonly files: Files;
@@ -3118,6 +3377,29 @@ export declare enum ImagePromptLanguage {
3118
3377
  hi = "hi"
3119
3378
  }
3120
3379
 
3380
+ /** Config for inlined request. */
3381
+ export declare interface InlinedRequest {
3382
+ /** ID of the model to use. For a list of models, see `Google models
3383
+ <https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models>`_. */
3384
+ model?: string;
3385
+ /** Content of the request.
3386
+ */
3387
+ contents?: ContentListUnion;
3388
+ /** Configuration that contains optional model parameters.
3389
+ */
3390
+ config?: GenerateContentConfig;
3391
+ }
3392
+
3393
+ /** Config for `inlined_responses` parameter. */
3394
+ export declare class InlinedResponse {
3395
+ /** The response to the request.
3396
+ */
3397
+ response?: GenerateContentResponse;
3398
+ /** The error encountered while processing the request.
3399
+ */
3400
+ error?: JobError;
3401
+ }
3402
+
3121
3403
  /** Represents a time interval, encoded as a start time (inclusive) and an end time (exclusive).
3122
3404
 
3123
3405
  The start time must be less than or equal to the end time.
@@ -3132,7 +3414,17 @@ export declare interface Interval {
3132
3414
  endTime?: string;
3133
3415
  }
3134
3416
 
3135
- /** Output only. The detailed state of the job. */
3417
+ /** Job error. */
3418
+ export declare interface JobError {
3419
+ /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */
3420
+ details?: string[];
3421
+ /** The status code. */
3422
+ code?: number;
3423
+ /** A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the `details` field. */
3424
+ message?: string;
3425
+ }
3426
+
3427
+ /** Job state. */
3136
3428
  export declare enum JobState {
3137
3429
  /**
3138
3430
  * The job state is unspecified.
@@ -3175,7 +3467,7 @@ export declare enum JobState {
3175
3467
  */
3176
3468
  JOB_STATE_EXPIRED = "JOB_STATE_EXPIRED",
3177
3469
  /**
3178
- * The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.
3470
+ * The job is being updated. Only jobs in the `JOB_STATE_RUNNING` state can be updated. After updating, the job goes back to the `JOB_STATE_RUNNING` state.
3179
3471
  */
3180
3472
  JOB_STATE_UPDATING = "JOB_STATE_UPDATING",
3181
3473
  /**
@@ -3210,6 +3502,33 @@ export declare interface LatLng {
3210
3502
  longitude?: number;
3211
3503
  }
3212
3504
 
3505
+ /** Config for optional parameters. */
3506
+ export declare interface ListBatchJobsConfig {
3507
+ /** Used to override HTTP request options. */
3508
+ httpOptions?: HttpOptions;
3509
+ /** Abort signal which can be used to cancel the request.
3510
+
3511
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
3512
+ operation will not cancel the request in the service. You will still
3513
+ be charged usage for any applicable operations.
3514
+ */
3515
+ abortSignal?: AbortSignal;
3516
+ pageSize?: number;
3517
+ pageToken?: string;
3518
+ filter?: string;
3519
+ }
3520
+
3521
+ /** Config for batches.list parameters. */
3522
+ export declare interface ListBatchJobsParameters {
3523
+ config?: ListBatchJobsConfig;
3524
+ }
3525
+
3526
+ /** Config for batches.list return value. */
3527
+ export declare class ListBatchJobsResponse {
3528
+ nextPageToken?: string;
3529
+ batchJobs?: BatchJob[];
3530
+ }
3531
+
3213
3532
  /** Config for caches.list method. */
3214
3533
  export declare interface ListCachedContentsConfig {
3215
3534
  /** Used to override HTTP request options. */
@@ -4817,8 +5136,17 @@ export declare type PartUnion = Part | string;
4817
5136
 
4818
5137
  /** Enum that controls the generation of people. */
4819
5138
  export declare enum PersonGeneration {
5139
+ /**
5140
+ * Block generation of images of people.
5141
+ */
4820
5142
  DONT_ALLOW = "DONT_ALLOW",
5143
+ /**
5144
+ * Generate images of adults, but not children.
5145
+ */
4821
5146
  ALLOW_ADULT = "ALLOW_ADULT",
5147
+ /**
5148
+ * Generate images that include adults and children.
5149
+ */
4822
5150
  ALLOW_ALL = "ALLOW_ALL"
4823
5151
  }
4824
5152
 
@@ -6002,6 +6330,7 @@ declare namespace types {
6002
6330
  ControlReferenceType,
6003
6331
  SubjectReferenceType,
6004
6332
  EditMode,
6333
+ VideoCompressionQuality,
6005
6334
  FileState,
6006
6335
  FileSource,
6007
6336
  MediaModality,
@@ -6200,6 +6529,21 @@ declare namespace types {
6200
6529
  DeleteFileConfig,
6201
6530
  DeleteFileParameters,
6202
6531
  DeleteFileResponse,
6532
+ InlinedRequest,
6533
+ BatchJobSource,
6534
+ JobError,
6535
+ InlinedResponse,
6536
+ BatchJobDestination,
6537
+ CreateBatchJobConfig,
6538
+ CreateBatchJobParameters,
6539
+ BatchJob,
6540
+ GetBatchJobConfig,
6541
+ GetBatchJobParameters,
6542
+ CancelBatchJobConfig,
6543
+ CancelBatchJobParameters,
6544
+ ListBatchJobsConfig,
6545
+ ListBatchJobsParameters,
6546
+ ListBatchJobsResponse,
6203
6547
  GetOperationConfig,
6204
6548
  GetOperationParameters,
6205
6549
  FetchPredictOperationConfig,
@@ -6282,7 +6626,8 @@ declare namespace types {
6282
6626
  SpeechConfigUnion,
6283
6627
  ToolUnion,
6284
6628
  ToolListUnion,
6285
- DownloadableFileUnion
6629
+ DownloadableFileUnion,
6630
+ BatchJobSourceUnion
6286
6631
  }
6287
6632
  }
6288
6633
 
@@ -6408,6 +6753,15 @@ export declare interface UpscaleImageConfig {
6408
6753
  /** The level of compression if the ``output_mime_type`` is
6409
6754
  ``image/jpeg``. */
6410
6755
  outputCompressionQuality?: number;
6756
+ /** Whether to add an image enhancing step before upscaling.
6757
+ It is expected to suppress the noise and JPEG compression artifacts
6758
+ from the input image. */
6759
+ enhanceInputImage?: boolean;
6760
+ /** With a higher image preservation factor, the original image
6761
+ pixels are more respected. With a lower image preservation factor, the
6762
+ output image will have be more different from the input image, but
6763
+ with finer details and less noise. */
6764
+ imagePreservationFactor?: number;
6411
6765
  }
6412
6766
 
6413
6767
  /** User-facing config UpscaleImageParameters. */
@@ -6544,6 +6898,20 @@ export declare interface Video {
6544
6898
  mimeType?: string;
6545
6899
  }
6546
6900
 
6901
+ /** Enum that controls the compression quality of the generated videos. */
6902
+ export declare enum VideoCompressionQuality {
6903
+ /**
6904
+ * Optimized video compression quality. This will produce videos
6905
+ with a compressed, smaller file size.
6906
+ */
6907
+ OPTIMIZED = "OPTIMIZED",
6908
+ /**
6909
+ * Lossless video compression quality. This will produce videos
6910
+ with a larger file size.
6911
+ */
6912
+ LOSSLESS = "LOSSLESS"
6913
+ }
6914
+
6547
6915
  /** Describes how the video in the Part should be used by the model. */
6548
6916
  export declare interface VideoMetadata {
6549
6917
  /** The frame rate of the video sent to the model. If not specified, the