Gemini API | Google AI for Developers
“@context”: “https://schema.org”,
“@type”: “Article”,
“headline”: ""
Skip to main content
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Polski
Português – Brasil
Shqip
Tiếng Việt
Türkçe
Русский
עברית
العربيّة
فارسی
हिंदी
বাংলা
ภาษาไทย
中文 – 简体
中文 – 繁體
日本語
한국어
Get API key
Cookbook
Community
Sign in
Docs
API reference
Gemini API
Get started
Overview
Quickstart
API keys
Libraries
Pricing
Interactions API
Coding agent setup
Models
All models
Gemini 3
Nano Banana
Veo
Lyria 3
Lyria RealTime
Imagen
Text-to-speech
Embeddings
Robotics
Core capabilities
Text
Image
Image generation 🍌
Image understanding
Video
Video generation
Video understanding
Documents
Speech and audio
Speech generation
Audio understanding
Thinking
Thought signatures
Structured outputs
Function calling
Long context
Agents
Deep Research Agent
Tools
Google Search
Google Maps
Code execution
URL context
Computer Use
File Search
Combine Tools and Function calling
Live API
Get started using the GenAI SDK
Get started using raw WebSockets
Capabilities
Tool use
Session management
Ephemeral tokens
Best practices
Optimization
Batch API
Flex inference
Priority inference
Context caching
Guides
File input
Input methods
Files API
OpenAI compatibility
Media resolution
Token counting
Prompt engineering
Logs and datasets
Get started with logs
Data logging and sharing
Safety
Safety settings
Safety guidance
Frameworks
LangChain & LangGraph
CrewAI
LlamaIndex
Vercel AI SDK
Temporal
Resources
Release notes
Deprecations
Rate limits
Billing info
Migrate to Gen AI SDK
API troubleshooting
Partner and library integrations
Google AI Studio
Vibe code in Build mode
Developing Full-Stack Apps
Troubleshooting
Access for Workspace users
Google Cloud Platform
VertexAI Gemini API
OAuth authentication
Policies
Terms of service
Available regions
Abuse monitoring
Feedback information
/* Styles inlined from /site-assets/css/models.css */
:root {
—gemini-api-table-font-color: 3c4043;
—gemini-api-model-font: ‘Google Sans Text’, Roboto, sans-serif;
—gemini-api-card-width: 17rem;
—gemini-api-elevation-1dp: 0 1px 1px 0 rgba(0, 0, 0, 0.14),
0 2px 1px -1px rgba(0, 0, 0, 0.12),
0 1px 3px 0 rgba(0, 0, 0, 0.2);
—gemini-api-elevation-3dp: 0 3px 4px 0 rgba(0, 0, 0, 0.14),
0 3px 3px -2px rgba(0, 0, 0, 0.12),
0 1px 8px 0 rgba(0, 0, 0, 0.2);
body[theme=“googledevai-theme”] {
—googledevai-button-gradient: var(—googledevai-button-gradient-light);
body[theme=“googledevai-theme”].color-scheme—dark {
—googledevai-button-gradient: var(—googledevai-button-gradient-dark);
.google-symbols {
background: -webkit-linear-gradient(45deg, var(—googledevai-blue), var(—googledevai-purple));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
user-select: none;
vertical-align: bottom;
/* Cards */
@media only screen and (min-width: 625px) {
.gemini-api-recommended {
display: grid;
grid-template-columns: repeat(3, 1fr); /* Three equal-width columns */
grid-column-gap: 3rem; /* Keep the gap between columns */
width: 100%; /* Take full width of parent */
margin: 0 auto;
.gemini-api-card {
background: var(—devsite-background-1);
border: 1px solid var(—googledevai-border-color);
border-radius: 9px;
box-shadow: var(—gemini-api-elevation-1dp);
height: 23rem;
margin: 1rem .5rem;
padding: 1rem;
transition: box-shadow 0.3s ease-in-out;
width: var(—gemini-api-card-width);
.color-scheme—dark .gemini-api-card {
background: #131314;
border-color: #444746;
.gemini-api-card:hover {
box-shadow: var(—gemini-api-elevation-3dp);
.gemini-api-card a:empty {
display: block;
position: relative;
top: -22.8rem;
left: -1rem;
.gemini-api-card a:empty:focus {
border: 2px solid var(—devsite-primary-color);
.gemini-api-card-title {
font-family: “Google Sans”, Roboto, sans-serif;
font-size: 1.3rem;
font-weight: 500;
height: 1.5rem;
margin-bottom: 2.5rem;
line-height: 1.3rem;
.gemini-api-card-description {
font-size: .9rem;
height: 7.5rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
.gemini-api-card-bulletpoints {
color: #757575;
font-size: .8rem;
height: 8.2rem;
margin-left: 1rem;
padding: 0;
.color-scheme—dark .gemini-api-card-bulletpoints {
color: var(—devsite-primary-text-color);
.gemini-api-card-description,
font-family: var(—gemini-api-model-font);
.gemini-api-card-bulletpoints li {
line-height: 1rem;
margin: .3rem 0;
/* Tables */
.gemini-api-model-table,
.gemini-api-model-table th {
color: var(—gemini-api-table-font-color);
font: .95rem var(—gemini-api-model-font);
.color-scheme—dark .gemini-api-model-table,
.color-scheme—dark .gemini-api-model-table th {
.gemini-api-model-table td:first-child {
max-width: 0;
.gemini-api-model-table-grid {
grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
grid-gap: 1rem .5rem;
.gemini-api-model-table section {
display: inline-grid;
.gemini-api-model-table p {
margin: 0 0 .5rem;
.gemini-api-model-table li {
margin: 0;
.gemini-api-model-table ul {
margin-top: .5rem;
.gemini-api-model-table .google-symbols {
margin-right: .7rem;
vertical-align: middle;
.gemini-api-supported,
.gemini-api-not-supported,
.gemini-api-experimental,
.gemini-api-new {
border-radius: 8px;
display: inline-block;
padding: .3rem 0.5em;
.gemini-api-supported {
background: e6f4ea; /* GM3 Green 50 */
color: 177d37; /* GM3 Green 700 */
.gemini-api-not-supported {
background: fce8e6; /* GM3 Red 50 */
color: c5221f; /* GM3 Red 700 */
.gemini-api-experimental {
background: e8def8;
color: 4a4458;
background: c2e7ff; /* GM3 Blue 100 */
color: 001d35; /* GM3 Blue 900 */
margin-left: 0.5rem;
white-space: nowrap;
.color-scheme—dark .gemini-api-supported {
background: 177d37; /* GM3 Green 700 */
color: e6f4ea; /* GM3 Green 50 */
.color-scheme—dark .gemini-api-not-supported {
background: c5221f; /* GM3 Red 700 */
color: fce8e6; /* GM3 Red 50 */
.color-scheme—dark .gemini-api-new {
background: 004a77; /* GM3 Blue 800 */
color: c2e7ff; /* GM3 Blue 100 */
/* Buttons */
.gemini-api-model-button {
background: var(—googledevai-button-gradient);
background-size: 300% 300%;
border-radius: 20rem;
color: 001d35;
padding: .6rem 1rem;
text-align: center;
text-decoration: none;
transition: filter .2s ease-in-out,
box-shadow .2s ease-in-out;
.gemini-api-model-button:hover{
animation: gradient 5s ease infinite;
filter: brightness(.98);
.gemini-api-model-button:focus {
filter: brightness(.95);
outline: 00639b solid 3px;
outline-offset: 2px;
.gemini-api-model-button::before {
content: ‘spark’;
font-family: ‘Google Symbols’;
padding-right: 0.5rem;
@keyframes gradient {
0% {
background-position: 0% 50%;
50% {
background-position: 100% 50%;
100% {
.model-card {
display: flex;
background-color: ffffff;
border: 1px solid e0e0e0;
border-radius: 12px;
margin-bottom: 1.5rem;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: box-shadow 0.3s ease;
.color-scheme—dark .model-card {