import { z, ActionMetadata, Operation, GenerateResponseData } from 'genkit'; import { ModelReference, BackgroundModelAction, GenerateRequest } from 'genkit/model'; import { Model, GoogleAIPluginOptions, VeoParameters, VeoOperation } from './types.js'; import '../common/types.js'; /** * Copyright 2025 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://ai.google.dev/gemini-api/docs/video */ declare const VeoConfigSchema: z.ZodObject<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; type VeoConfigSchemaType = typeof VeoConfigSchema; type VeoConfig = z.infer; type ConfigSchemaType = VeoConfigSchemaType; declare const KNOWN_MODELS: { readonly 'veo-3.1-generate-preview': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; readonly 'veo-3.1-fast-generate-preview': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; readonly 'veo-3.0-generate-001': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; readonly 'veo-3.0-fast-generate-001': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; readonly 'veo-2.0-generate-001': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }; type KnownModels = keyof typeof KNOWN_MODELS; type VeoModelName = `veo-${string}`; declare function isVeoModelName(value?: string): value is VeoModelName; declare function model(version: string, config?: VeoConfig): ModelReference; declare function listActions(models: Model[]): ActionMetadata[]; declare function listKnownModels(options?: GoogleAIPluginOptions): BackgroundModelAction; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>[]; /** * Defines a new GoogleAI Veo model. */ declare function defineModel(name: string, pluginOptions?: GoogleAIPluginOptions): BackgroundModelAction; declare function toVeoParameters(request: GenerateRequest): VeoParameters; declare function fromVeoOperation(apiOp: VeoOperation): Operation; declare const TEST_ONLY: { toVeoParameters: typeof toVeoParameters; fromVeoOperation: typeof fromVeoOperation; GENERIC_MODEL: ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; KNOWN_MODELS: { readonly 'veo-3.1-generate-preview': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; readonly 'veo-3.1-fast-generate-preview': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; readonly 'veo-3.0-generate-001': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; readonly 'veo-3.0-fast-generate-001': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; readonly 'veo-2.0-generate-001': ModelReference; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ negativePrompt: z.ZodOptional; aspectRatio: z.ZodOptional>; personGeneration: z.ZodOptional>; durationSeconds: z.ZodOptional; enhancePrompt: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }; }; export { type KnownModels, TEST_ONLY, type VeoConfig, VeoConfigSchema, type VeoConfigSchemaType, type VeoModelName, defineModel, isVeoModelName, listActions, listKnownModels, model };