@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.
package/dist/web/web.d.ts CHANGED
@@ -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. */
@@ -2724,6 +2982,7 @@ export declare class GoogleGenAI {
2724
2982
  private readonly apiVersion?;
2725
2983
  readonly models: Models;
2726
2984
  readonly live: Live;
2985
+ readonly batches: Batches;
2727
2986
  readonly chats: Chats;
2728
2987
  readonly caches: Caches;
2729
2988
  readonly files: Files;
@@ -3111,6 +3370,29 @@ export declare enum ImagePromptLanguage {
3111
3370
  hi = "hi"
3112
3371
  }
3113
3372
 
3373
+ /** Config for inlined request. */
3374
+ export declare interface InlinedRequest {
3375
+ /** ID of the model to use. For a list of models, see `Google models
3376
+ <https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models>`_. */
3377
+ model?: string;
3378
+ /** Content of the request.
3379
+ */
3380
+ contents?: ContentListUnion;
3381
+ /** Configuration that contains optional model parameters.
3382
+ */
3383
+ config?: GenerateContentConfig;
3384
+ }
3385
+
3386
+ /** Config for `inlined_responses` parameter. */
3387
+ export declare class InlinedResponse {
3388
+ /** The response to the request.
3389
+ */
3390
+ response?: GenerateContentResponse;
3391
+ /** The error encountered while processing the request.
3392
+ */
3393
+ error?: JobError;
3394
+ }
3395
+
3114
3396
  /** Represents a time interval, encoded as a start time (inclusive) and an end time (exclusive).
3115
3397
 
3116
3398
  The start time must be less than or equal to the end time.
@@ -3125,7 +3407,17 @@ export declare interface Interval {
3125
3407
  endTime?: string;
3126
3408
  }
3127
3409
 
3128
- /** Output only. The detailed state of the job. */
3410
+ /** Job error. */
3411
+ export declare interface JobError {
3412
+ /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */
3413
+ details?: string[];
3414
+ /** The status code. */
3415
+ code?: number;
3416
+ /** A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the `details` field. */
3417
+ message?: string;
3418
+ }
3419
+
3420
+ /** Job state. */
3129
3421
  export declare enum JobState {
3130
3422
  /**
3131
3423
  * The job state is unspecified.
@@ -3168,7 +3460,7 @@ export declare enum JobState {
3168
3460
  */
3169
3461
  JOB_STATE_EXPIRED = "JOB_STATE_EXPIRED",
3170
3462
  /**
3171
- * The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.
3463
+ * 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.
3172
3464
  */
3173
3465
  JOB_STATE_UPDATING = "JOB_STATE_UPDATING",
3174
3466
  /**
@@ -3203,6 +3495,33 @@ export declare interface LatLng {
3203
3495
  longitude?: number;
3204
3496
  }
3205
3497
 
3498
+ /** Config for optional parameters. */
3499
+ export declare interface ListBatchJobsConfig {
3500
+ /** Used to override HTTP request options. */
3501
+ httpOptions?: HttpOptions;
3502
+ /** Abort signal which can be used to cancel the request.
3503
+
3504
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
3505
+ operation will not cancel the request in the service. You will still
3506
+ be charged usage for any applicable operations.
3507
+ */
3508
+ abortSignal?: AbortSignal;
3509
+ pageSize?: number;
3510
+ pageToken?: string;
3511
+ filter?: string;
3512
+ }
3513
+
3514
+ /** Config for batches.list parameters. */
3515
+ export declare interface ListBatchJobsParameters {
3516
+ config?: ListBatchJobsConfig;
3517
+ }
3518
+
3519
+ /** Config for batches.list return value. */
3520
+ export declare class ListBatchJobsResponse {
3521
+ nextPageToken?: string;
3522
+ batchJobs?: BatchJob[];
3523
+ }
3524
+
3206
3525
  /** Config for caches.list method. */
3207
3526
  export declare interface ListCachedContentsConfig {
3208
3527
  /** Used to override HTTP request options. */
@@ -4810,8 +5129,17 @@ export declare type PartUnion = Part | string;
4810
5129
 
4811
5130
  /** Enum that controls the generation of people. */
4812
5131
  export declare enum PersonGeneration {
5132
+ /**
5133
+ * Block generation of images of people.
5134
+ */
4813
5135
  DONT_ALLOW = "DONT_ALLOW",
5136
+ /**
5137
+ * Generate images of adults, but not children.
5138
+ */
4814
5139
  ALLOW_ADULT = "ALLOW_ADULT",
5140
+ /**
5141
+ * Generate images that include adults and children.
5142
+ */
4815
5143
  ALLOW_ALL = "ALLOW_ALL"
4816
5144
  }
4817
5145
 
@@ -5995,6 +6323,7 @@ declare namespace types {
5995
6323
  ControlReferenceType,
5996
6324
  SubjectReferenceType,
5997
6325
  EditMode,
6326
+ VideoCompressionQuality,
5998
6327
  FileState,
5999
6328
  FileSource,
6000
6329
  MediaModality,
@@ -6193,6 +6522,21 @@ declare namespace types {
6193
6522
  DeleteFileConfig,
6194
6523
  DeleteFileParameters,
6195
6524
  DeleteFileResponse,
6525
+ InlinedRequest,
6526
+ BatchJobSource,
6527
+ JobError,
6528
+ InlinedResponse,
6529
+ BatchJobDestination,
6530
+ CreateBatchJobConfig,
6531
+ CreateBatchJobParameters,
6532
+ BatchJob,
6533
+ GetBatchJobConfig,
6534
+ GetBatchJobParameters,
6535
+ CancelBatchJobConfig,
6536
+ CancelBatchJobParameters,
6537
+ ListBatchJobsConfig,
6538
+ ListBatchJobsParameters,
6539
+ ListBatchJobsResponse,
6196
6540
  GetOperationConfig,
6197
6541
  GetOperationParameters,
6198
6542
  FetchPredictOperationConfig,
@@ -6275,7 +6619,8 @@ declare namespace types {
6275
6619
  SpeechConfigUnion,
6276
6620
  ToolUnion,
6277
6621
  ToolListUnion,
6278
- DownloadableFileUnion
6622
+ DownloadableFileUnion,
6623
+ BatchJobSourceUnion
6279
6624
  }
6280
6625
  }
6281
6626
 
@@ -6401,6 +6746,15 @@ export declare interface UpscaleImageConfig {
6401
6746
  /** The level of compression if the ``output_mime_type`` is
6402
6747
  ``image/jpeg``. */
6403
6748
  outputCompressionQuality?: number;
6749
+ /** Whether to add an image enhancing step before upscaling.
6750
+ It is expected to suppress the noise and JPEG compression artifacts
6751
+ from the input image. */
6752
+ enhanceInputImage?: boolean;
6753
+ /** With a higher image preservation factor, the original image
6754
+ pixels are more respected. With a lower image preservation factor, the
6755
+ output image will have be more different from the input image, but
6756
+ with finer details and less noise. */
6757
+ imagePreservationFactor?: number;
6404
6758
  }
6405
6759
 
6406
6760
  /** User-facing config UpscaleImageParameters. */
@@ -6537,6 +6891,20 @@ export declare interface Video {
6537
6891
  mimeType?: string;
6538
6892
  }
6539
6893
 
6894
+ /** Enum that controls the compression quality of the generated videos. */
6895
+ export declare enum VideoCompressionQuality {
6896
+ /**
6897
+ * Optimized video compression quality. This will produce videos
6898
+ with a compressed, smaller file size.
6899
+ */
6900
+ OPTIMIZED = "OPTIMIZED",
6901
+ /**
6902
+ * Lossless video compression quality. This will produce videos
6903
+ with a larger file size.
6904
+ */
6905
+ LOSSLESS = "LOSSLESS"
6906
+ }
6907
+
6540
6908
  /** Describes how the video in the Part should be used by the model. */
6541
6909
  export declare interface VideoMetadata {
6542
6910
  /** The frame rate of the video sent to the model. If not specified, the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google/genai",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/node/index.mjs",