Guía de inicio rápido: Genera texto con la API de Gemini en Vertex AI

En esta guía de inicio rápido, enviarás las siguientes solicitudes multimodales a la API de Gemini en Vertex AI y verás las respuestas:

  • Una instrucción de texto
  • Un mensaje y una imagen
  • Una instrucción y un archivo de video (con una pista de audio)

Puedes completar esta guía de inicio rápido con un SDK de lenguaje de programación en tu entorno local o la API de REST.

Requisitos previos

Para completar esta guía de inicio rápido, debes hacer lo siguiente:

  • Configurar un Google Cloud proyecto y habilitar la API de Vertex AI
  • En tu máquina local, haz lo siguiente:
    • Instala, inicializa y autentica Google Cloud CLI
    • Instala el SDK para tu lenguaje

Configura un Google Cloud proyecto

Configura tu Google Cloud proyecto y habilita la API de Vertex AI.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. Make sure that you have the following role or roles on the project: Vertex AI Platform Express User

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.

    5. En la lista Seleccionar un rol, elige un rol.
    6. Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
    7. Haz clic en Guardar.
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Vertex AI API.

    Enable the API

  9. Make sure that you have the following role or roles on the project: Vertex AI Platform Express User

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.

    5. En la lista Seleccionar un rol, elige un rol.
    6. Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
    7. Haz clic en Guardar.

    Instala Google Cloud CLI y autentícate con ella

    Para usar la API de Gemini en Vertex AI, configura y autentica Google Cloud CLI en tu máquina local. A diferencia de la API de Gemini en Google AI Studio, que usa claves de API, la API de Gemini en Vertex AI administra el acceso con Identity and Access Management.

    1. Instala y, luego, inicializa Google Cloud CLI.

    2. Si ya instalaste gcloud CLI, ejecuta este comando para asegurarte de que se actualicen los componentes de gcloud.

      gcloud components update
    3. Para autenticarte con gcloud CLI, ejecuta este comando para generar un archivo local de credenciales predeterminadas de la aplicación (ADC). El flujo web que inicia el comando se usa para proporcionar tus credenciales de usuario.

      gcloud auth application-default login

      Para obtener más información, consulta Configura credenciales predeterminadas de la aplicación.

    Configura el SDK para tu lenguaje de programación

    En tu máquina local, haz clic en una de las siguientes pestañas para instalar el SDK de tu lenguaje de programación.

    SDK de IA generativa para Python

    Instala y actualiza el SDK de IA generativa para Python ejecutando este comando.

    pip install --upgrade google-genai

    SDK de IA generativa para Go

    Ejecuta este comando para instalar y actualizar el SDK de IA generativa para Go.

    go get google.golang.org/genai

    SDK de IA generativa para Node.js

    Ejecuta este comando para instalar y actualizar el SDK de IA generativa para Node.js.

    npm install @google/genai

    SDK de IA generativa para Java

    Instala y actualiza el SDK de IA generativa para Java:

    Maven

    Agrega lo siguiente a tu pom.xml:

    <dependencies>
      <dependency>
        <groupId>com.google.genai</groupId>
        <artifactId>google-genai</artifactId>
        <version>0.7.0</version>
      </dependency>
    </dependencies>
    

    C#

    Instala el paquete Google.Cloud.AIPlatform.V1 de NuGet. Usa tu método preferido para agregar paquetes a tu proyecto. Por ejemplo, haz clic con el botón derecho en el proyecto en Visual Studio y selecciona Administrar paquetes NuGet….

    REST

    1. Ingresa lo siguiente para configurar tus variables de entorno. Reemplaza PROJECT_ID por el ID de tu proyecto Google Cloud .

      MODEL_ID="gemini-2.0-flash-001"
      PROJECT_ID="PROJECT_ID"
    2. Usa Google Cloud CLI para aprovisionar el extremo ejecutando este comando.

      gcloud beta services identity create --service=aiplatform.googleapis.com --project=${PROJECT_ID}

    Envía una instrucción a la API de Gemini en Vertex AI

    Usa el siguiente código para enviar un mensaje a la API de Gemini en Vertex AI. En esta muestra, se muestra una lista de nombres posibles para una florería especializada.

    Puedes ejecutar el código desde la línea de comandos, con un IDE o incluyéndolo en tu aplicación.

    Gen AI SDK for Python

    Instalar

    pip install --upgrade google-genai

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    from google import genai
    from google.genai.types import HttpOptions
    
    client = genai.Client(http_options=HttpOptions(api_version="v1"))
    response = client.models.generate_content(
        model="gemini-2.5-flash",
        contents="How does AI work?",
    )
    print(response.text)
    # Example response:
    # Okay, let's break down how AI works. It's a broad field, so I'll focus on the ...
    #
    # Here's a simplified overview:
    # ...

    Gen AI SDK for Go

    Obtén información para instalar o actualizar Gen AI SDK for Go.

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    import (
    	"context"
    	"fmt"
    	"io"
    
    	"google.golang.org/genai"
    )
    
    // generateWithText shows how to generate text using a text prompt.
    func generateWithText(w io.Writer) error {
    	ctx := context.Background()
    
    	client, err := genai.NewClient(ctx, &genai.ClientConfig{
    		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
    	})
    	if err != nil {
    		return fmt.Errorf("failed to create genai client: %w", err)
    	}
    
    	resp, err := client.Models.GenerateContent(ctx,
    		"gemini-2.0-flash-001",
    		genai.Text("How does AI work?"),
    		nil,
    	)
    	if err != nil {
    		return fmt.Errorf("failed to generate content: %w", err)
    	}
    
    	respText, err := resp.Text()
    	if err != nil {
    		return fmt.Errorf("failed to convert model response to text: %w", err)
    	}
    	fmt.Fprintln(w, respText)
    	// Example response:
    	// That's a great question! Understanding how AI works can feel like ...
    	// ...
    	// **1. The Foundation: Data and Algorithms**
    	// ...
    
    	return nil
    }
    

    Gen AI SDK for Node.js

    Instalar

    npm install @google/genai

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    const {GoogleGenAI} = require('@google/genai');
    
    const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
    const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';
    
    async function generateContent(
      projectId = GOOGLE_CLOUD_PROJECT,
      location = GOOGLE_CLOUD_LOCATION
    ) {
      const ai = new GoogleGenAI({
        vertexai: true,
        project: projectId,
        location: location,
      });
    
      const response = await ai.models.generateContent({
        model: 'gemini-2.0-flash',
        contents: 'How does AI work?',
      });
    
      console.log(response.text);
    
      return response.text;
    }

    Gen AI SDK for Java

    Obtén información para instalar o actualizar Gen AI SDK for Java.

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    
    import com.google.genai.Client;
    import com.google.genai.types.Content;
    import com.google.genai.types.GenerateContentResponse;
    import com.google.genai.types.HttpOptions;
    import com.google.genai.types.Part;
    
    public class GenerateContentWithText {
    
      public static void main(String[] args) {
        // TODO(developer): Replace these variables before running the sample.
        String modelId = "gemini-2.0-flash";
        generateContent(modelId);
      }
    
      public static String generateContent(String modelId) {
        // Initialize client that will be used to send requests. This client only needs to be created
        // once, and can be reused for multiple requests.
        try (Client client = Client.builder()
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {
    
          GenerateContentResponse response =
              client.models.generateContent(modelId, Content.fromParts(
                      Part.fromText("How does AI work?")),
                  null);
    
          System.out.print(response.text());
          // Example response:
          // Okay, let's break down how AI works. It's a broad field, so I'll focus on the ...
          //
          // Here's a simplified overview:
          // ...
          return response.text();
        }
      }
    }

    C#

    Para enviar una solicitud de mensaje, crea un archivo C# (.cs) y copia el siguiente código en el archivo. Establece your-project-id en el ID de tu proyecto de Google Cloud . Después de actualizar los valores, ejecuta el código.

    
    using Google.Cloud.AIPlatform.V1;
    using System;
    using System.Threading.Tasks;
    
    public class TextInputSample
    {
        public async Task<string> TextInput(
            string projectId = "your-project-id",
            string location = "us-central1",
            string publisher = "google",
            string model = "gemini-2.0-flash-001")
        {
    
            var predictionServiceClient = new PredictionServiceClientBuilder
            {
                Endpoint = $"{location}-aiplatform.googleapis.com"
            }.Build();
            string prompt = @"What's a good name for a flower shop that specializes in selling bouquets of dried flowers?";
    
            var generateContentRequest = new GenerateContentRequest
            {
                Model = $"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}",
                Contents =
                {
                    new Content
                    {
                        Role = "USER",
                        Parts =
                        {
                            new Part { Text = prompt }
                        }
                    }
                }
            };
    
            GenerateContentResponse response = await predictionServiceClient.GenerateContentAsync(generateContentRequest);
    
            string responseText = response.Candidates[0].Content.Parts[0].Text;
            Console.WriteLine(responseText);
    
            return responseText;
        }
    }
    

    REST

    Para enviar esta solicitud de instrucción, ejecuta el comando curl desde la línea de comandos o incluye la llamada REST en tu aplicación.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/publishers/google/models/${MODEL_ID}:generateContent -d \
    $'{
      "contents": {
        "role": "user",
        "parts": [
          {
            "text": "What\'s a good name for a flower shop that specializes in selling bouquets of dried flowers?"
          }
        ]
      }
    }'

    El modelo muestra una respuesta. Ten en cuenta que la respuesta se genera en secciones y cada sección se evalúa por separado para garantizar la seguridad.

    Envía una instrucción y una imagen a la API de Gemini en Vertex AI

    Usa el siguiente código para enviar una instrucción que incluya texto y una imagen a la API de Gemini en Vertex AI. En este ejemplo, se muestra una descripción de la imagen proporcionada (imagen para la muestra de Java).

    Gen AI SDK for Python

    Instalar

    pip install --upgrade google-genai

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    from google import genai
    from google.genai.types import HttpOptions, Part
    
    client = genai.Client(http_options=HttpOptions(api_version="v1"))
    response = client.models.generate_content(
        model="gemini-2.5-flash",
        contents=[
            "What is shown in this image?",
            Part.from_uri(
                file_uri="gs://cloud-samples-data/generative-ai/image/scones.jpg",
                mime_type="image/jpeg",
            ),
        ],
    )
    print(response.text)
    # Example response:
    # The image shows a flat lay of blueberry scones arranged on parchment paper. There are ...

    Gen AI SDK for Go

    Obtén información para instalar o actualizar Gen AI SDK for Go.

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    import (
    	"context"
    	"fmt"
    	"io"
    
    	genai "google.golang.org/genai"
    )
    
    // generateWithTextImage shows how to generate text using both text and image input
    func generateWithTextImage(w io.Writer) error {
    	ctx := context.Background()
    
    	client, err := genai.NewClient(ctx, &genai.ClientConfig{
    		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
    	})
    	if err != nil {
    		return fmt.Errorf("failed to create genai client: %w", err)
    	}
    
    	modelName := "gemini-2.0-flash-001"
    	contents := []*genai.Content{
    		{Parts: []*genai.Part{
    			{Text: "What is shown in this image?"},
    			{FileData: &genai.FileData{
    				// Image source: https://storage.googleapis.com/cloud-samples-data/generative-ai/image/scones.jpg
    				FileURI:  "gs://cloud-samples-data/generative-ai/image/scones.jpg",
    				MIMEType: "image/jpeg",
    			}},
    		}},
    	}
    
    	resp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)
    	if err != nil {
    		return fmt.Errorf("failed to generate content: %w", err)
    	}
    
    	respText, err := resp.Text()
    	if err != nil {
    		return fmt.Errorf("failed to convert model response to text: %w", err)
    	}
    	fmt.Fprintln(w, respText)
    
    	// Example response:
    	// The image shows an overhead shot of a rustic, artistic arrangement on a surface that ...
    
    	return nil
    }
    

    Gen AI SDK for Node.js

    Instalar

    npm install @google/genai

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    const {GoogleGenAI} = require('@google/genai');
    
    const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
    const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';
    
    async function generateContent(
      projectId = GOOGLE_CLOUD_PROJECT,
      location = GOOGLE_CLOUD_LOCATION
    ) {
      const ai = new GoogleGenAI({
        vertexai: true,
        project: projectId,
        location: location,
      });
    
      const image = {
        fileData: {
          fileUri: 'gs://cloud-samples-data/generative-ai/image/scones.jpg',
          mimeType: 'image/jpeg',
        },
      };
    
      const response = await ai.models.generateContent({
        model: 'gemini-2.0-flash',
        contents: [image, 'What is shown in this image?'],
      });
    
      console.log(response.text);
    
      return response.text;
    }

    Gen AI SDK for Java

    Obtén información para instalar o actualizar Gen AI SDK for Java.

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    
    import com.google.genai.Client;
    import com.google.genai.types.Content;
    import com.google.genai.types.GenerateContentResponse;
    import com.google.genai.types.HttpOptions;
    import com.google.genai.types.Part;
    
    public class GenerateContentWithTextAndImage {
    
      public static void main(String[] args) {
        // TODO(developer): Replace these variables before running the sample.
        String modelId = "gemini-2.0-flash";
        generateContent(modelId);
      }
    
      public static String generateContent(String modelId) {
        // Initialize client that will be used to send requests. This client only needs to be created
        // once, and can be reused for multiple requests.
        try (Client client = Client.builder()
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {
    
          GenerateContentResponse response =
              client.models.generateContent(modelId, Content.fromParts(
                      Part.fromText("What is shown in this image?"),
                      Part.fromUri("gs://cloud-samples-data/generative-ai/image/scones.jpg", "image/jpeg")),
                  null);
    
          System.out.print(response.text());
          // Example response:
          // The image shows a flat lay of blueberry scones arranged on parchment paper. There are ...
          return response.text();
        }
      }
    }

    C#

    Para enviar una solicitud de mensaje, crea un archivo C# (.cs) y copia el siguiente código en el archivo. Establece your-project-id en el ID de tu proyecto de Google Cloud . Después de actualizar los valores, ejecuta el código.

    
    using Google.Api.Gax.Grpc;
    using Google.Cloud.AIPlatform.V1;
    using System.Text;
    using System.Threading.Tasks;
    
    public class GeminiQuickstart
    {
        public async Task<string> GenerateContent(
            string projectId = "your-project-id",
            string location = "us-central1",
            string publisher = "google",
            string model = "gemini-2.0-flash-001"
        )
        {
            // Create client
            var predictionServiceClient = new PredictionServiceClientBuilder
            {
                Endpoint = $"{location}-aiplatform.googleapis.com"
            }.Build();
    
            // Initialize content request
            var generateContentRequest = new GenerateContentRequest
            {
                Model = $"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}",
                GenerationConfig = new GenerationConfig
                {
                    Temperature = 0.4f,
                    TopP = 1,
                    TopK = 32,
                    MaxOutputTokens = 2048
                },
                Contents =
                {
                    new Content
                    {
                        Role = "USER",
                        Parts =
                        {
                            new Part { Text = "What's in this photo?" },
                            new Part { FileData = new() { MimeType = "image/png", FileUri = "gs://generativeai-downloads/images/scones.jpg" } }
                        }
                    }
                }
            };
    
            // Make the request, returning a streaming response
            using PredictionServiceClient.StreamGenerateContentStream response = predictionServiceClient.StreamGenerateContent(generateContentRequest);
    
            StringBuilder fullText = new();
    
            // Read streaming responses from server until complete
            AsyncResponseStream<GenerateContentResponse> responseStream = response.GetResponseStream();
            await foreach (GenerateContentResponse responseItem in responseStream)
            {
                fullText.Append(responseItem.Candidates[0].Content.Parts[0].Text);
            }
    
            return fullText.ToString();
        }
    }
    

    REST

    Puedes enviar esta solicitud de instrucción desde tu IDE o incorporar la llamada REST en tu aplicación cuando corresponda.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/publishers/google/models/${MODEL_ID}:generateContent -d \
    $'{
      "contents": {
        "role": "user",
        "parts": [
          {
          "fileData": {
            "mimeType": "image/jpeg",
            "fileUri": "gs://generativeai-downloads/images/scones.jpg"
            }
          },
          {
            "text": "Describe this picture."
          }
        ]
      }
    }'

    El modelo muestra una respuesta. Ten en cuenta que la respuesta se genera en secciones y cada sección se evalúa por separado para garantizar la seguridad.

    Envía una instrucción y un video a la API de Gemini en Vertex AI

    Usa el siguiente código para enviar una instrucción que incluya texto, audio y video a la API de Gemini en Vertex AI. En este ejemplo, se muestra una descripción del video proporcionado, que incluye cualquier elemento importante de la pista de audio.

    Puedes enviar esta solicitud de instrucción con la línea de comandos, tu IDE o incluyendo la llamada REST en tu aplicación.

    Gen AI SDK for Python

    Instalar

    pip install --upgrade google-genai

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    from google import genai
    from google.genai.types import HttpOptions, Part
    
    client = genai.Client(http_options=HttpOptions(api_version="v1"))
    prompt = """
    Analyze the provided video file, including its audio.
    Summarize the main points of the video concisely.
    Create a chapter breakdown with timestamps for key sections or topics discussed.
    """
    response = client.models.generate_content(
        model="gemini-2.5-flash",
        contents=[
            Part.from_uri(
                file_uri="gs://cloud-samples-data/generative-ai/video/pixel8.mp4",
                mime_type="video/mp4",
            ),
            prompt,
        ],
    )
    
    print(response.text)
    # Example response:
    # Here's a breakdown of the video:
    #
    # **Summary:**
    #
    # Saeka Shimada, a photographer in Tokyo, uses the Google Pixel 8 Pro's "Video Boost" feature to ...
    #
    # **Chapter Breakdown with Timestamps:**
    #
    # * **[00:00-00:12] Introduction & Tokyo at Night:** Saeka Shimada introduces herself ...
    # ...

    Gen AI SDK for Go

    Obtén información para instalar o actualizar Gen AI SDK for Go.

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    import (
    	"context"
    	"fmt"
    	"io"
    
    	genai "google.golang.org/genai"
    )
    
    // generateWithVideo shows how to generate text using a video input.
    func generateWithVideo(w io.Writer) error {
    	ctx := context.Background()
    
    	client, err := genai.NewClient(ctx, &genai.ClientConfig{
    		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
    	})
    	if err != nil {
    		return fmt.Errorf("failed to create genai client: %w", err)
    	}
    
    	modelName := "gemini-2.0-flash-001"
    	contents := []*genai.Content{
    		{Parts: []*genai.Part{
    			{Text: `Analyze the provided video file, including its audio.
    Summarize the main points of the video concisely.
    Create a chapter breakdown with timestamps for key sections or topics discussed.`},
    			{FileData: &genai.FileData{
    				FileURI:  "gs://cloud-samples-data/generative-ai/video/pixel8.mp4",
    				MIMEType: "video/mp4",
    			}},
    		}},
    	}
    
    	resp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)
    	if err != nil {
    		return fmt.Errorf("failed to generate content: %w", err)
    	}
    
    	respText, err := resp.Text()
    	if err != nil {
    		return fmt.Errorf("failed to convert model response to text: %w", err)
    	}
    	fmt.Fprintln(w, respText)
    
    	// Example response:
    	// Here's an analysis of the provided video file:
    	//
    	// **Summary**
    	//
    	// The video features Saeka Shimada, a photographer in Tokyo, who uses the new Pixel phone ...
    	//
    	// **Chapter Breakdown**
    	//
    	// *   **0:00-0:05**: Introduction to Saeka Shimada and her work as a photographer in Tokyo.
    	// ...
    
    	return nil
    }
    

    Gen AI SDK for Node.js

    Instalar

    npm install @google/genai

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    const {GoogleGenAI} = require('@google/genai');
    
    const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
    const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';
    
    async function generateContent(
      projectId = GOOGLE_CLOUD_PROJECT,
      location = GOOGLE_CLOUD_LOCATION
    ) {
      const ai = new GoogleGenAI({
        vertexai: true,
        project: projectId,
        location: location,
      });
    
      const prompt = `
      Analyze the provided video file, including its audio.
      Summarize the main points of the video concisely.
      Create a chapter breakdown with timestamps for key sections or topics discussed.
     `;
    
      const video = {
        fileData: {
          fileUri: 'gs://cloud-samples-data/generative-ai/video/pixel8.mp4',
          mimeType: 'video/mp4',
        },
      };
    
      const response = await ai.models.generateContent({
        model: 'gemini-2.0-flash',
        contents: [video, prompt],
      });
    
      console.log(response.text);
    
      return response.text;
    }

    Gen AI SDK for Java

    Obtén información para instalar o actualizar Gen AI SDK for Java.

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa con Vertex AI:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    
    import com.google.genai.Client;
    import com.google.genai.types.Content;
    import com.google.genai.types.GenerateContentResponse;
    import com.google.genai.types.HttpOptions;
    import com.google.genai.types.Part;
    
    public class GenerateContentWithVideo {
    
      public static void main(String[] args) {
        // TODO(developer): Replace these variables before running the sample.
        String modelId = "gemini-2.0-flash";
        String prompt = " Analyze the provided video file, including its audio.\n"
            + "    Summarize the main points of the video concisely.\n"
            + "    Create a chapter breakdown with timestamps for key sections or topics discussed.";
        generateContent(modelId, prompt);
      }
    
      public static String generateContent(String modelId, String prompt) {
        // Initialize client that will be used to send requests. This client only needs to be created
        // once, and can be reused for multiple requests.
        try (Client client = Client.builder()
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {
    
          GenerateContentResponse response =
              client.models.generateContent(modelId, Content.fromParts(
                      Part.fromText(prompt),
                      Part.fromUri("gs://cloud-samples-data/generative-ai/video/pixel8.mp4", "video/mp4")),
                  null);
    
          System.out.print(response.text());
          // Example response:
          // Here's a breakdown of the video:
          //
          // **Summary:**
          //
          // Saeka Shimada, a photographer in Tokyo, uses the Google Pixel 8 Pro's "Video Boost" feature
          // to ...
          //
          // **Chapter Breakdown with Timestamps:**
          //
          // * **[00:00-00:12] Introduction & Tokyo at Night:** Saeka Shimada introduces herself ...
          return response.text();
        }
      }
    }

    C#

    Para enviar una solicitud de mensaje, crea un archivo C# (.cs) y copia el siguiente código en el archivo. Establece your-project-id en el ID de tu proyecto de Google Cloud . Después de actualizar los valores, ejecuta el código.

    
    using Google.Cloud.AIPlatform.V1;
    using System;
    using System.Threading.Tasks;
    
    public class VideoInputWithAudio
    {
        public async Task<string> DescribeVideo(
            string projectId = "your-project-id",
            string location = "us-central1",
            string publisher = "google",
            string model = "gemini-2.0-flash-001")
        {
    
            var predictionServiceClient = new PredictionServiceClientBuilder
            {
                Endpoint = $"{location}-aiplatform.googleapis.com"
            }.Build();
    
            string prompt = @"Provide a description of the video.
    The description should also contain anything important which people say in the video.";
    
            var generateContentRequest = new GenerateContentRequest
            {
                Model = $"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}",
                Contents =
                {
                    new Content
                    {
                        Role = "USER",
                        Parts =
                        {
                            new Part { Text = prompt },
                            new Part { FileData = new() { MimeType = "video/mp4", FileUri = "gs://cloud-samples-data/generative-ai/video/pixel8.mp4" }}
                        }
                    }
                }
            };
    
            GenerateContentResponse response = await predictionServiceClient.GenerateContentAsync(generateContentRequest);
    
            string responseText = response.Candidates[0].Content.Parts[0].Text;
            Console.WriteLine(responseText);
    
            return responseText;
        }
    }
    

    REST

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/publishers/google/models/${MODEL_ID}:generateContent -d \
    $'{
      "contents": {
        "role": "user",
        "parts": [
          {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "gs://cloud-samples-data/generative-ai/video/pixel8.mp4"
            }
          },
          {
            "text": "Provide a description of the video. The description should also contain anything important which people say in the video."
          }
        ]
      }
    }'

    El modelo muestra una respuesta. Ten en cuenta que la respuesta se genera en secciones y cada sección se evalúa por separado para garantizar la seguridad.

    ¿Qué sigue?