Google Cloud Vertex AI plugin for Genkit. Includes Gemini and Imagen models and text embedder.

Methods

Methods

  • Parameters

    • name: string
    • Optionalconfig: {
          location?: string;
          outputDimensionality?: number;
          taskType?:
              | "RETRIEVAL_DOCUMENT"
              | "RETRIEVAL_QUERY"
              | "SEMANTIC_SIMILARITY"
              | "CLASSIFICATION"
              | "CLUSTERING";
          title?: string;
          version?: string;
      }
      • Optionallocation?: string
      • OptionaloutputDimensionality?: number

        The outputDimensionality parameter allows you to specify the dimensionality of the embedding output. By default, the model generates embeddings with 768 dimensions. Models such as text-embedding-004, text-embedding-005, and text-multilingual-embedding-002 allow the output dimensionality to be adjusted between 1 and 768. By selecting a smaller output dimensionality, users can save memory and storage space, leading to more efficient computations.

      • OptionaltaskType?:
            | "RETRIEVAL_DOCUMENT"
            | "RETRIEVAL_QUERY"
            | "SEMANTIC_SIMILARITY"
            | "CLASSIFICATION"
            | "CLUSTERING"

        The task_type parameter is defined as the intended downstream application to help the model produce better quality embeddings.

      • Optionaltitle?: string
      • Optionalversion?: string

    Returns EmbedderReference<
        z.ZodObject<
            {
                location: z.ZodOptional<z.ZodString>;
                outputDimensionality: z.ZodOptional<z.ZodNumber>;
                taskType: z.ZodOptional<
                    z.ZodEnum<
                        [
                            "RETRIEVAL_DOCUMENT",
                            "RETRIEVAL_QUERY",
                            "SEMANTIC_SIMILARITY",
                            "CLASSIFICATION",
                            "CLUSTERING",
                        ],
                    >,
                >;
                title: z.ZodOptional<z.ZodString>;
                version: z.ZodOptional<z.ZodString>;
            },
            "strip",
            z.ZodTypeAny,
            {
                location?: string;
                outputDimensionality?: number;
                taskType?: | "RETRIEVAL_DOCUMENT"
                | "RETRIEVAL_QUERY"
                | "SEMANTIC_SIMILARITY"
                | "CLASSIFICATION"
                | "CLUSTERING";
                title?: string;
                version?: string;
            },
            {
                location?: string;
                outputDimensionality?: number;
                taskType?: | "RETRIEVAL_DOCUMENT"
                | "RETRIEVAL_QUERY"
                | "SEMANTIC_SIMILARITY"
                | "CLASSIFICATION"
                | "CLUSTERING";
                title?: string;
                version?: string;
            },
        >,
    >

  • Parameters

    • name: `gemini-${string}`
    • Optionalconfig: z.objectOutputType<
          z.objectUtil.extendShape<
              {
                  maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                  stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                  temperature: z.ZodOptional<z.ZodNumber>;
                  topK: z.ZodOptional<z.ZodNumber>;
                  topP: z.ZodOptional<z.ZodNumber>;
                  version: z.ZodOptional<z.ZodString>;
              },
              {
                  functionCallingConfig: z.ZodOptional<
                      z.ZodObject<
                          {
                              allowedFunctionNames: z.ZodOptional<
                                  z.ZodArray<z.ZodString, "many">,
                              >;
                              mode: z.ZodOptional<
                                  z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>,
                              >;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              allowedFunctionNames?: string[];
                              mode?: "MODE_UNSPECIFIED"
                              | "AUTO"
                              | "ANY"
                              | "NONE";
                          },
                          {
                              allowedFunctionNames?: string[];
                              mode?: "MODE_UNSPECIFIED"
                              | "AUTO"
                              | "ANY"
                              | "NONE";
                          },
                      >,
                  >;
                  googleSearchRetrieval: z.ZodOptional<
                      z.ZodObject<
                          { disableAttribution: z.ZodOptional<z.ZodBoolean> },
                          "strip",
                          z.ZodTypeAny,
                          { disableAttribution?: boolean },
                          { disableAttribution?: boolean },
                      >,
                  >;
                  location: z.ZodOptional<z.ZodString>;
                  maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                  safetySettings: z.ZodOptional<
                      z.ZodArray<
                          z.ZodObject<
                              {
                                  category: z.ZodEnum<
                                      [
                                          "HARM_CATEGORY_UNSPECIFIED",
                                          "HARM_CATEGORY_HATE_SPEECH",
                                          "HARM_CATEGORY_DANGEROUS_CONTENT",
                                          "HARM_CATEGORY_HARASSMENT",
                                          "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                                      ],
                                  >;
                                  threshold: z.ZodEnum<
                                      [
                                          "BLOCK_LOW_AND_ABOVE",
                                          "BLOCK_MEDIUM_AND_ABOVE",
                                          "BLOCK_ONLY_HIGH",
                                          "BLOCK_NONE",
                                      ],
                                  >;
                              },
                              "strip",
                              z.ZodTypeAny,
                              {
                                  category: | "HARM_CATEGORY_UNSPECIFIED"
                                  | "HARM_CATEGORY_HATE_SPEECH"
                                  | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                  | "HARM_CATEGORY_HARASSMENT"
                                  | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                  threshold: | "BLOCK_LOW_AND_ABOVE"
                                  | "BLOCK_MEDIUM_AND_ABOVE"
                                  | "BLOCK_ONLY_HIGH"
                                  | "BLOCK_NONE";
                              },
                              {
                                  category: | "HARM_CATEGORY_UNSPECIFIED"
                                  | "HARM_CATEGORY_HATE_SPEECH"
                                  | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                  | "HARM_CATEGORY_HARASSMENT"
                                  | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                  threshold: | "BLOCK_LOW_AND_ABOVE"
                                  | "BLOCK_MEDIUM_AND_ABOVE"
                                  | "BLOCK_ONLY_HIGH"
                                  | "BLOCK_NONE";
                              },
                          >,
                          "many",
                      >,
                  >;
                  temperature: z.ZodOptional<z.ZodNumber>;
                  topK: z.ZodOptional<z.ZodNumber>;
                  topP: z.ZodOptional<z.ZodNumber>;
                  vertexRetrieval: z.ZodOptional<
                      z.ZodObject<
                          {
                              datastore: z.ZodObject<
                                  {
                                      dataStoreId: z.ZodString;
                                      location: z.ZodOptional<z.ZodString>;
                                      projectId: z.ZodOptional<z.ZodString>;
                                  },
                                  "strip",
                                  z.ZodTypeAny,
                                  { dataStoreId: string; location?: string; projectId?: string },
                                  { dataStoreId: string; location?: string; projectId?: string },
                              >;
                              disableAttribution: z.ZodOptional<z.ZodBoolean>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              datastore: {
                                  dataStoreId: string;
                                  location?: string;
                                  projectId?: string;
                              };
                              disableAttribution?: boolean;
                          },
                          {
                              datastore: {
                                  dataStoreId: string;
                                  location?: string;
                                  projectId?: string;
                              };
                              disableAttribution?: boolean;
                          },
                      >,
                  >;
              },
          >,
          z.ZodTypeAny,
          "passthrough",
      >

    Returns ModelReference<
        z.ZodObject<
            z.objectUtil.extendShape<
                {
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    version: z.ZodOptional<z.ZodString>;
                },
                {
                    functionCallingConfig: z.ZodOptional<
                        z.ZodObject<
                            {
                                allowedFunctionNames: z.ZodOptional<
                                    z.ZodArray<z.ZodString, "many">,
                                >;
                                mode: z.ZodOptional<
                                    z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>,
                                >;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                allowedFunctionNames?: string[];
                                mode?: "MODE_UNSPECIFIED"
                                | "AUTO"
                                | "ANY"
                                | "NONE";
                            },
                            {
                                allowedFunctionNames?: string[];
                                mode?: "MODE_UNSPECIFIED"
                                | "AUTO"
                                | "ANY"
                                | "NONE";
                            },
                        >,
                    >;
                    googleSearchRetrieval: z.ZodOptional<
                        z.ZodObject<
                            { disableAttribution: z.ZodOptional<z.ZodBoolean> },
                            "strip",
                            z.ZodTypeAny,
                            { disableAttribution?: boolean },
                            { disableAttribution?: boolean },
                        >,
                    >;
                    location: z.ZodOptional<z.ZodString>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    safetySettings: z.ZodOptional<
                        z.ZodArray<
                            z.ZodObject<
                                {
                                    category: z.ZodEnum<
                                        [
                                            "HARM_CATEGORY_UNSPECIFIED",
                                            "HARM_CATEGORY_HATE_SPEECH",
                                            "HARM_CATEGORY_DANGEROUS_CONTENT",
                                            "HARM_CATEGORY_HARASSMENT",
                                            "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                                        ],
                                    >;
                                    threshold: z.ZodEnum<
                                        [
                                            "BLOCK_LOW_AND_ABOVE",
                                            "BLOCK_MEDIUM_AND_ABOVE",
                                            "BLOCK_ONLY_HIGH",
                                            "BLOCK_NONE",
                                        ],
                                    >;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    category: | "HARM_CATEGORY_UNSPECIFIED"
                                    | "HARM_CATEGORY_HATE_SPEECH"
                                    | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                    | "HARM_CATEGORY_HARASSMENT"
                                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                    threshold: | "BLOCK_LOW_AND_ABOVE"
                                    | "BLOCK_MEDIUM_AND_ABOVE"
                                    | "BLOCK_ONLY_HIGH"
                                    | "BLOCK_NONE";
                                },
                                {
                                    category: | "HARM_CATEGORY_UNSPECIFIED"
                                    | "HARM_CATEGORY_HATE_SPEECH"
                                    | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                    | "HARM_CATEGORY_HARASSMENT"
                                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                    threshold: | "BLOCK_LOW_AND_ABOVE"
                                    | "BLOCK_MEDIUM_AND_ABOVE"
                                    | "BLOCK_ONLY_HIGH"
                                    | "BLOCK_NONE";
                                },
                            >,
                            "many",
                        >,
                    >;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    vertexRetrieval: z.ZodOptional<
                        z.ZodObject<
                            {
                                datastore: z.ZodObject<
                                    {
                                        dataStoreId: z.ZodString;
                                        location: z.ZodOptional<z.ZodString>;
                                        projectId: z.ZodOptional<z.ZodString>;
                                    },
                                    "strip",
                                    z.ZodTypeAny,
                                    { dataStoreId: string; location?: string; projectId?: string },
                                    { dataStoreId: string; location?: string; projectId?: string },
                                >;
                                disableAttribution: z.ZodOptional<z.ZodBoolean>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                datastore: {
                                    dataStoreId: string;
                                    location?: string;
                                    projectId?: string;
                                };
                                disableAttribution?: boolean;
                            },
                            {
                                datastore: {
                                    dataStoreId: string;
                                    location?: string;
                                    projectId?: string;
                                };
                                disableAttribution?: boolean;
                            },
                        >,
                    >;
                },
            >,
            "passthrough",
            z.ZodTypeAny,
            z.objectOutputType<
                z.objectUtil.extendShape<
                    {
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        version: z.ZodOptional<z.ZodString>;
                    },
                    {
                        functionCallingConfig: z.ZodOptional<
                            z.ZodObject<
                                {
                                    allowedFunctionNames: z.ZodOptional<
                                        z.ZodArray<z.ZodString, "many">,
                                    >;
                                    mode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    allowedFunctionNames?: string[];
                                    mode?: "MODE_UNSPECIFIED"
                                    | "AUTO"
                                    | "ANY"
                                    | "NONE";
                                },
                                {
                                    allowedFunctionNames?: string[];
                                    mode?: "MODE_UNSPECIFIED"
                                    | "AUTO"
                                    | "ANY"
                                    | "NONE";
                                },
                            >,
                        >;
                        googleSearchRetrieval: z.ZodOptional<
                            z.ZodObject<
                                { disableAttribution: z.ZodOptional<z.ZodBoolean> },
                                "strip",
                                z.ZodTypeAny,
                                { disableAttribution?: boolean },
                                { disableAttribution?: boolean },
                            >,
                        >;
                        location: z.ZodOptional<z.ZodString>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        safetySettings: z.ZodOptional<
                            z.ZodArray<
                                z.ZodObject<
                                    {
                                        category: z.ZodEnum<[(...), (...), (...), (...), (...)]>;
                                        threshold: z.ZodEnum<[(...), (...), (...), (...)]>;
                                    },
                                    "strip",
                                    z.ZodTypeAny,
                                    {
                                        category: | "HARM_CATEGORY_UNSPECIFIED"
                                        | "HARM_CATEGORY_HATE_SPEECH"
                                        | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                        | "HARM_CATEGORY_HARASSMENT"
                                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                        threshold: | "BLOCK_LOW_AND_ABOVE"
                                        | "BLOCK_MEDIUM_AND_ABOVE"
                                        | "BLOCK_ONLY_HIGH"
                                        | "BLOCK_NONE";
                                    },
                                    {
                                        category: | "HARM_CATEGORY_UNSPECIFIED"
                                        | "HARM_CATEGORY_HATE_SPEECH"
                                        | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                        | "HARM_CATEGORY_HARASSMENT"
                                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                        threshold: | "BLOCK_LOW_AND_ABOVE"
                                        | "BLOCK_MEDIUM_AND_ABOVE"
                                        | "BLOCK_ONLY_HIGH"
                                        | "BLOCK_NONE";
                                    },
                                >,
                                "many",
                            >,
                        >;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        vertexRetrieval: z.ZodOptional<
                            z.ZodObject<
                                {
                                    datastore: z.ZodObject<
                                        {
                                            dataStoreId: z.ZodString;
                                            location: z.ZodOptional<(...)>;
                                            projectId: z.ZodOptional<(...)>;
                                        },
                                        "strip",
                                        z.ZodTypeAny,
                                        {
                                            dataStoreId: string;
                                            location?: (...)
                                            | (...);
                                            projectId?: (...) | (...);
                                        },
                                        {
                                            dataStoreId: string;
                                            location?: (...)
                                            | (...);
                                            projectId?: (...) | (...);
                                        },
                                    >;
                                    disableAttribution: z.ZodOptional<z.ZodBoolean>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    datastore: {
                                        dataStoreId: string;
                                        location?: string;
                                        projectId?: string;
                                    };
                                    disableAttribution?: boolean;
                                },
                                {
                                    datastore: {
                                        dataStoreId: string;
                                        location?: string;
                                        projectId?: string;
                                    };
                                    disableAttribution?: boolean;
                                },
                            >,
                        >;
                    },
                >,
                z.ZodTypeAny,
                "passthrough",
            >,
            z.objectInputType<
                z.objectUtil.extendShape<
                    {
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        version: z.ZodOptional<z.ZodString>;
                    },
                    {
                        functionCallingConfig: z.ZodOptional<
                            z.ZodObject<
                                {
                                    allowedFunctionNames: z.ZodOptional<
                                        z.ZodArray<z.ZodString, "many">,
                                    >;
                                    mode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    allowedFunctionNames?: string[];
                                    mode?: "MODE_UNSPECIFIED"
                                    | "AUTO"
                                    | "ANY"
                                    | "NONE";
                                },
                                {
                                    allowedFunctionNames?: string[];
                                    mode?: "MODE_UNSPECIFIED"
                                    | "AUTO"
                                    | "ANY"
                                    | "NONE";
                                },
                            >,
                        >;
                        googleSearchRetrieval: z.ZodOptional<
                            z.ZodObject<
                                { disableAttribution: z.ZodOptional<z.ZodBoolean> },
                                "strip",
                                z.ZodTypeAny,
                                { disableAttribution?: boolean },
                                { disableAttribution?: boolean },
                            >,
                        >;
                        location: z.ZodOptional<z.ZodString>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        safetySettings: z.ZodOptional<
                            z.ZodArray<
                                z.ZodObject<
                                    {
                                        category: z.ZodEnum<[(...), (...), (...), (...), (...)]>;
                                        threshold: z.ZodEnum<[(...), (...), (...), (...)]>;
                                    },
                                    "strip",
                                    z.ZodTypeAny,
                                    {
                                        category: | "HARM_CATEGORY_UNSPECIFIED"
                                        | "HARM_CATEGORY_HATE_SPEECH"
                                        | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                        | "HARM_CATEGORY_HARASSMENT"
                                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                        threshold: | "BLOCK_LOW_AND_ABOVE"
                                        | "BLOCK_MEDIUM_AND_ABOVE"
                                        | "BLOCK_ONLY_HIGH"
                                        | "BLOCK_NONE";
                                    },
                                    {
                                        category: | "HARM_CATEGORY_UNSPECIFIED"
                                        | "HARM_CATEGORY_HATE_SPEECH"
                                        | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                        | "HARM_CATEGORY_HARASSMENT"
                                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                        threshold: | "BLOCK_LOW_AND_ABOVE"
                                        | "BLOCK_MEDIUM_AND_ABOVE"
                                        | "BLOCK_ONLY_HIGH"
                                        | "BLOCK_NONE";
                                    },
                                >,
                                "many",
                            >,
                        >;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        vertexRetrieval: z.ZodOptional<
                            z.ZodObject<
                                {
                                    datastore: z.ZodObject<
                                        {
                                            dataStoreId: z.ZodString;
                                            location: z.ZodOptional<(...)>;
                                            projectId: z.ZodOptional<(...)>;
                                        },
                                        "strip",
                                        z.ZodTypeAny,
                                        {
                                            dataStoreId: string;
                                            location?: (...)
                                            | (...);
                                            projectId?: (...) | (...);
                                        },
                                        {
                                            dataStoreId: string;
                                            location?: (...)
                                            | (...);
                                            projectId?: (...) | (...);
                                        },
                                    >;
                                    disableAttribution: z.ZodOptional<z.ZodBoolean>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    datastore: {
                                        dataStoreId: string;
                                        location?: string;
                                        projectId?: string;
                                    };
                                    disableAttribution?: boolean;
                                },
                                {
                                    datastore: {
                                        dataStoreId: string;
                                        location?: string;
                                        projectId?: string;
                                    };
                                    disableAttribution?: boolean;
                                },
                            >,
                        >;
                    },
                >,
                z.ZodTypeAny,
                "passthrough",
            >,
        >,
    >

  • Parameters

    • name: `imagen${string}`
    • Optionalconfig: z.objectOutputType<
          z.objectUtil.extendShape<
              {
                  maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                  stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                  temperature: z.ZodOptional<z.ZodNumber>;
                  topK: z.ZodOptional<z.ZodNumber>;
                  topP: z.ZodOptional<z.ZodNumber>;
                  version: z.ZodOptional<z.ZodString>;
              },
              {
                  addWatermark: z.ZodOptional<z.ZodBoolean>;
                  aspectRatio: z.ZodOptional<
                      z.ZodEnum<["1:1", "9:16", "16:9", "3:4", "4:3"]>,
                  >;
                  editConfig: z.ZodOptional<
                      z.ZodObject<
                          {
                              editMode: z.ZodOptional<
                                  z.ZodEnum<
                                      [
                                          "inpainting-insert",
                                          "inpainting-remove",
                                          "outpainting",
                                          "product-image",
                                      ],
                                  >,
                              >;
                              guidanceScale: z.ZodOptional<z.ZodNumber>;
                              maskDilation: z.ZodOptional<z.ZodNumber>;
                              maskMode: z.ZodOptional<
                                  z.ZodObject<
                                      { classes: z.ZodOptional<(...)>; maskType: z.ZodEnum<(...)> },
                                      "strip",
                                      z.ZodTypeAny,
                                      { classes?: (...) | (...); maskType: (...) | (...) | (...) },
                                      { classes?: (...) | (...); maskType: (...) | (...) | (...) },
                                  >,
                              >;
                              productPosition: z.ZodOptional<z.ZodEnum<["reposition", "fixed"]>>;
                          },
                          "passthrough",
                          z.ZodTypeAny,
                          z.objectOutputType<
                              {
                                  editMode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                  guidanceScale: z.ZodOptional<z.ZodNumber>;
                                  maskDilation: z.ZodOptional<z.ZodNumber>;
                                  maskMode: z.ZodOptional<
                                      z.ZodObject<
                                          { classes: ...; maskType: ... },
                                          "strip",
                                          z.ZodTypeAny,
                                          { classes?: ...; maskType: ... },
                                          { classes?: ...; maskType: ... },
                                      >,
                                  >;
                                  productPosition: z.ZodOptional<z.ZodEnum<[(...), (...)]>>;
                              },
                              z.ZodTypeAny,
                              "passthrough",
                          >,
                          z.objectInputType<
                              {
                                  editMode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                  guidanceScale: z.ZodOptional<z.ZodNumber>;
                                  maskDilation: z.ZodOptional<z.ZodNumber>;
                                  maskMode: z.ZodOptional<
                                      z.ZodObject<
                                          { classes: ...; maskType: ... },
                                          "strip",
                                          z.ZodTypeAny,
                                          { classes?: ...; maskType: ... },
                                          { classes?: ...; maskType: ... },
                                      >,
                                  >;
                                  productPosition: z.ZodOptional<z.ZodEnum<[(...), (...)]>>;
                              },
                              z.ZodTypeAny,
                              "passthrough",
                          >,
                      >,
                  >;
                  language: z.ZodOptional<
                      z.ZodEnum<
                          ["auto", "en", "es", "hi", "ja", "ko", "pt", "zh-TW", "zh", "zh-CN"],
                      >,
                  >;
                  location: z.ZodOptional<z.ZodString>;
                  mode: z.ZodOptional<z.ZodEnum<["upscale"]>>;
                  negativePrompt: z.ZodOptional<z.ZodString>;
                  personGeneration: z.ZodOptional<
                      z.ZodEnum<["dont_allow", "allow_adult", "allow_all"]>,
                  >;
                  safetySetting: z.ZodOptional<
                      z.ZodEnum<["block_most", "block_some", "block_few", "block_fewest"]>,
                  >;
                  seed: z.ZodOptional<z.ZodNumber>;
                  storageUri: z.ZodOptional<z.ZodString>;
                  upscaleConfig: z.ZodOptional<
                      z.ZodObject<
                          { upscaleFactor: z.ZodEnum<["x2", "x4"]> },
                          "strip",
                          z.ZodTypeAny,
                          { upscaleFactor: "x2" | "x4" },
                          { upscaleFactor: "x2" | "x4" },
                      >,
                  >;
              },
          >,
          z.ZodTypeAny,
          "passthrough",
      >

    Returns ModelReference<
        z.ZodObject<
            z.objectUtil.extendShape<
                {
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    version: z.ZodOptional<z.ZodString>;
                },
                {
                    addWatermark: z.ZodOptional<z.ZodBoolean>;
                    aspectRatio: z.ZodOptional<
                        z.ZodEnum<["1:1", "9:16", "16:9", "3:4", "4:3"]>,
                    >;
                    editConfig: z.ZodOptional<
                        z.ZodObject<
                            {
                                editMode: z.ZodOptional<
                                    z.ZodEnum<
                                        [
                                            "inpainting-insert",
                                            "inpainting-remove",
                                            "outpainting",
                                            "product-image",
                                        ],
                                    >,
                                >;
                                guidanceScale: z.ZodOptional<z.ZodNumber>;
                                maskDilation: z.ZodOptional<z.ZodNumber>;
                                maskMode: z.ZodOptional<
                                    z.ZodObject<
                                        { classes: z.ZodOptional<(...)>; maskType: z.ZodEnum<(...)> },
                                        "strip",
                                        z.ZodTypeAny,
                                        { classes?: (...) | (...); maskType: (...) | (...) | (...) },
                                        { classes?: (...) | (...); maskType: (...) | (...) | (...) },
                                    >,
                                >;
                                productPosition: z.ZodOptional<z.ZodEnum<["reposition", "fixed"]>>;
                            },
                            "passthrough",
                            z.ZodTypeAny,
                            z.objectOutputType<
                                {
                                    editMode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                    guidanceScale: z.ZodOptional<z.ZodNumber>;
                                    maskDilation: z.ZodOptional<z.ZodNumber>;
                                    maskMode: z.ZodOptional<
                                        z.ZodObject<
                                            { classes: ...; maskType: ... },
                                            "strip",
                                            z.ZodTypeAny,
                                            { classes?: ...; maskType: ... },
                                            { classes?: ...; maskType: ... },
                                        >,
                                    >;
                                    productPosition: z.ZodOptional<z.ZodEnum<[(...), (...)]>>;
                                },
                                z.ZodTypeAny,
                                "passthrough",
                            >,
                            z.objectInputType<
                                {
                                    editMode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                    guidanceScale: z.ZodOptional<z.ZodNumber>;
                                    maskDilation: z.ZodOptional<z.ZodNumber>;
                                    maskMode: z.ZodOptional<
                                        z.ZodObject<
                                            { classes: ...; maskType: ... },
                                            "strip",
                                            z.ZodTypeAny,
                                            { classes?: ...; maskType: ... },
                                            { classes?: ...; maskType: ... },
                                        >,
                                    >;
                                    productPosition: z.ZodOptional<z.ZodEnum<[(...), (...)]>>;
                                },
                                z.ZodTypeAny,
                                "passthrough",
                            >,
                        >,
                    >;
                    language: z.ZodOptional<
                        z.ZodEnum<
                            [
                                "auto",
                                "en",
                                "es",
                                "hi",
                                "ja",
                                "ko",
                                "pt",
                                "zh-TW",
                                "zh",
                                "zh-CN",
                            ],
                        >,
                    >;
                    location: z.ZodOptional<z.ZodString>;
                    mode: z.ZodOptional<z.ZodEnum<["upscale"]>>;
                    negativePrompt: z.ZodOptional<z.ZodString>;
                    personGeneration: z.ZodOptional<
                        z.ZodEnum<["dont_allow", "allow_adult", "allow_all"]>,
                    >;
                    safetySetting: z.ZodOptional<
                        z.ZodEnum<["block_most", "block_some", "block_few", "block_fewest"]>,
                    >;
                    seed: z.ZodOptional<z.ZodNumber>;
                    storageUri: z.ZodOptional<z.ZodString>;
                    upscaleConfig: z.ZodOptional<
                        z.ZodObject<
                            { upscaleFactor: z.ZodEnum<["x2", "x4"]> },
                            "strip",
                            z.ZodTypeAny,
                            { upscaleFactor: "x2" | "x4" },
                            { upscaleFactor: "x2" | "x4" },
                        >,
                    >;
                },
            >,
            "passthrough",
            z.ZodTypeAny,
            z.objectOutputType<
                z.objectUtil.extendShape<
                    {
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        version: z.ZodOptional<z.ZodString>;
                    },
                    {
                        addWatermark: z.ZodOptional<z.ZodBoolean>;
                        aspectRatio: z.ZodOptional<
                            z.ZodEnum<["1:1", "9:16", "16:9", "3:4", "4:3"]>,
                        >;
                        editConfig: z.ZodOptional<
                            z.ZodObject<
                                {
                                    editMode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                    guidanceScale: z.ZodOptional<z.ZodNumber>;
                                    maskDilation: z.ZodOptional<z.ZodNumber>;
                                    maskMode: z.ZodOptional<
                                        z.ZodObject<
                                            { classes: ...; maskType: ... },
                                            "strip",
                                            z.ZodTypeAny,
                                            { classes?: ...; maskType: ... },
                                            { classes?: ...; maskType: ... },
                                        >,
                                    >;
                                    productPosition: z.ZodOptional<z.ZodEnum<[(...), (...)]>>;
                                },
                                "passthrough",
                                z.ZodTypeAny,
                                z.objectOutputType<
                                    {
                                        editMode: z.ZodOptional<z.ZodEnum<(...)>>;
                                        guidanceScale: z.ZodOptional<z.ZodNumber>;
                                        maskDilation: z.ZodOptional<z.ZodNumber>;
                                        maskMode: z.ZodOptional<
                                            z.ZodObject<(...), (...), (...), (...), (...)>,
                                        >;
                                        productPosition: z.ZodOptional<z.ZodEnum<(...)>>;
                                    },
                                    z.ZodTypeAny,
                                    "passthrough",
                                >,
                                z.objectInputType<
                                    {
                                        editMode: z.ZodOptional<z.ZodEnum<(...)>>;
                                        guidanceScale: z.ZodOptional<z.ZodNumber>;
                                        maskDilation: z.ZodOptional<z.ZodNumber>;
                                        maskMode: z.ZodOptional<
                                            z.ZodObject<(...), (...), (...), (...), (...)>,
                                        >;
                                        productPosition: z.ZodOptional<z.ZodEnum<(...)>>;
                                    },
                                    z.ZodTypeAny,
                                    "passthrough",
                                >,
                            >,
                        >;
                        language: z.ZodOptional<
                            z.ZodEnum<
                                [
                                    "auto",
                                    "en",
                                    "es",
                                    "hi",
                                    "ja",
                                    "ko",
                                    "pt",
                                    "zh-TW",
                                    "zh",
                                    "zh-CN",
                                ],
                            >,
                        >;
                        location: z.ZodOptional<z.ZodString>;
                        mode: z.ZodOptional<z.ZodEnum<["upscale"]>>;
                        negativePrompt: z.ZodOptional<z.ZodString>;
                        personGeneration: z.ZodOptional<
                            z.ZodEnum<["dont_allow", "allow_adult", "allow_all"]>,
                        >;
                        safetySetting: z.ZodOptional<
                            z.ZodEnum<
                                ["block_most", "block_some", "block_few", "block_fewest"],
                            >,
                        >;
                        seed: z.ZodOptional<z.ZodNumber>;
                        storageUri: z.ZodOptional<z.ZodString>;
                        upscaleConfig: z.ZodOptional<
                            z.ZodObject<
                                { upscaleFactor: z.ZodEnum<["x2", "x4"]> },
                                "strip",
                                z.ZodTypeAny,
                                { upscaleFactor: "x2" | "x4" },
                                { upscaleFactor: "x2" | "x4" },
                            >,
                        >;
                    },
                >,
                z.ZodTypeAny,
                "passthrough",
            >,
            z.objectInputType<
                z.objectUtil.extendShape<
                    {
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        version: z.ZodOptional<z.ZodString>;
                    },
                    {
                        addWatermark: z.ZodOptional<z.ZodBoolean>;
                        aspectRatio: z.ZodOptional<
                            z.ZodEnum<["1:1", "9:16", "16:9", "3:4", "4:3"]>,
                        >;
                        editConfig: z.ZodOptional<
                            z.ZodObject<
                                {
                                    editMode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                    guidanceScale: z.ZodOptional<z.ZodNumber>;
                                    maskDilation: z.ZodOptional<z.ZodNumber>;
                                    maskMode: z.ZodOptional<
                                        z.ZodObject<
                                            { classes: ...; maskType: ... },
                                            "strip",
                                            z.ZodTypeAny,
                                            { classes?: ...; maskType: ... },
                                            { classes?: ...; maskType: ... },
                                        >,
                                    >;
                                    productPosition: z.ZodOptional<z.ZodEnum<[(...), (...)]>>;
                                },
                                "passthrough",
                                z.ZodTypeAny,
                                z.objectOutputType<
                                    {
                                        editMode: z.ZodOptional<z.ZodEnum<(...)>>;
                                        guidanceScale: z.ZodOptional<z.ZodNumber>;
                                        maskDilation: z.ZodOptional<z.ZodNumber>;
                                        maskMode: z.ZodOptional<
                                            z.ZodObject<(...), (...), (...), (...), (...)>,
                                        >;
                                        productPosition: z.ZodOptional<z.ZodEnum<(...)>>;
                                    },
                                    z.ZodTypeAny,
                                    "passthrough",
                                >,
                                z.objectInputType<
                                    {
                                        editMode: z.ZodOptional<z.ZodEnum<(...)>>;
                                        guidanceScale: z.ZodOptional<z.ZodNumber>;
                                        maskDilation: z.ZodOptional<z.ZodNumber>;
                                        maskMode: z.ZodOptional<
                                            z.ZodObject<(...), (...), (...), (...), (...)>,
                                        >;
                                        productPosition: z.ZodOptional<z.ZodEnum<(...)>>;
                                    },
                                    z.ZodTypeAny,
                                    "passthrough",
                                >,
                            >,
                        >;
                        language: z.ZodOptional<
                            z.ZodEnum<
                                [
                                    "auto",
                                    "en",
                                    "es",
                                    "hi",
                                    "ja",
                                    "ko",
                                    "pt",
                                    "zh-TW",
                                    "zh",
                                    "zh-CN",
                                ],
                            >,
                        >;
                        location: z.ZodOptional<z.ZodString>;
                        mode: z.ZodOptional<z.ZodEnum<["upscale"]>>;
                        negativePrompt: z.ZodOptional<z.ZodString>;
                        personGeneration: z.ZodOptional<
                            z.ZodEnum<["dont_allow", "allow_adult", "allow_all"]>,
                        >;
                        safetySetting: z.ZodOptional<
                            z.ZodEnum<
                                ["block_most", "block_some", "block_few", "block_fewest"],
                            >,
                        >;
                        seed: z.ZodOptional<z.ZodNumber>;
                        storageUri: z.ZodOptional<z.ZodString>;
                        upscaleConfig: z.ZodOptional<
                            z.ZodObject<
                                { upscaleFactor: z.ZodEnum<["x2", "x4"]> },
                                "strip",
                                z.ZodTypeAny,
                                { upscaleFactor: "x2" | "x4" },
                                { upscaleFactor: "x2" | "x4" },
                            >,
                        >;
                    },
                >,
                z.ZodTypeAny,
                "passthrough",
            >,
        >,
    >

  • Parameters

    • name: string
    • Optionalconfig: any

    Returns ModelReference<z.ZodTypeAny>