Quickstart: Generate text using the Vertex AI Gemini API
In this quickstart, you send the following multimodal requests to the Vertex AI Gemini API and view the responses:
- A text prompt
- A prompt and an image
- A prompt and a video file (with an audio track)
You can complete this quickstart by using a programming language SDK in your local environment or the REST API.
Prerequisites
Completing this quickstart requires you to:
- Set up a Google Cloud project and enable the Vertex AI API
- On your local machine:
- Install, initialize, and authenticate with the Google Cloud CLI
- Install the SDK for your language
Set up a Google Cloud project
Set up your Google Cloud project and enable the Vertex AI API.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Set up the Google Cloud CLI
On your local machine, set up and authenticate with the Google Cloud CLI. If you are familiar with the Gemini API in Google AI Studio, note that the Vertex AI Gemini API uses Identity and Access Management instead of API keys to manage access.
-
Install and initialize the Google Cloud CLI.
-
If you previously installed the gcloud CLI, ensure your
gcloud
components are updated by running this command.gcloud components update
-
To authenticate with the gcloud CLI, generate a local Application Default Credentials (ADC) file by running this command. The web flow launched by the command is used to provide your user credentials.
gcloud auth application-default login
For more information, see Set up Application Default Credentials.
Set up the SDK for your programming language
On your local machine, click one of the following tabs to install the SDK for your programming language.
Python
Install and update the Vertex AI SDK for Python by running this command.
pip3 install --upgrade "google-cloud-aiplatform>=1.64"
Node.js
Install or update the aiplatform
SDK for Node.js by running this command.
npm install @google-cloud/vertexai
Java
To add google-cloud-vertexai
as a dependency, add the appropriate code for
your environment.
Maven with BOM
Add the following HTML to your pom.xml
:
<dependencyManagement> <dependencies> <dependency> <artifactId>libraries-bom</artifactId> <groupId>com.google.cloud</groupId> <scope>import</scope> <type>pom</type> <version>26.34.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-vertexai</artifactId> </dependency> </dependencies>
Maven without BOM
Add the following to your
pom.xml
:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-vertexai</artifactId> <version>0.4.0</version> </dependency>
Gradle without BOM
Add the following to your build.gradle
:
implementation 'com.google.cloud:google-cloud-vertexai:0.4.0'
Go
Review the available Vertex AI API Go packages to determine which package best meets your project's needs.
(Recommended)
cloud.google.com/go/vertexai
vertexai
is a human authored package that provides access to common capabilities and features.This package is recommended as the starting point for most developers building with the Vertex AI API. To access capabilities and features not yet covered by this package, use the auto-generated
aiplatform
package instead.To install this package, run this command.
go get cloud.google.com/go/vertexai
cloud.google.com/go/aiplatform
aiplatform
is an auto-generated package.This package is intended for projects that require access to Vertex AI API capabilities and features not yet provided by the human authored
vertexai
package.To install this package, run this command.
go get cloud.google.com/go/aiplatform
C#
Install the Google.Cloud.AIPlatform.V1
package from NuGet. Use your
preferred method of adding packages to your project. For example, right-click
the project in Visual Studio and choose Manage NuGet Packages....
REST
Configure your environment variables by entering the following. Replace
PROJECT_ID
with the ID of your Google Cloud project.MODEL_ID="gemini-1.5-flash-002" PROJECT_ID="PROJECT_ID"
Use Google Cloud CLI to provision the endpoint by running this command.
gcloud beta services identity create --service=aiplatform.googleapis.com --project=${PROJECT_ID}
Send a prompt to the Vertex AI Gemini API
Use the following code to send a prompt to the Vertex AI Gemini API. This sample returns a list of possible names for a specialty flower store.
You can run the code from the command line, by using an IDE, or by including the code in your application.
Python
To send a prompt request, create a Python file (.py
) and copy
the following code into the file. Set the value of PROJECT_ID
to the ID of your Google Cloud project. After updating the values, run the code.
Node.js
To send a prompt request, create a Node.js file (.js
) and copy
the following code into the file. Replace PROJECT_ID
with the ID of your Google Cloud project. After updating the values, run the code.
Java
To send a prompt request, create a Java file (.java
) and copy
the following code into the file. Set your-google-cloud-project-id
to your Google Cloud project ID. After updating the values, run the code.
Go
To send a prompt request, create a Go file (.go
) and copy the
following code into the file. Replace projectID
with
the ID of your Google Cloud project. After updating the values, run the code.
C#
To send a prompt request, create a C# file (.cs
) and copy the
following code into the file. Set your-project-id
to your
Google Cloud project ID. After updating the values, run the code.
REST
To send this prompt request, run the curl command from the command line or include the REST call in your application.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/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?" } ] } }'The model returns a response. Note that the response is generated in sections with each section separately evaluated for safety.
Send a prompt and an image to the Vertex AI Gemini API
Use the following code to send a prompt that includes text and an image to the Vertex AI Gemini API. This sample returns a description of the provided image (image for Java sample).
Python
To send a prompt request, create a Python file (.py
) and copy
the following code into the file. Set the value of PROJECT_ID
to the ID of your Google Cloud project. After updating the values, run the code.
Node.js
To send a prompt request, create a Node.js file (.js
) and copy
the following code into the file. Replace PROJECT_ID
with the ID of your Google Cloud project. After updating the values, run the code.
Java
To send a prompt request, create a Java file (.java
) and copy
the following code into the file. Set your-google-cloud-project-id
to your Google Cloud project ID. After updating the values, run the code.
Go
To send a prompt request, create a Go file (.go
) and copy the
following code into the file. Replace projectID
with
the ID of your Google Cloud project. After updating the values, run the code.
C#
To send a prompt request, create a C# file (.cs
) and copy the
following code into the file. Set your-project-id
to your
Google Cloud project ID. After updating the values, run the code.
REST
You can send this prompt request from from your IDE, or you can embed the REST call into your application where appropriate.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/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." } ] } }'
The model returns a response. Note that the response is generated in sections with each section separately evaluated for safety.
Send a prompt and a video to the Vertex AI Gemini API
Use the following code to send a prompt that includes text, audio, and video to the Vertex AI Gemini API. This sample returns a description of the provided video, including anything important from the audio track.
You can send this prompt request by using the command line, using your IDE, or by including the REST call in your application.
Python
To send a prompt request, create a Python file (.py
) and copy
the following code into the file. Set the value of PROJECT_ID
to the ID of your Google Cloud project. After updating the values, run the code.
Node.js
To send a prompt request, create a Node.js file (.js
) and copy
the following code into the file. Replace PROJECT_ID
with the ID of your Google Cloud project. After updating the values, run the code.
Java
To send a prompt request, create a Java file (.java
) and copy
the following code into the file. Set your-google-cloud-project-id
to your Google Cloud project ID. After updating the values, run the code.
Go
To send a prompt request, create a Go file (.go
) and copy the
following code into the file. Replace projectID
with
the ID of your Google Cloud project. After updating the values, run the code.
C#
To send a prompt request, create a C# file (.cs
) and copy the
following code into the file. Set your-project-id
to your
Google Cloud project ID. After updating the values, run the code.
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/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." } ] } }'
The model returns a response. Note that the response is generated in sections with each section separately evaluated for safety.
What's next
- Learn more about the Gemini API in Vertex AI.
- Explore the Vertex AI Gemini API SDK reference for Python, Node.js, Java, Go, or C#.
- See the Model API for Gemini in Vertex AI.
- Learn about calling Vertex AI models by using the OpenAI library.