
Gemini API bezpłatny poziom 2026: bezpłatne modele, limity & przewodnik po cenach
Sprawdź, które modele Gemini API są bezpłatne w 2026 r., poznaj limity RPM, TPM i RPD, uzyskaj wskazówki dotyczące konfiguracji Pythona i rozliczeń oraz porównaj ceny Google z CometAPI.



![Poniżej znajdziesz zwięzły przewodnik, jak zacząć korzystać z Gemini API z modelem Pro. Zastąp nazwę modelu rzeczywistym identyfikatorem widocznym w Google AI Studio (np. gemini-1.5-pro; jeśli dostępny, gemini-3.1-pro).
1) Uzyskaj dostęp
- Google AI Studio (Gemini API): utwórz klucz API i zarządzaj modelami.
- Alternatywnie Vertex AI na Google Cloud: przydatne, gdy potrzebujesz zarządzania w projekcie GCP, sieci prywatnej, IAM itp.
2) Zainstaluj SDK
- Python: pip install google-generativeai
- Node.js: npm i @google/generative-ai
3) Skonfiguruj uwierzytelnianie
- Ustaw klucz jako zmienną środowiskową, np. GEMINI_API_KEY.
4) Podstawowe wywołanie – Python
import os
import google.generativeai as genai
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
MODEL = "your-model-id" # np. "gemini-1.5-pro" lub odpowiedni identyfikator
model = genai.GenerativeModel(
model_name=MODEL,
system_instruction="Jesteś pomocnym, zwięzłym asystentem."
)
# Prosta generacja tekstu
resp = model.generate_content(
"Wyjaśnij różnicę między HTTP a HTTPS w 3 zdaniach.",
generation_config={
"temperature": 0.7,
"top_p": 0.95,
"max_output_tokens": 512
}
)
print(resp.text)
# Strumieniowanie odpowiedzi
stream = model.generate_content("Napisz krótki wiersz o jesieni.", stream=True)
for chunk in stream:
print(chunk.text or "", end="")
# Tryb czatu (z historią)
chat = model.start_chat(history=[])
r = chat.send_message("Cześć! Podaj 3 pomysły na prezent dla programisty.")
print(r.text)
5) Podstawowe wywołanie – Node.js
import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const MODEL = "your-model-id"; // np. "gemini-1.5-pro"
const model = genAI.getGenerativeModel({
model: MODEL,
systemInstruction: "Jesteś pomocnym, zwięzłym asystentem."
});
// Prosta generacja
const result = await model.generateContent({
contents: [{ role: "user", parts: [{ text: "Podaj 5 nazw dla aplikacji do nauki języków." }] }],
generationConfig: { temperature: 0.7, topP: 0.95, maxOutputTokens: 512 }
});
console.log(result.response.text());
// Strumieniowanie
const stream = await model.generateContentStream("Stwórz haiku o wiośnie.");
for await (const chunk of stream.stream) {
process.stdout.write(chunk.text());
}
// Tryb czatu
const chat = model.startChat({ history: [] });
const r = await chat.sendMessage("Pomóż mi zaplanować prosty plan nauki Pythona na 2 tygodnie.");
console.log(r.response.text());
6) Multimodalne wejście (obraz + tekst)
- Python:
# inline obraz jako bajty base64
image_bytes = ... # wczytaj obraz i zakoduj do base64
resp = model.generate_content([
"Co jest na obrazku?",
{ "mime_type": "image/png", "data": image_bytes }
])
print(resp.text)
- Node.js:
const base64Image = "..."; // base64 bez prefiksu data:
const r = await model.generateContent([
{ text: "Opisz ten obraz w 2 zdaniach." },
{ inlineData: { mimeType: "image/png", data: base64Image } }
]);
console.log(r.response.text());
7) Strukturalne wyjście JSON
- Wymuś JSON, definiując MIME i schemat:
- Python:
resp = model.generate_content(
"Zwróć obiekt z polami name (string) i priority (integer) opisujący zadanie: 'Naprawa bugów'.",
generation_config={
"response_mime_type": "application/json",
"response_schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"priority": { "type": "integer" }
},
"required": ["name", "priority"]
}
}
)
print(resp.text) # prawidłowy JSON
- Node.js:
const r = await model.generateContent({
contents: [{ role: "user", parts: [{ text: "Podaj JSON z name i priority dla zadania 'Code review'." }] }],
generationConfig: {
responseMimeType: "application/json",
responseSchema: {
type: "object",
properties: {
name: { type: "string" },
priority: { type: "integer" }
},
required: ["name", "priority"]
}
}
});
console.log(r.response.text());
8) REST (cURL), jeśli nie używasz SDK
curl -s -H "Content-Type: application/json" \
-X POST "https://generativelanguage.googleapis.com/v1beta/models/YOUR_MODEL_ID:generateContent?key=$GEMINI_API_KEY" \
-d '{
"contents": [{ "role": "user", "parts": [{ "text": "Wypisz 3 zalety TDD." }]}],
"generationConfig": { "temperature": 0.6, "maxOutputTokens": 256 }
}'
9) Dobre praktyki
- Zawsze przechowuj klucz API po stronie serwera; nie umieszczaj go w aplikacji front-end.
- Dobierz temperaturę/topP do potrzeb: niższe wartości = bardziej deterministyczne odpowiedzi.
- Używaj system_instruction, by stabilizować rolę/styl asystenta.
- Sprawdzaj dostępne identyfikatory modeli i limity w Google AI Studio; w kodzie podstaw właściwy YOUR_MODEL_ID (np. gemini-3.1-pro, jeśli dostępny).
- Do długich przepływów używaj strumieniowania i paginacji wyników, a dla integracji w GCP rozważ Vertex AI (uprawnienia IAM, region, prywatność).](https://resource.cometapi.com/Gemini 3.1 Pro How to Use the API, What’s New, and Where it Fits in Your Toolchain.webp)
