quickstarts/Models.ipynb (290 lines of code) (raw):
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "Tce3stUlHN0L"
},
"source": [
"##### Copyright 2025 Google LLC."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"cellView": "form",
"id": "tuOe1ymfHZPu"
},
"outputs": [],
"source": [
"# @title Licensed under the Apache License, Version 2.0 (the \"License\");\n",
"# you may not use this file except in compliance with the License.\n",
"# You may obtain a copy of the License at\n",
"#\n",
"# https://www.apache.org/licenses/LICENSE-2.0\n",
"#\n",
"# Unless required by applicable law or agreed to in writing, software\n",
"# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
"# See the License for the specific language governing permissions and\n",
"# limitations under the License."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "L5Lv3UtGCFH4"
},
"source": [
"# Gemini API: List models\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "nAJ9EGE2SoXm"
},
"source": [
"<a target=\"_blank\" href=\"https://colab.research.google.com/github/google-gemini/cookbook/blob/main/quickstarts/Models.ipynb\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" height=30/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Gh9D-DvWSuqq"
},
"source": [
"This notebook demonstrates how to list the models that are available for you to use in the Gemini API, and how to find details about a model."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"id": "i755jXzS5kLN"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[?25l \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/200.0 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━\u001b[0m \u001b[32m194.6/200.0 kB\u001b[0m \u001b[31m13.2 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m200.0/200.0 kB\u001b[0m \u001b[31m3.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25h"
]
}
],
"source": [
"%pip install -U -q 'google-genai>=1.0.0'"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4ol10W6Q_Y-s"
},
"source": [
"## Configure your API key\n",
"\n",
"To run the following cell, your API key must be stored it in a Colab Secret named `GOOGLE_API_KEY`. If you don't already have an API key, or you're not sure how to create a Colab Secret, see [Authentication](https://github.com/google-gemini/cookbook/blob/main/quickstarts/Authentication.ipynb) for an example."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"id": "8PXsFZBQ_XA5"
},
"outputs": [],
"source": [
"from google.colab import userdata\n",
"\n",
"GOOGLE_API_KEY = userdata.get(\"GOOGLE_API_KEY\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3Al4lFhNB22n"
},
"source": [
"## List models\n",
"\n",
"Use `list_models()` to see what models are available. These models support `generateContent`, the main method used for prompting."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"id": "3wE76b_gBn2k"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"models/embedding-gecko-001\n",
"models/gemini-1.0-pro-vision-latest\n",
"models/gemini-pro-vision\n",
"models/gemini-1.5-pro-latest\n",
"models/gemini-1.5-pro-001\n",
"models/gemini-1.5-pro-002\n",
"models/gemini-1.5-pro\n",
"models/gemini-1.5-flash-latest\n",
"models/gemini-1.5-flash-001\n",
"models/gemini-1.5-flash-001-tuning\n",
"models/gemini-1.5-flash\n",
"models/gemini-1.5-flash-002\n",
"models/gemini-1.5-flash-8b\n",
"models/gemini-1.5-flash-8b-001\n",
"models/gemini-1.5-flash-8b-latest\n",
"models/gemini-1.5-flash-8b-exp-0827\n",
"models/gemini-1.5-flash-8b-exp-0924\n",
"models/gemini-2.5-pro\n",
"models/gemini-2.5-pro\n",
"models/gemini-2.5-flash-preview-04-17\n",
"models/gemini-2.5-flash\n",
"models/gemini-2.5-flash-preview-04-17-thinking\n",
"models/gemini-2.5-pro\n",
"models/gemini-2.5-pro\n",
"models/gemini-2.0-flash-exp\n",
"models/gemini-2.0-flash\n",
"models/gemini-2.0-flash-001\n",
"models/gemini-2.0-flash-exp-image-generation\n",
"models/gemini-2.5-flash-lite-preview-06-17-001\n",
"models/gemini-2.5-flash-lite-preview-06-17\n",
"models/gemini-2.0-flash-preview-image-generation\n",
"models/gemini-2.5-flash-lite-preview-06-17-preview-02-05\n",
"models/gemini-2.5-flash-lite-preview-06-17-preview\n",
"models/gemini-2.0-pro-exp\n",
"models/gemini-2.0-pro-exp-02-05\n",
"models/gemini-exp-1206\n",
"models/gemini-2.0-flash-thinking-exp-01-21\n",
"models/gemini-2.0-flash-thinking-exp\n",
"models/gemini-2.0-flash-thinking-exp-1219\n",
"models/gemini-2.5-flash-preview-tts\n",
"models/gemini-2.5-pro-preview-tts\n",
"models/learnlm-2.0-flash-experimental\n",
"models/gemma-3-1b-it\n",
"models/gemma-3-4b-it\n",
"models/gemma-3-12b-it\n",
"models/gemma-3-27b-it\n",
"models/gemma-3n-e4b-it\n",
"models/embedding-001\n",
"models/text-embedding-004\n",
"models/gemini-embedding-exp-03-07\n",
"models/gemini-embedding-exp\n",
"models/aqa\n",
"models/imagen-3.0-generate-002\n",
"models/veo-2.0-generate-001\n",
"models/gemini-2.5-flash-preview-native-audio-dialog\n",
"models/gemini-2.5-flash-preview-native-audio-dialog-rai-v3\n",
"models/gemini-2.5-flash-exp-native-audio-thinking-dialog\n",
"models/gemini-2.0-flash-live-001\n"
]
}
],
"source": [
"from google import genai\n",
"\n",
"client = genai.Client(api_key=GOOGLE_API_KEY)\n",
"\n",
"for model in client.models.list():\n",
" print(model.name)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "tlguLt1yKET9"
},
"source": [
"These models support `embedContent`, used for embeddings:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"id": "lQmlIpr5JHqz"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"models/embedding-001\n",
"models/text-embedding-004\n",
"models/gemini-embedding-exp-03-07\n",
"models/gemini-embedding-exp\n"
]
}
],
"source": [
"for model in client.models.list():\n",
" if \"embedContent\" in model.supported_actions:\n",
" print(model.name)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "nFJAyDD9QVrC"
},
"source": [
"## Find details about a model\n",
"\n",
"You can see more details about a model, including the `input_token_limit` and `output_token_limit` as follows."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"id": "BYYxVE4ZnoGy"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"name='models/gemini-2.0-flash' display_name='Gemini 2.0 Flash' description='Gemini 2.0 Flash' version='2.0' endpoints=None labels=None tuned_model_info=TunedModelInfo(base_model=None, create_time=None, update_time=None) input_token_limit=1048576 output_token_limit=8192 supported_actions=['generateContent', 'countTokens', 'createCachedContent', 'batchGenerateContent'] default_checkpoint_id=None checkpoints=None\n"
]
}
],
"source": [
"for model in client.models.list():\n",
" if model.name == \"models/gemini-2.0-flash\":\n",
" print(model)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Tq7i5FAwCe1v"
},
"source": [
"## Learning more\n",
"\n",
"* To learn how use a model for prompting, see the [Prompting](https://github.com/google-gemini/cookbook/blob/main/quickstarts/Prompting.ipynb) quickstart.\n",
"\n",
"* To learn how use a model for embedding, see the [Embedding](https://github.com/google-gemini/cookbook/blob/main/quickstarts/Embeddings.ipynb) quickstart.\n",
"\n",
"* For more information on models, visit the [Gemini models](https://ai.google.dev/models/gemini) documentation."
]
}
],
"metadata": {
"colab": {
"name": "Models.ipynb",
"toc_visible": true
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}