API-ja e "Ndërveprimeve" është mënyra më e mirë për të krijuar me modelet dhe agjentët e Gemini. Që nga qershori i vitit 2026, ai është i disponueshëm në përgjithësi dhe rekomandohet për të gjitha projektet e reja. Megjithëse tani konsiderohet si një version i vjetër, API-ja origjinale
generateContent
mbështetet plotësisht.
Pse të përdorësh Interactions API?
- Ndërfaqja universale për të gjitha aplikacionet: Projektuar si ndërfaqja standarde për çdo rast përdorimi, duke përfshirë gjenerimin e tekstit me një kthesë, kuptimin multimodal, daljet e strukturuara, organizimin e veglave dhe flukset e punës të agjentëve.
- API i vetëm për modelet dhe agjentët: Një pikë fundore dhe model i unifikuar për thirrjen e modeleve standarde të Gemini, si dhe agjentëve të specializuar drejtpërdrejt (si p.sh. Deep Research dhe agjentët e personalizuar të menaxhuar).
- Aftësi të reja të gatshme për t'u përdorur: Veçori si gjendja opsionale e bisedës në anën e serverit duke përdorur
previous_interaction_id, hapat e vëzhgueshëm të ekzekutimit për korrigjimin dhe paraqitjen e ndërfaqes së përdoruesit, si dhe ekzekutimi në sfond për detyrat që zgjasin për një kohë të gjatë duke përdorurbackground=true. - Kosto më e ulët me norma më të larta të përputhjes së memories specifike: Kur përdor biseda me shumë kthesa, menaxhimi opsional i gjendjes në anën e serverit mundëson ruajtjen më efikase të kontekstit nëpër kthesa, duke reduktuar kostot e kodeve.
- Ku do të prezantohen veçoritë e reja: Në vazhdim, të gjitha modelet e reja, aftësitë multimodale, veglat dhe veçoritë e agjentëve do të prezantohen në API-n e "Ndërveprimeve".
Si parazgjedhje, API-ja e "Ndërveprimeve" i ruan kërkesat që të mund të shfrytëzosh veçoritë e menaxhimit të gjendjes nga ana e serverit duke përdorur previous_interaction_id. Mund të zgjedhësh sjelljen pa gjendje duke caktuar
store=false. Shiko seksionin e mbajtjes së të dhënave për detaje.
Fillo
- Konfiguro agjentin tënd të kodimit: Lidh me Gemini Docs MCP dhe instalo aftësinë
gemini-api-devpër t'i dhënë asistentit tënd qasje të drejtpërdrejtë te dokumentet më të fundit për zhvilluesit dhe praktikat më të mira. Për hapa të detajuar, shiko Udhëzuesin e konfigurimit të agjentit të kodimit - Migro nga
generateContent: Nëse ke një integrim ekzistues, ndiq Udhëzuesin e migrimit për të kaluar te Interactions API. - Fillo: Ndiq hapat në Udhëzuesin e fillimit të API-së së ndërveprimeve.
Udhëzuesit e veçorive
Eksploro aftësitë specifike të API-së së "Ndërveprimeve" nëpërmjet këtyre udhëzuesve. Mund të përdorësh çelësin në këto faqe për të kaluar mes API-së së gjenerimit të përmbajtjes dhe API-së së ndërveprimeve:
- Gjenerimi i tekstit
- Gjenerimi i imazheve
- Kuptueshmëria e imazheve
- Kuptimi i audios
- Kuptimi i videos
- Përpunimi i dokumentit
- Thirrja e funksionit
- Dalja e strukturuar
- Agjenti i Deep Research
- Deduksioni Flex
- Përfundimi me përparësi
Si funksionon Interactions API
API-ja e ndërveprimeve përqendrohet në një burim kryesor: Interaction. Një Interaction përfaqëson një kthesë të plotë në një bisedë ose detyrë. Ai funksionon si një regjistër seance, që përmban të gjithë historikun e një ndërveprimi si një sekuencë kronologjike hapash ekzekutimi. Këta hapa përfshijnë mendimet e modelit, thirrjet e veglave dhe rezultatet në anën e serverit ose në anën e klientit (si function_call dhe function_result) dhe model_output përfundimtar. Burimi i ruajtur (i marrë nëpërmjet interactions.get) përfshin gjithashtu user_input hapa për kontekstin e plotë, megjithëse përgjigjja e interactions.create kthen vetëm hapat e gjeneruar nga modeli.
Kur bën një telefonatë te
interactions.create, po krijon një burim të ri të Interaction:
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Tell me a short story about a time-traveling lighthouse."
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI();
const interaction = await client.interactions.create({
model: "gemini-3.8-flash",
input: "Tell me a short story about a time-traveling lighthouse.",
});
console.log(interaction.output_text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.of("Tell me a short story about a time-traveling lighthouse."))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Tell me a short story about a time-traveling lighthouse."),
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
QETËSI
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"model": "gemini-3.8-flash",
"input": "Tell me a short story about a time-traveling lighthouse."
}'
Menaxhimi i gjendjes në anën e serverit
Mund të përdorësh id e një ndërveprimi të përfunduar në një telefonatë pasuese duke përdorur parametrin previous_interaction_id për të vazhduar bisedën. Serveri
e përdor këtë ID për të marrë historikun e bisedës, duke të të kursyer nga nevoja për të
ridërguar të gjithë historikun e bisedës:
Python
from google import genai
client = genai.Client()
# 1. First turn
turn1 = client.interactions.create(
model="gemini-3.8-flash",
input="Hi, my name is Phil."
)
# 2. Second turn (chained using previous_interaction_id)
turn2 = client.interactions.create(
model="gemini-3.8-flash",
input="What is my name?",
previous_interaction_id=turn1.id
)
print(turn2.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI();
// 1. First turn
const turn1 = await client.interactions.create({
model: "gemini-3.8-flash",
input: "Hi, my name is Phil.",
});
// 2. Second turn (chained using previous_interaction_id)
const turn2 = await client.interactions.create({
model: "gemini-3.8-flash",
input: "What is my name?",
previous_interaction_id: turn1.id,
});
console.log(turn2.output_text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
Client client = new Client();
// 1. First turn
Interaction turn1 =
client
.interactions
.create(
CreateInteractionRequestBody.of(
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.of("Hi, my name is Phil."))
.build()))
.interaction()
.get();
// 2. Second turn (chained using previousInteractionId)
Interaction turn2 =
client
.interactions
.create(
CreateInteractionRequestBody.of(
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.of("What is my name?"))
.previousInteractionId(turn1.id().get())
.build()))
.interaction()
.get();
System.out.println(turn2.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
// 1. First turn
turn1, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Hi, my name is Phil."),
}),
})
if err != nil {
log.Fatal(err)
}
// 2. Second turn (chained using PreviousInteractionID)
turn2, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("What is my name?"),
PreviousInteractionID: turn1.Interaction.ID,
}),
})
if err != nil {
log.Fatal(err)
}
if turn2.Interaction.OutputText != nil {
fmt.Println(*turn2.Interaction.OutputText)
}
}
QETËSI
# Replace PREVIOUS_INTERACTION_ID with the id returned from the first turn
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"model": "gemini-3.8-flash",
"input": "What is my name?",
"previous_interaction_id": "PREVIOUS_INTERACTION_ID"
}'
Parametri previous_interaction_id ruan vetëm historikun e bisedës (hyrjet dhe daljet)
duke përdorur previous_interaction_id. Parametrat e tjerë janë me fushëveprim ndërveprimi
dhe zbatohen vetëm për ndërveprimin specifik që po gjeneron aktualisht:
toolssystem_instructiongeneration_config(duke përfshirëthinking_level,temperatureetj.)
Kjo do të thotë që duhet t'i specifikosh përsëri këta parametra në çdo ndërveprim të ri nëse dëshiron që ata të zbatohen. Ky menaxhim i gjendjes në anën e serverit është opsional; mund të funksionosh gjithashtu në modalitetin pa gjendje duke dërguar historikun e plotë të bisedës në çdo kërkesë.
Ruajtja dhe mbajtja e të dhënave
Si parazgjedhje, API-ja ruan të gjitha objektet e ndërveprimit (store=true) për të thjeshtuar përdorimin e veçorive të menaxhimit të gjendjes nga ana e serverit (me previous_interaction_id), ekzekutimin në sfond (duke përdorur background=true) dhe për qëllime vëzhgimi.
- Niveli me pagesë: Sistemi i ruan ndërveprimet për 55 ditë.
- Niveli falas: Sistemi i ruan ndërveprimet për 1 ditë.
Nëse nuk e dëshiron këtë, mund të caktosh store=false në kërkesën tënde. Ky kontroll është i ndarë nga menaxhimi i gjendjes; mund të tërhiqesh nga ruajtja për çdo ndërveprim. Megjithatë, ki parasysh se store=false nuk është në përputhje me ekzekutimin në sfond dhe parandalon përdorimin e previous_interaction_id për radhët vijuese.
Për projektet e nivelit me pagesë, mund të konfigurosh periudhën e ruajtjes në AI Studio për të shënuar automatikisht evidencat për fshirje nga hapësira ruajtëse e projektit pas 7, 14, 28 ose 55 ditësh. Një periudhë më e shkurtër mbajtjeje mund të ndikojë te marrja e bisedave të kaluara.
Mund t'i fshish ndërveprimet e ruajtura në çdo kohë duke përdorur metodën
delete në mënyrë programatike,
e cila kërkon ID-në e ndërveprimit. Mund të shikosh dhe të menaxhosh gjithashtu evidencat e ruajtura të ndërveprimeve, duke përfshirë fshirjen nga hapësira ruajtëse e projektit, në AI Studio.
Pas skadimit të periudhës së ruajtjes, të dhënat e tua do të fshihen automatikisht.
Objektet e ndërveprimit përpunohen në përputhje me kushtet.
Shiko ndërveprimet në AI Studio
API-ja ruan kërkesat e API-së së ndërveprimeve të ekzekutuara me store=true për projektet në nivelin me pagesë. Mund t'i shikosh ato drejtpërdrejt nga
faqja "Evidencat" në Google AI Studio. Shiko
Udhëzuesin e evidencave për më shumë.
Praktikat më të mira
- Norma e goditjeve të memories specifike: Ruajtja specifike në memorie mbështetet në modalitetet me gjendje dhe pa gjendje (shiko
Fillimi i shpejtë). Përdorimi i
previous_interaction_id(me gjendje) për të vazhduar bisedat lejon që sistemi të përdorë më lehtë ruajtjen e ndërmjetme të të dhënave për historikun e bisedave, gjë që përmirëson performancën dhe ul kostot. - Ndërveprimet e përzierjes: Ke fleksibilitetin për të përzier dhe kombinuar ndërveprimet e agjentit dhe modelit brenda një bisede. Për shembull, mund të përdorësh një agjent të specializuar, si p.sh. agjentin e "Kërkimit të thelluar", për mbledhjen fillestare të të dhënave dhe më pas të përdorësh një model standard të Gemini për detyrat vijuese, si p.sh. përmbledhja ose riformatimi, duke i lidhur këta hapa me
previous_interaction_id.
Modelet dhe agjentët e mbështetur
| Emri i modelit | Lloji | ID-ja e modelit |
|---|---|---|
| Gemini 3.8 Flash | Modeli | gemini-3.8-flash |
| Gemini 3.6 Flash | Modeli | gemini-3.6-flash |
| Gemini 3.1 Pro Preview | Modeli | gemini-3.1-pro-preview |
| Gemini 3.5 Flash-Lite | Modeli | gemini-3.5-flash-lite |
| Gemini 3.1 Flash-Lite | Modeli | gemini-3.1-flash-lite |
| Pamja paraprake e Gemini 3 Flash | Modeli | gemini-3-flash-preview |
| Gemini 2.5 Pro | Modeli | gemini-2.5-pro |
| Gemini 2.5 Flash | Modeli | gemini-2.5-flash |
| Gemini 2.5 Flash-lite | Modeli | gemini-2.5-flash-lite |
| Imazhi i Gemini 3 Pro | Modeli | gemini-3-pro-image |
| Imazhi i Gemini 3.1 Flash | Modeli | gemini-3.1-flash-image |
| Pamja paraprake e Gemini 3.1 Flash TTS | Modeli | gemini-3.1-flash-tts-preview |
| Gemma 4 31B IT | Modeli | gemma-4-31b-it |
| Gemma 4 26B MoE IT | Modeli | gemma-4-26b-a4b-it |
| Lyria 3.5 | Modeli | lyria-3.5 |
| Pamja paraprake e klipit të Lyria 3 | Modeli | lyria-3-clip-preview |
| Lyria 3 Pro Preview | Modeli | lyria-3-pro-preview |
| Pamja paraprake e Deep Research | Agjenti | deep-research-preview-04-2026 |
| Pamja paraprake e Deep Research | Agjenti | deep-research-max-preview-04-2026 |
| Pamja paraprake e Antigravity | Agjenti | antigravity-preview-09-2026 |
SDK-të
Mund të përdorësh versionin më të fundit të SDK-ve të IA-së gjeneruese të Google për t'u qasur te API-ja e ndërveprimeve.
- Në Python, kjo është paketa
google-genainga versioni2.3.0e lart. - Në JavaScript, kjo është paketa
@google/genainga versioni2.3.0e më tej. - Në Go, kjo është paketa
google.golang.org/genai. - Në Java, kjo është paketa
com.google.genai:google-genai.
Mund të mësosh më shumë se si të instalosh SDK-të në faqen e Bibliotekave.
Kufizimet
- MCP në distancë: Gemini 3 nuk e mbështet MCP në distancë. Kjo pritet së shpejti.
- Përputhshmëria e modelit me shumë kthesa: Kur kombinohen modele të ndryshme në një bisedë (me ose pa gjendje), modelet vijuese duhet të mbështesin modalitetet e daljes të modeleve të mëparshme si hyrje. Për shembull, nëse gjeneron një imazh duke përdorur
gemini-3.1-flash-image, nuk mund ta vazhdosh atë bisedë me një model që nuk pranon hyrje me imazhe (si p.sh. një model vetëm me tekst ose një model për gjenerimin e muzikës si Lyria).
Veçoritë e mëposhtme mbështeten nga API-ja e
generateContent, por nuk ofrohen ende në API-në e Interactions:
- API-ja e grupeve
- Thirrja automatike e funksionit (Python)
- Ruajtja specifike në memorien specifike: Ki parasysh se ruajtja specifike e nënkuptuar në anën e serverit ofrohet në API-n e ndërveprimeve
nëpërmjet
previous_interaction_id. - Cilësimet e sigurisë: Cilësimet e personalizuara të sigurisë nuk mbështeten në API-n e "Ndërveprimeve".
Komentet
Komentet e tua janë shumë të rëndësishme për zhvillimin e API-së së "Ndërveprimeve". Ndaj mendimet e tua, raporto defekte ose kërko veçori në Forumin e komunitetit të zhvilluesve të IA-së së Google.
Çfarë ka më pas
- Provo bllokun e shënimeve të nisjes së shpejtë të API-së së "Ndërveprimeve".
- Mëso më shumë rreth agjentit të Gemini Deep Research.