Google AI Studio
Gemini API with a generous free quota and 1M of context.
Google AI Studio is the console for the Gemini API. A free key is an email away, no card, and it is one of the few endpoints here that treats images, audio, video and PDFs as first-class input. The current Flash is Gemini 3.7 — still a million tokens of context on that tier.
The published ceiling is 15 requests a minute and 1,500 a day, reset at midnight Pacific. Point the OpenAI SDK at generativelanguage.googleapis.com/v1beta/openai and keep the rest of your code. The trade: free-tier prompts and responses may be used to improve Google’s models, so nothing confidential belongs here.
- Free models
- 17
- Max context
- 1M
- Free tier
- 1,500 requests per day
- Requirement
- Email account, no card
Endpoint
Base URL
https://generativelanguage.googleapis.com/v1beta/openaiEnv var
GEMINI_API_KEYRate limit
15 requests/minute, 1,500 requests/day- OpenAI-compatible
- Native SDK: Google GenAI SDK
- text
- image
- audio
- video
- vision
- reasoning
Code examples
npm install openaiimport OpenAI from 'openai'
const client = new OpenAI({
baseURL: 'https://generativelanguage.googleapis.com/v1beta/openai',
apiKey: process.env.GEMINI_API_KEY
})
const response = await client.chat.completions.create({
model: 'gemini-3.7-flash',
messages: [{ role: 'user', content: 'Explain closures in one paragraph.' }]
})
console.log(response.choices[0].message.content)pip install openaiimport os
from openai import OpenAI
client = OpenAI(
base_url="https://generativelanguage.googleapis.com/v1beta/openai",
api_key=os.environ["GEMINI_API_KEY"],
)
response = client.chat.completions.create(
model="gemini-3.7-flash",
messages=[{"role": "user", "content": "Explain closures in one paragraph."}],
)
print(response.choices[0].message.content)curl https://generativelanguage.googleapis.com/v1beta/openai/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $GEMINI_API_KEY" \
-d '{
"model": "gemini-3.7-flash",
"messages": [{"role": "user", "content": "Explain closures in one paragraph."}]
}'npm install @google/genaiimport { GoogleGenAI } from '@google/genai'
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY })
const response = await ai.models.generateContent({
model: 'gemini-3.7-flash',
contents: 'Explain closures in one paragraph.'
})
console.log(response.text)pip install google-genaiimport os
from google import genai
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
response = client.models.generate_content(
model="gemini-3.7-flash",
contents="Explain closures in one paragraph.",
)
print(response.text)Worth knowing
- Free-tier prompts and responses may be used to improve Google’s models. Do not send anything confidential.
- The OpenAI-compatible path ends in /openai — the native SDK uses a different base URL entirely.
Models you get for free17
- Gemini 3.7 Flash
gemini-3.7-flash - Gemini 3.6 Flash
gemini-3.6-flash - Gemini 3.5 Flash
gemini-3.5-flash - Gemini 3.5 Flash Lite
gemini-3.5-flash-lite - Gemini 3.1 Flash Lite
gemini-3.1-flash-lite - Gemini 3 Flash
gemini-3-flash-preview - Gemini 2.5 Flash
gemini-2.5-flash - Gemini 2.5 Flash Lite
gemini-2.5-flash-lite - Gemini 2.5 Flash Image
gemini-2.5-flash-image - Gemini 2.0 Flash
gemini-2.0-flash - Gemini 2.0 Flash Lite
gemini-2.0-flash-lite - Gemini 3.1 Flash Image
gemini-3.1-flash-image - Gemini 3.1 Flash TTS
gemini-3.1-flash-tts-preview - Gemini 2.5 Flash TTS
gemini-2.5-flash-preview-tts - Gemini Embedding 001
gemini-embedding-001 - Gemini Embedding 2
gemini-embedding-2 - Imagen 4 Fast
imagen-4.0-fast-generate-001