import { z, ActionMetadata } from 'genkit'; import { ModelReference, ModelAction } from 'genkit/model'; import { ClientOptions, VertexPluginOptions, Model } from './types.mjs'; import 'google-auth-library'; import '../common/types.mjs'; /** * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * See https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api. */ declare const ImagenConfigSchema: z.ZodObject<{ version: z.ZodOptional; temperature: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; topP: z.ZodOptional; stopSequences: z.ZodOptional>; apiKey: z.ZodOptional; } & { language: z.ZodOptional>; aspectRatio: z.ZodOptional>; negativePrompt: z.ZodOptional; seed: z.ZodOptional; location: z.ZodOptional; personGeneration: z.ZodOptional>; safetySetting: z.ZodOptional>; addWatermark: z.ZodOptional; storageUri: z.ZodOptional; mode: z.ZodOptional>; /** * Describes the editing intention for the request. * * See https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api#edit_images_2 for details. */ editConfig: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ editMode: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ editMode: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; upscaleConfig: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ upscaleFactor: z.ZodEnum<["x2", "x4"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ upscaleFactor: z.ZodEnum<["x2", "x4"]>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ version: z.ZodOptional; temperature: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; topP: z.ZodOptional; stopSequences: z.ZodOptional>; apiKey: z.ZodOptional; } & { language: z.ZodOptional>; aspectRatio: z.ZodOptional>; negativePrompt: z.ZodOptional; seed: z.ZodOptional; location: z.ZodOptional; personGeneration: z.ZodOptional>; safetySetting: z.ZodOptional>; addWatermark: z.ZodOptional; storageUri: z.ZodOptional; mode: z.ZodOptional>; /** * Describes the editing intention for the request. * * See https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api#edit_images_2 for details. */ editConfig: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ editMode: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ editMode: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; upscaleConfig: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ upscaleFactor: z.ZodEnum<["x2", "x4"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ upscaleFactor: z.ZodEnum<["x2", "x4"]>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ version: z.ZodOptional; temperature: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; topP: z.ZodOptional; stopSequences: z.ZodOptional>; apiKey: z.ZodOptional; } & { language: z.ZodOptional>; aspectRatio: z.ZodOptional>; negativePrompt: z.ZodOptional; seed: z.ZodOptional; location: z.ZodOptional; personGeneration: z.ZodOptional>; safetySetting: z.ZodOptional>; addWatermark: z.ZodOptional; storageUri: z.ZodOptional; mode: z.ZodOptional>; /** * Describes the editing intention for the request. * * See https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api#edit_images_2 for details. */ editConfig: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ editMode: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ editMode: z.ZodOptional>; maskMode: z.ZodOptional; classes: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maskType: z.ZodEnum<["background", "foreground", "semantic"]>; classes: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; maskDilation: z.ZodOptional; guidanceScale: z.ZodOptional; productPosition: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; upscaleConfig: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ upscaleFactor: z.ZodEnum<["x2", "x4"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ upscaleFactor: z.ZodEnum<["x2", "x4"]>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; type ImagenConfigSchemaType = typeof ImagenConfigSchema; type ImagenConfig = z.infer; declare const ImagenTryOnConfigSchema: z.ZodObject<{ sampleCount: z.ZodOptional; seed: z.ZodOptional; baseSteps: z.ZodOptional; personGeneration: z.ZodOptional>; safetySetting: z.ZodOptional>; storageUri: z.ZodOptional; outputOptions: z.ZodOptional; compressionQuality: z.ZodOptional; }, "strip", z.ZodTypeAny, { mimeType?: string | undefined; compressionQuality?: number | undefined; }, { mimeType?: string | undefined; compressionQuality?: number | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ sampleCount: z.ZodOptional; seed: z.ZodOptional; baseSteps: z.ZodOptional; personGeneration: z.ZodOptional>; safetySetting: z.ZodOptional>; storageUri: z.ZodOptional; outputOptions: z.ZodOptional; compressionQuality: z.ZodOptional; }, "strip", z.ZodTypeAny, { mimeType?: string | undefined; compressionQuality?: number | undefined; }, { mimeType?: string | undefined; compressionQuality?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ sampleCount: z.ZodOptional; seed: z.ZodOptional; baseSteps: z.ZodOptional; personGeneration: z.ZodOptional>; safetySetting: z.ZodOptional>; storageUri: z.ZodOptional; outputOptions: z.ZodOptional; compressionQuality: z.ZodOptional; }, "strip", z.ZodTypeAny, { mimeType?: string | undefined; compressionQuality?: number | undefined; }, { mimeType?: string | undefined; compressionQuality?: number | undefined; }>>; }, z.ZodTypeAny, "passthrough">>; type ImagenTryOnConfigSchemaType = typeof ImagenTryOnConfigSchema; type ImagenTryOnConfig = z.infer; type ConfigSchemaType = ImagenConfigSchemaType | ImagenTryOnConfigSchemaType; declare const KNOWN_MODELS: { readonly 'virtual-try-on-001': ModelReference; }; type KnownModels = keyof typeof KNOWN_MODELS; type ImagenModelName = KnownModels | `imagen-${string}` | `virtual-try-on-${string}`; declare function isImagenModelName(value?: string): value is ImagenModelName; declare function model(version: string, config?: ImagenConfig): ModelReference; declare function listActions(models: Model[]): ActionMetadata[]; declare function listKnownModels(clientOptions: ClientOptions, pluginOptions?: VertexPluginOptions): ModelAction[]; declare function defineModel(name: string, clientOptions: ClientOptions, pluginOptions?: VertexPluginOptions): ModelAction; declare const TEST_ONLY: { GENERIC_MODEL: ModelReference; KNOWN_MODELS: { readonly 'virtual-try-on-001': ModelReference; }; HIDDEN_MODELS: {}; ALL_MODELS: { 'virtual-try-on-001': ModelReference; }; }; export { type ConfigSchemaType, type ImagenConfig, ImagenConfigSchema, type ImagenConfigSchemaType, type ImagenModelName, type ImagenTryOnConfig, ImagenTryOnConfigSchema, type ImagenTryOnConfigSchemaType, KNOWN_MODELS, type KnownModels, TEST_ONLY, defineModel, isImagenModelName, listActions, listKnownModels, model };