शुरू करना

इस गाइड की मदद से, generateContent API के पुराने वर्शन का इस्तेमाल शुरू किया जा सकता है. नए प्रोजेक्ट और ऐप्लिकेशन के लिए, हमारा सुझाव है कि आप Interactions API के नए वर्शन का इस्तेमाल करें. यह Gemini मॉडल और एजेंट की मदद से ऐप्लिकेशन बनाने का सबसे आसान और बेहतर तरीका है.

इस क्विकस्टार्ट में, हमारी लाइब्रेरी इंस्टॉल करने, पहला अनुरोध करने, जवाब स्ट्रीम करने, कई राउंड वाली बातचीत बनाने, और स्टैंडर्ड generateContent तरीके का इस्तेमाल करके टूल इस्तेमाल करने का तरीका बताया गया है.

एपीआई पासकोड पाना

Gemini API का इस्तेमाल करने के लिए, आपके पास एक एपीआई पासकोड होना चाहिए. इससे आपके अनुरोधों की पुष्टि की जाती है, सुरक्षा से जुड़ी सीमाओं को लागू किया जाता है, और आपके खाते के इस्तेमाल को ट्रैक किया जाता है.

  • Google AI Studio, नए उपयोगकर्ताओं के लिए अपने-आप एक प्रोजेक्ट और एपीआई पासकोड बनाता है. इसे एपीआई पासकोड वाले पेज से कॉपी किया जा सकता है.
  • अगर आपको नया पासकोड चाहिए, तो AI Studio में एपीआई पासकोड बनाएं पर क्लिक करें. इसके बाद, नया पासकोड-प्रोजेक्ट पेयर जोड़ने के लिए, डायलॉग बॉक्स में दिए गए निर्देशों का पालन करें.

Gemini API पासकोड बनाना

अपने पासकोड को एनवायरमेंट वैरिएबल के तौर पर सेट करें:

export GEMINI_API_KEY="YOUR_API_KEY"

पैसे चुकाकर इस्तेमाल किए जाने वाले टियर पर अपग्रेड करना

पैसे चुकाकर इस्तेमाल किए जाने वाले टियर पर अपग्रेड करने से, आपकी दर की सीमाएं बढ़ जाती हैं. इसके लिए, Cloud Billing सेट अप करना ज़रूरी है.

ज़्यादा जानकारी के लिए, बिलिंग वाला पेज देखें.

Google GenAI SDK टूल इंस्टॉल करना

टेक्स्ट जनरेट करो

टेक्स्ट के तौर पर जवाब जनरेट करने के लिए, models.generate_content तरीके का इस्तेमाल करें .

Python

from google import genai

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="Explain how AI works in a few words"
)

print(response.text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-3.5-flash",
    contents: "Explain how AI works in a few words",
  });

  console.log(response.text);
}

main();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "Explain how AI works in a few words"
          }
        ]
      }
    ]
  }'

जवाब स्ट्रीम करें

डिफ़ॉल्ट रूप से, मॉडल पूरी जनरेशन प्रोसेस पूरी होने के बाद ही जवाब देता है. तेज़ और ज़्यादा इंटरैक्टिव अनुभव के लिए, आप जवाब के चंक जनरेट होने पर उन्हें स्ट्रीम कर सकते हैं.

Python

response = client.models.generate_content_stream(
    model="gemini-3.5-flash",
    contents="Explain how AI works in detail"
)

for chunk in response:
    print(chunk.text, end="", flush=True)

JavaScript

async function main() {
  const responseStream = await ai.models.generateContentStream({
    model: "gemini-3.5-flash",
    contents: "Explain how AI works in detail",
  });

  for await (const chunk of responseStream) {
    process.stdout.write(chunk.text);
  }
}

main();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:streamGenerateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  --no-buffer \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "Explain how AI works in detail"
          }
        ]
      }
    ]
  }'

कई राउंड वाली बातचीत

कई राउंड वाली बातचीत के लिए, एसडीके टूल, स्टेटफ़ुल chats हेल्पर उपलब्ध कराते हैं. इसकी मदद से, कई राउंड वाली बातचीत का अनुभव बनाया जा सकता है. यह बातचीत के इतिहास को अपने-आप मैनेज करता है.

Python

chat = client.chats.create(model="gemini-3.5-flash")

response1 = chat.send_message("I have 2 dogs in my house.")
print("Response 1:", response1.text)

response2 = chat.send_message("How many paws are in my house?")
print("Response 2:", response2.text)

JavaScript

async function main() {
  const chat = ai.chats.create({ model: "gemini-3.5-flash" });

  let response = await chat.sendMessage({ message: "I have 2 dogs in my house." });
  console.log("Response 1:", response.text);

  response = await chat.sendMessage({ message: "How many paws are in my house?" });
  console.log("Response 2:", response.text);
}

main();

REST

# REST is stateless. You must pass the full conversation history in the request.
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "I have 2 dogs in my house."}]
      },
      {
        "role": "model",
        "parts": [{"text": "That is nice! Two dogs mean you have plenty of company."}]
      },
      {
        "role": "user",
        "parts": [{"text": "How many paws are in my house?"}]
      }
    ]
  }'

टूल इस्तेमाल करना

वेब पर मौजूद रीयल-टाइम कॉन्टेंट को ऐक्सेस करने के लिए, Google Search से सटीक जानकारी पाने की सुविधा का इस्तेमाल करके, मॉडल की क्षमताओं को बढ़ाया जा सकता है. मॉडल अपने-आप यह तय करता है कि कब खोजना है, क्वेरी कब लागू करनी है, और जवाब कब देना है.

Python

from google import genai
from google.genai import types

config = types.GenerateContentConfig(
    tools=[types.Tool(google_search=types.GoogleSearch())]
)

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="Who won the euro 2024?",
    config=config
)

print(response.text)

metadata = response.candidates[0].grounding_metadata
if metadata.web_search_queries:
    print("\nSearch queries executed:")
    for query in metadata.web_search_queries:
        print(f" - {query}")

if metadata.grounding_chunks:
    print("\nSources:")
    for chunk in metadata.grounding_chunks:
        print(f" - [{chunk.web.title}]({chunk.web.uri})")

JavaScript

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-3.5-flash",
    contents: "Who won the euro 2024?",
    config: {
      tools: [{ googleSearch: {} }]
    }
  });

  console.log(response.text);

  const metadata = response.candidates[0]?.groundingMetadata;
  if (metadata?.webSearchQueries) {
    console.log("\nSearch queries executed:");
    for (const query of metadata.webSearchQueries) {
      console.log(` - ${query}`);
    }
  }
  if (metadata?.groundingChunks) {
    console.log("\nSources:");
    for (const chunk of metadata.groundingChunks) {
      console.log(` - [${chunk.web.title}](${chunk.web.uri})`);
    }
  }
}

main();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {"text": "Who won the euro 2024?"}
        ]
      }
    ],
    "tools": [
      {
        "google_search": {}
      }
    ]
  }'

Gemini API, अन्य इन-बिल्ट टूल भी इस्तेमाल करता है:

पसंद के मुताबिक फ़ंक्शन कॉल करना

मॉडल को अपने पसंद के मुताबिक टूल और एपीआई से कनेक्ट करने के लिए, **फ़ंक्शन कॉल करने की सुविधा** का इस्तेमाल करें. मॉडल यह तय करता है कि आपके फ़ंक्शन को कब कॉल करना है. साथ ही, आपके ऐप्लिकेशन को एक्ज़ीक्यूट करने के लिए, जवाब में functionCall दिखाता है.

इस उदाहरण में, तापमान के लिए मॉक फ़ंक्शन का एलान किया गया है. साथ ही, यह देखा गया है कि मॉडल इसे कॉल करना चाहता है या नहीं.

Python

from google import genai
from google.genai import types

weather_function = {
    "name": "get_current_temperature",
    "description": "Gets the current temperature for a given location.",
    "parameters": {
        "type": "object",
        "properties": {
            "location": {
                "type": "string",
                "description": "The city name, e.g. San Francisco",
            },
        },
        "required": ["location"],
    },
}

tools = types.Tool(function_declarations=[weather_function])
config = types.GenerateContentConfig(tools=[tools])

contents = ["What's the temperature in London?"]

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=contents,
    config=config,
)

part = response.candidates[0].content.parts[0]
if part.function_call:
    fc = part.function_call
    print(f"Model requested function: {fc.name} with args {fc.args}")

    mock_result = {"temperature": "15C", "condition": "Cloudy"}

    contents.append(response.candidates[0].content)

    fn_response_part = types.Part.from_function_response(
        name=fc.name,
        response=mock_result,
        id=fc.id
    )
    contents.append(types.Content(role="user", parts=[fn_response_part]))

    final_response = client.models.generate_content(
        model="gemini-3.5-flash",
        contents=contents,
        config=config,
    )
    print("Final Response:", final_response.text)

JavaScript

import { GoogleGenAI, Type } from '@google/genai';

async function main() {
  const weatherFunction = {
    name: 'get_current_temperature',
    description: 'Gets the current temperature for a given location.',
    parameters: {
      type: Type.OBJECT,
      properties: {
        location: {
          type: Type.STRING,
          description: 'The city name, e.g. San Francisco',
        },
      },
      required: ['location'],
    },
  };

  const contents = [{
    role: 'user',
    parts: [{ text: "What's the temperature in London?" }]
  }];

  const response = await ai.models.generateContent({
    model: 'gemini-3.5-flash',
    contents: contents,
    config: {
      tools: [{ functionDeclarations: [weatherFunction] }],
    },
  });

  if (response.functionCalls && response.functionCalls.length > 0) {
    const fc = response.functionCalls[0];
    console.log(`Model requested function: ${fc.name}`);

    const mockResult = { temperature: "15C", condition: "Cloudy" };

    contents.push(response.candidates[0].content);

    contents.push({
      role: 'user',
      parts: [{
        functionResponse: {
          name: fc.name,
          response: mockResult,
          id: fc.id
        }
      }]
    });

    const finalResponse = await ai.models.generateContent({
      model: 'gemini-3.5-flash',
      contents: contents,
      config: {
        tools: [{ functionDeclarations: [weatherFunction] }],
      },
    });
    console.log("Final Response:", finalResponse.text);
  }
}

main();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "What'\''s the temperature in London?"}]
      }
    ],
    "tools": [
      {
        "functionDeclarations": [
          {
            "name": "get_current_temperature",
            "description": "Gets the current temperature for a given location.",
            "parameters": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "description": "The city name, e.g. San Francisco"
                }
              },
              "required": ["location"]
            }
          }
        ]
      }
    ]
  }'

आगे क्या करना है

अब आपने Gemini API का इस्तेमाल शुरू कर दिया है. ज़्यादा बेहतर ऐप्लिकेशन बनाने के लिए, यहां दी गई गाइड देखें: