• Returns a reference to a model that can be used in generate calls.

    await ai.generate({
    prompt: 'hi',
    model: gemini('gemini-1.5-flash')
    });

    Parameters

    • version: GeminiVersionString
    • options: 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>;
              },
              {
                  apiKey: z.ZodOptional<z.ZodString>;
                  codeExecution: z.ZodOptional<
                      z.ZodUnion<
                          [z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>],
                      >,
                  >;
                  contextCache: z.ZodOptional<z.ZodBoolean>;
                  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?: "ANY"
                              | "MODE_UNSPECIFIED"
                              | "AUTO"
                              | "NONE";
                          },
                          {
                              allowedFunctionNames?: string[];
                              mode?: "ANY"
                              | "MODE_UNSPECIFIED"
                              | "AUTO"
                              | "NONE";
                          },
                      >,
                  >;
                  responseModalities: z.ZodOptional<
                      z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">,
                  >;
                  safetySettings: z.ZodOptional<
                      z.ZodArray<
                          z.ZodObject<
                              {
                                  category: z.ZodEnum<
                                      [
                                          "HARM_CATEGORY_UNSPECIFIED",
                                          "HARM_CATEGORY_HATE_SPEECH",
                                          "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                                          "HARM_CATEGORY_HARASSMENT",
                                          "HARM_CATEGORY_DANGEROUS_CONTENT",
                                          "HARM_CATEGORY_CIVIC_INTEGRITY",
                                      ],
                                  >;
                                  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_SEXUALLY_EXPLICIT"
                                  | "HARM_CATEGORY_HARASSMENT"
                                  | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                  | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                  threshold: | "BLOCK_LOW_AND_ABOVE"
                                  | "BLOCK_MEDIUM_AND_ABOVE"
                                  | "BLOCK_ONLY_HIGH"
                                  | "BLOCK_NONE";
                              },
                              {
                                  category: | "HARM_CATEGORY_UNSPECIFIED"
                                  | "HARM_CATEGORY_HATE_SPEECH"
                                  | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                  | "HARM_CATEGORY_HARASSMENT"
                                  | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                  | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                  threshold: | "BLOCK_LOW_AND_ABOVE"
                                  | "BLOCK_MEDIUM_AND_ABOVE"
                                  | "BLOCK_ONLY_HIGH"
                                  | "BLOCK_NONE";
                              },
                          >,
                          "many",
                      >,
                  >;
              },
          >,
          z.ZodTypeAny,
          "passthrough",
      > = {}

    Returns ModelReference<typeof GeminiConfigSchema>