Gemini के मॉडल और एजेंट की मदद से कुछ नया बनाने के लिए, Interactions API सबसे अच्छा तरीका है. यह जून 2026 से सामान्य तौर पर उपलब्ध है. साथ ही, इसे सभी नए प्रोजेक्ट के लिए इस्तेमाल करने का सुझाव दिया जाता है. हालांकि, इसे अब लेगसी माना जाता है, लेकिन ओरिजनल
generateContent API
अब भी पूरी तरह से काम करता है.
Interactions API का इस्तेमाल क्यों करना चाहिए?
- सभी ऐप्लिकेशन के लिए यूनिवर्सल इंटरफ़ेस: इसे हर इस्तेमाल के उदाहरण के लिए स्टैंडर्ड इंटरफ़ेस के तौर पर डिज़ाइन किया गया है. इसमें एक बार में टेक्स्ट जनरेट करना, मल्टीमॉडल को समझना, स्ट्रक्चर्ड आउटपुट, टूल ऑर्केस्ट्रेशन, और एजेंटिक वर्कफ़्लो शामिल हैं.
- मॉडल और एजेंट के लिए एक ही एपीआई: स्टैंडर्ड Gemini मॉडल के साथ-साथ, सीधे तौर पर खास एजेंट (जैसे, Deep Research और कस्टम मैनेज किए गए एजेंट) को कॉल करने के लिए, एक यूनीफ़ाइड एंडपॉइंट और पैटर्न.
- नई सुविधाएं: `previous_interaction_id` का इस्तेमाल करके
previous_interaction_id, सर्वर-साइड पर बातचीत की स्थिति को सेव करने की सुविधा, डीबग करने और यूज़र इंटरफ़ेस रेंडर करने के लिए, लागू करने के चरणों को देखने की सुविधा, और `background=true` का इस्तेमाल करकेbackground=true, लंबे समय तक चलने वाले टास्क के लिए बैकग्राउंड में लागू करने की सुविधा. - कैश हिट रेट ज़्यादा होने से लागत कम होना: मल्टी-टर्न बातचीत का इस्तेमाल करने पर, सर्वर-साइड पर बातचीत की स्थिति को सेव करने की सुविधा, बातचीत के हर टर्न के लिए कॉन्टेक्स्ट को ज़्यादा बेहतर तरीके से कैश मेमोरी में सेव करती है. इससे टोकन की लागत कम होती है.
- नई सुविधाएं कहां लॉन्च होंगी: आने वाले समय में, सभी नए मॉडल, मल्टीमॉडल की सुविधाएं, टूल, और एजेंटिक सुविधाएं, Interactions API पर लॉन्च होंगी.
Interactions API, डिफ़ॉल्ट रूप से अनुरोधों को सेव करता है, ताकि previous_interaction_id का इस्तेमाल करके, सर्वर-साइड पर बातचीत की स्थिति को सेव करने की सुविधाओं का फ़ायदा लिया जा सके. store=false सेट करके, स्टेटलेस व्यवहार चुना जा सकता है. ज़्यादा जानकारी के लिए, डेटा का रखरखाव सेक्शन देखें.
शुरू करें
- अपने कोडिंग एजेंट को सेट अप करना: Gemini Docs MCP से कनेक्ट करें और
gemini-api-devस्किल इंस्टॉल करें, ताकि आपके Assistant को डेवल101}पर के सबसे नए दस्तावेज़ों और सबसे सही तरीकों का डायरेक्ट ऐक्सेस मिल सके. ज़्यादा जानकारी के लिए, अपने कोडिंग एजेंट को सेट अप करना गाइड देखें generateContentसे माइग्रेट करना: अगर आपका इंटिग्रेशन पहले से मौजूद है, तो Interactions API पर स्विच करने के लिए,माइग्रेट करने से जुड़ी गाइड में दिया गया तरीका अपनाएं.- शुरू करना: Interactions API के लिए, शुरू करने की गाइड में दिया गया तरीका अपनाएं.
सुविधा की गाइड
इन गाइड की मदद से, Interactions API की खास क्षमताओं के बारे में जानें. इन पेजों पर मौजूद टॉगल का इस्तेमाल करके, generateContent और Interactions API के बीच स्विच किया जा सकता है:
- टेक्स्ट जनरेट करना
- इमेज जनरेट करना
- इमेज को समझना
- ऑडियो को समझना
- वीडियो को समझना
- दस्तावेज़ को प्रोसेस करना
- फ़ंक्शन कॉल करना
- स्ट्रक्चर्ड आउटपुट
- Deep Research एजेंट
- Flex inference
- Priority inference
Interactions API के काम करने का तरीका
Interactions API, मुख्य संसाधन Interaction पर आधारित है. कोई Interaction, बातचीत या टास्क के पूरे टर्न को दिखाता है. यह सेशन रिकॉर्ड के तौर पर काम करता है. इसमें, लागू करने के चरणों के क्रम के तौर पर, इंटरैक्शन का पूरा इतिहास शामिल होता है. इन चरणों में मॉडल के विचार, सर्वर-साइड या क्लाइंट-साइड टूल कॉल और नतीजे (जैसे, function_call और function_result), और फ़ाइनल model_output शामिल हैं. सेव किए गए संसाधन (interactions.get के ज़रिए वापस पाया गया) में, पूरे कॉन्टेक्स्ट के लिए user_input चरण भी शामिल होते हैं. हालांकि, interactions.create का जवाब सिर्फ़ मॉडल से जनरेट किए गए चरण दिखाता है.
interactions.create को कॉल करने पर, नया
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(""));
ऐप पर जाएं
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)
}
}
आराम का समय
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."
}'
सर्वर-साइड पर बातचीत की स्थिति को सेव करने की सुविधा
बातचीत जारी रखने के लिए,
previous_interaction_id पैरामीटर का इस्तेमाल करके, बाद में किए जाने वाले कॉल में, पूरे हो चुके इंटरैक्शन के id का इस्तेमाल किया जा सकता है. सर्वर इस आईडी का इस्तेमाल करके, बातचीत का इतिहास वापस पाता है. इससे आपको चैट का पूरा इतिहास दोबारा भेजने की ज़रूरत नहीं पड़ती:
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(""));
ऐप पर जाएं
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)
}
}
आराम का समय
# 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"
}'
previous_interaction_id पैरामीटर, previous_interaction_id का इस्तेमाल करके, सिर्फ़ बातचीत का इतिहास (इनपुट और आउटपुट) सेव करता है. अन्य पैरामीटर इंटरैक्शन-स्कोप होते हैं और सिर्फ़ उस इंटरैक्शन पर लागू होते हैं जिसे फ़िलहाल जनरेट किया जा रहा है:
toolssystem_instructiongeneration_config(जिसमेंthinking_level,temperatureवगैरह शामिल हैं)
इसका मतलब है कि अगर आपको इन पैरामीटर को लागू करना है, तो आपको हर नए इंटरैक्शन में इन्हें फिर से बताना होगा. सर्वर-साइड पर बातचीत की स्थिति को सेव करने की सुविधा वैकल्पिक है. हर अनुरोध में बातचीत का पूरा इतिहास भेजकर, स्टेटलेस मोड में भी काम किया जा सकता है.
डेटा सेव करना और उसका रखरखाव
एपीआई, डिफ़ॉल्ट रूप से सभी इंटरैक्शन ऑब्जेक्ट (store=true) सेव करता है, ताकि सर्वर-साइड पर स्टेट मैनेजमेंट की सुविधाओं (previous_interaction_id के साथ), बैकग्राउंड में प्रोग्राम चलाने की सुविधा (background=true का इस्तेमाल करके) और जांचने की क्षमता के मकसद से, इनका इस्तेमाल आसान बनाया जा सके.
- पैसे चुकाकर ली जाने वाली सेवा: सिस्टम, इंटरैक्शन को 55 दिनों तक सेव रखता है.
- फ़्री टियर: सिस्टम, इंटरैक्शन को एक दिन तक सेव रखता है.
अगर आपको यह नहीं चाहिए, तो अपने अनुरोध में store=false सेट किया जा सकता है. यह कंट्रोल, बातचीत की स्थिति को सेव करने की सुविधा से अलग है. किसी भी इंटरैक्शन के लिए, सेव करने की सुविधा बंद की जा सकती है. हालांकि, ध्यान दें कि
store=false के साथ काम नहीं करता है और बाद के टर्न के लिए
previous_interaction_id का इस्तेमाल करने से रोकता है.
पैसे चुकाकर ली जाने वाली सेवा के प्रोजेक्ट के लिए, AI Studio में रखरखाव की अवधि कॉन्फ़िगर की जा सकती है, ताकि 7, 14, 28 या 55 दिनों के बाद, प्रोजेक्ट स्टोरेज से लॉग को मिटाने के लिए अपने-आप मार्क किया जा सके. कम समय के लिए डेटा सेव करने पर, पिछली बातचीत को वापस पाने में समस्या आ सकती है.
`delete` तरीके का इस्तेमाल करके, सेव किए गए इंटरैक्शन को किसी भी समय मिटाया जा सकता है.
delete इसके लिए, इंटरैक्शन आईडी की ज़रूरत होती है. AI Studioमें, सेव किए गए इंटरैक्शन के लॉग देखे और मैनेज किए जा सकते हैं. इनमें प्रोजेक्ट स्टोरेज से मिटाने की सुविधा भी शामिल है.
डेटा सेव करने की अवधि खत्म होने के बाद, आपका डेटा अपने-आप मिट जाएगा.
इंटरैक्शन ऑब्जेक्ट को शर्तों के मुताबिक प्रोसेस किया जाता है.
AI Studio में इंटरैक्शन देखना
एपीआई, पैसे चुकाकर ली जाने वाली सेवा के प्रोजेक्ट के लिए, store=true के साथ लागू किए गए Interactions API के अनुरोधों को सेव करता है. इन्हें सीधे Google AI Studio में,
लॉग पेज से देखा जा सकता है. ज़्यादा जानकारी के लिए,
लॉग की गाइड देखें.
सबसे सही तरीके
- कैश हिट रेट: स्टेटफ़ुल और स्टेटलेस, दोनों मोड में, इंप्लिसिट कैश मेमोरी में सेव करने की सुविधा उपलब्ध है (क्विकस्टार्ट देखें).
previous_interaction_id(बातचीत जारी रखने की सुविधा) का इस्तेमाल करके बातचीत जारी रखने पर, सिस्टम बातचीत के इतिहास के लिए, इंप्लिसिट कैश मेमोरी में सेव करने की सुविधा का ज़्यादा आसानी से इस्तेमाल कर पाता है. इससे परफ़ॉर्मेंस बेहतर होती है और लागत कम होती है. - इंटरैक्शन को मिक्स करना: बातचीत में, एजेंट और
मॉडल के इंटरैक्शन को मिक्स और मैच किया जा सकता है. उदाहरण के लिए, शुरुआती डेटा कलेक्शन के लिए, Deep Research एजेंट जैसे खास एजेंट का इस्तेमाल किया जा सकता है. इसके बाद, फ़ॉलो-अप टास्क के लिए, स्टैंडर्ड Gemini मॉडल का इस्तेमाल किया जा सकता है. जैसे, खास जानकारी देना या फ़ॉर्मैट बदलना. इन चरणों को
previous_interaction_idसे लिंक किया जा सकता है.
इस्तेमाल किए जा सकने वाले मॉडल और एजेंट
| मॉडल का नाम | टाइप | मॉडल आईडी |
|---|---|---|
| Gemini 4 Argon | मॉडल | gemini-4-argon |
| Gemini 3.8 Flash | मॉडल | gemini-3.8-flash |
| Gemini 3.6 Flash | मॉडल | gemini-3.6-flash |
| Gemini 3.1 Pro की झलक | मॉडल | gemini-3.1-pro-preview |
| 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 Pro | मॉडल | gemini-2.5-pro |
| Gemini 2.5 Flash | मॉडल | gemini-2.5-flash |
| Gemini 2.5 Flash-lite | मॉडल | gemini-2.5-flash-lite |
| Gemini 3 Pro Image | मॉडल | gemini-3-pro-image |
| Gemini 3.1 Flash Image | मॉडल | gemini-3.1-flash-image |
| Gemini 3.1 Flash TTS की झलक | मॉडल | gemini-3.1-flash-tts-preview |
| Gemma 4 31B IT | मॉडल | gemma-4-31b-it |
| Gemma 4 26B MoE IT | मॉडल | gemma-4-26b-a4b-it |
| Lyria 3.5 | मॉडल | lyria-3.5 |
| Lyria 3 Clip की झलक | मॉडल | lyria-3-clip-preview |
| Lyria 3 Pro की झलक | मॉडल | lyria-3-pro-preview |
| Deep Research की झलक | एजेंट | deep-research-preview-04-2026 |
| Deep Research की झलक | एजेंट | deep-research-max-preview-04-2026 |
| Antigravity की झलक | एजेंट | antigravity-preview-09-2026 |
एसडीके
Interactions API को ऐक्सेस करने के लिए, Google GenAI SDK के सबसे नए वर्शन का इस्तेमाल किया जा सकता है.
- Python पर, यह
2.3.0वर्शन या इसके बाद के वर्शन से,google-genaiपैकेज है. - JavaScript पर, यह
2.3.0वर्शन या इसके बाद के वर्शन से,@google/genaiपैकेज है. - Go पर, यह
google.golang.org/genaiपैकेज है. - Java पर, यह
com.google.genai:google-genaiपैकेज है.
लाइब्रेरी पेज पर जाकर, एसडीके इंस्टॉल करने के बारे में ज़्यादा जाना जा सकता है.
सीमाएं
- रिमोट MCP: Gemini 3, रिमोट MCP के साथ काम नहीं करता. यह सुविधा जल्द आ रही है.
- मल्टी-टर्न मॉडल की कंपैटिबिलिटी: बातचीत में अलग-अलग मॉडल (बातचीत की स्थिति को सेव करने या न करने वाले मोड में) को मिक्स करने पर, बाद के मॉडल को इनपुट के तौर पर, पिछले मॉडल के आउटपुट मोड के साथ काम करना होगा. उदाहरण के लिए, अगर
gemini-3.1-flash-imageका इस्तेमाल करके कोई इमेज जनरेट की जाती है, तो उस बातचीत को ऐसे मॉडल के साथ जारी नहीं रखा जा सकता जो इमेज इनपुट स्वीकार नहीं करता. जैसे, सिर्फ़ टेक्स्ट वाला मॉडल या Lyria जैसे संगीत जनरेट करने वाला मॉडल.
generateContent API, इन सुविधाओं के साथ काम करता है, लेकिन ये सुविधाएं Interactions API में अब तक उपलब्ध नहीं हैं:
- बैच एपीआई
- ऑटोमैटिक फ़ंक्शन कॉलिंग (Python)
- एक्सप्लिसिट कैश मेमोरी में सेव करना: ध्यान दें कि Interactions API
में, सर्वर-साइड पर इंप्लिसिट कैश मेमोरी में सेव करने की सुविधा,
previous_interaction_idके ज़रिए उपलब्ध है. - सुरक्षा सेटिंग: Interactions API में, सुरक्षा की कस्टम सेटिंग उपलब्ध नहीं हैं.
सुझाव/राय दें या शिकायत करें
Interactions API को बेहतर बनाने के लिए, आपका सुझाव, शिकायत या राय अहम है. Google AI डेवलपर कम्यूनिटी फ़ोरम पर, अपने विचार शेयर करें, गड़बड़ियों की शिकायत करें या सुविधाओं का अनुरोध करें.
आगे क्या करना है
- Interactions API क्विकस्टार्ट नोटबुक को आज़माएं.
- Gemini Deep Research एजेंट के बारे में ज़्यादा जानें.