Generating content

Gemini API की मदद से, इमेज, ऑडियो, कोड, टूल वगैरह का इस्तेमाल करके कॉन्टेंट जनरेट किया जा सकता है. इन सुविधाओं के बारे में ज़्यादा जानने के लिए, आगे पढ़ें. साथ ही, टास्क पर फ़ोकस करने वाला सैंपल कोड देखें या पूरी गाइड पढ़ें.

तरीका: models.generateContent

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

एंडपॉइंट

post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateContent

पाथ पैरामीटर

model string

ज़रूरी है. Model का नाम, जिसका इस्तेमाल जवाब जनरेट करने के लिए किया जाएगा.

फ़ॉर्मैट: models/{model}. यह models/{model} के फ़ॉर्म में होता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:

फ़ील्ड
contents[] object (Content)

ज़रूरी है. मॉडल के साथ की जा रही मौजूदा बातचीत का कॉन्टेंट.

सिंगल-टर्न क्वेरी के लिए, यह एक इंस्टेंस होता है. चैट जैसी सिलसिलेवार बातचीत वाली क्वेरी के लिए, यह एक दोहराया गया फ़ील्ड है. इसमें बातचीत का इतिहास और हाल ही का अनुरोध शामिल होता है.

tools[] object (Tool)

ज़रूरी नहीं. Tools की एक सूची, जिसका इस्तेमाल Model अगले जवाब को जनरेट करने के लिए कर सकता है.

Tool एक ऐसा कोड होता है जो सिस्टम को बाहरी सिस्टम के साथ इंटरैक्ट करने की अनुमति देता है. इससे Model की जानकारी और दायरे से बाहर कोई कार्रवाई या कार्रवाइयों का सेट किया जा सकता है. Function और codeExecution Tool इस्तेमाल किए जा सकते हैं. ज़्यादा जानने के लिए, फ़ंक्शन कॉलिंग और कोड एक्ज़ीक्यूशन गाइड देखें.

toolConfig object (ToolConfig)

ज़रूरी नहीं. अनुरोध में बताए गए किसी भी Tool के लिए टूल कॉन्फ़िगरेशन. इस्तेमाल के उदाहरण के लिए, फ़ंक्शन कॉलिंग गाइड देखें.

safetySettings[] object (SafetySetting)

ज़रूरी नहीं. असुरक्षित कॉन्टेंट को ब्लॉक करने के लिए, SafetySetting के यूनीक इंस्टेंस की सूची.

यह GenerateContentRequest.contents और GenerateContentResponse.candidates पर लागू होगा. हर SafetyCategory टाइप के लिए एक से ज़्यादा सेटिंग नहीं होनी चाहिए. एपीआई, ऐसे सभी कॉन्टेंट और जवाबों को ब्लॉक कर देगा जो इन सेटिंग के ज़रिए तय की गई थ्रेशोल्ड वैल्यू को पूरा नहीं करते. इस सूची में, safetySettings में बताए गए हर SafetyCategory के लिए डिफ़ॉल्ट सेटिंग को ओवरराइड किया जाता है. अगर सूची में दिए गए किसी SafetyCategory के लिए कोई SafetySetting नहीं है, तो एपीआई उस कैटगरी के लिए डिफ़ॉल्ट सुरक्षा सेटिंग का इस्तेमाल करेगा. इन कैटगरी में आने वाले कॉन्टेंट को नुकसान पहुंचाने वाला माना जाता है: HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY, HARM_CATEGORY_JAILBREAK. सुरक्षा से जुड़ी उपलब्ध सेटिंग के बारे में ज़्यादा जानने के लिए, गाइड देखें. एआई ऐप्लिकेशन में सुरक्षा से जुड़ी बातों को शामिल करने का तरीका जानने के लिए, सुरक्षा से जुड़े दिशा-निर्देश भी पढ़ें.

systemInstruction object (Content)

ज़रूरी नहीं. डेवलपर ने सिस्टम के लिए निर्देश सेट किए हैं. फ़िलहाल, सिर्फ़ टेक्स्ट.

generationConfig object (GenerationConfig)

ज़रूरी नहीं. मॉडल जनरेट करने और आउटपुट के लिए कॉन्फ़िगरेशन के विकल्प.

cachedContent string

ज़रूरी नहीं. कॉन्टेंट का नाम, जिसे अनुमान दिखाने के लिए कॉन्टेक्स्ट के तौर पर इस्तेमाल करने के लिए कैश मेमोरी में सेव किया गया है. फ़ॉर्मैट: cachedContents/{cachedContent}

serviceTier enum (ServiceTier)

ज़रूरी नहीं. अनुरोध का सेवा स्तर.

store boolean

ज़रूरी नहीं. यह कुकी, किसी अनुरोध के लिए लॉगिंग के व्यवहार को कॉन्फ़िगर करती है. अगर इसे सेट किया जाता है, तो इसे प्रोजेक्ट-लेवल के लॉगिंग कॉन्फ़िगरेशन से ज़्यादा प्राथमिकता दी जाती है.

अनुरोध का उदाहरण

टेक्स्ट

Python

from google import genai

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.6-flash", contents="Write a story about a magic backpack."
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const response = await ai.models.generateContent({
  model: "gemini-3.6-flash",
  contents: "Write a story about a magic backpack.",
});
console.log(response.text);

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}
contents := []*genai.Content{
	genai.NewContentFromText("Write a story about a magic backpack.", genai.RoleUser),
}
response, err := client.Models.GenerateContent(ctx, "gemini-3.6-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

शेल

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[{"text": "Write a story about a magic backpack."}]
        }]
       }' 2> /dev/null

Java

Client client = new Client();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.6-flash",
                "Write a story about a magic backpack.",
                null);

System.out.println(response.text());

इमेज

Python

from google import genai
import PIL.Image

client = genai.Client()
organ = PIL.Image.open(media / "organ.jpg")
response = client.models.generate_content(
    model="gemini-3.6-flash", contents=["Tell me about this instrument", organ]
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const organ = await ai.files.upload({
  file: path.join(media, "organ.jpg"),
});

const response = await ai.models.generateContent({
  model: "gemini-3.6-flash",
  contents: [
    createUserContent([
      "Tell me about this instrument", 
      createPartFromUri(organ.uri, organ.mimeType)
    ]),
  ],
});
console.log(response.text);

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "organ.jpg"), 
	&genai.UploadFileConfig{
		MIMEType : "image/jpeg",
	},
)
if err != nil {
	log.Fatal(err)
}
parts := []*genai.Part{
	genai.NewPartFromText("Tell me about this instrument"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}
contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.6-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

शेल

# Use a temporary file to hold the base64 encoded image data
TEMP_B64=$(mktemp)
trap 'rm -f "$TEMP_B64"' EXIT
base64 $B64FLAGS $IMG_PATH > "$TEMP_B64"

# Use a temporary file to hold the JSON payload
TEMP_JSON=$(mktemp)
trap 'rm -f "$TEMP_JSON"' EXIT

cat > "$TEMP_JSON" << EOF
{
  "contents": [{
    "parts":[
      {"text": "Tell me about this instrument"},
      {
        "inline_data": {
          "mime_type":"image/jpeg",
          "data": "$(cat "$TEMP_B64")"
        }
      }
    ]
  }]
}
EOF

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d "@$TEMP_JSON" 2> /dev/null

Java

Client client = new Client();

String path = media_path + "organ.jpg";
byte[] imageData = Files.readAllBytes(Paths.get(path));

Content content =
        Content.fromParts(
                Part.fromText("Tell me about this instrument."),
                Part.fromBytes(imageData, "image/jpeg"));

GenerateContentResponse response = client.models.generateContent("gemini-3.6-flash", content, null);

System.out.println(response.text());

ऑडियो

Python

from google import genai

client = genai.Client()
sample_audio = client.files.upload(file=media / "sample.mp3")
response = client.models.generate_content(
    model="gemini-3.6-flash",
    contents=["Give me a summary of this audio file.", sample_audio],
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const audio = await ai.files.upload({
  file: path.join(media, "sample.mp3"),
});

const response = await ai.models.generateContent({
  model: "gemini-3.6-flash",
  contents: [
    createUserContent([
      "Give me a summary of this audio file.",
      createPartFromUri(audio.uri, audio.mimeType),
    ]),
  ],
});
console.log(response.text);

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "sample.mp3"), 
	&genai.UploadFileConfig{
		MIMEType : "audio/mpeg",
	},
)
if err != nil {
	log.Fatal(err)
}

parts := []*genai.Part{
	genai.NewPartFromText("Give me a summary of this audio file."),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.6-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

शेल

# Use File API to upload audio data to API request.
MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}")
NUM_BYTES=$(wc -c < "${AUDIO_PATH}")
DISPLAY_NAME=AUDIO

tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Please describe this file."},
          {"file_data":{"mime_type": "audio/mpeg", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

jq ".candidates[].content.parts[].text" response.json

वीडियो

Python

from google import genai
import time

client = genai.Client()
# Video clip (CC BY 3.0) from https://peach.blender.org/download/
myfile = client.files.upload(file=media / "Big_Buck_Bunny.mp4")
print(f"{myfile=}")

# Poll until the video file is completely processed (state becomes ACTIVE).
while not myfile.state or myfile.state.name != "ACTIVE":
    print("Processing video...")
    print("File state:", myfile.state)
    time.sleep(5)
    myfile = client.files.get(name=myfile.name)

response = client.models.generate_content(
    model="gemini-3.6-flash", contents=[myfile, "Describe this video clip"]
)
print(f"{response.text=}")

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

let video = await ai.files.upload({
  file: path.join(media, 'Big_Buck_Bunny.mp4'),
});

// Poll until the video file is completely processed (state becomes ACTIVE).
while (!video.state || video.state.toString() !== 'ACTIVE') {
  console.log('Processing video...');
  console.log('File state: ', video.state);
  await sleep(5000);
  video = await ai.files.get({name: video.name});
}

const response = await ai.models.generateContent({
  model: "gemini-3.6-flash",
  contents: [
    createUserContent([
      "Describe this video clip",
      createPartFromUri(video.uri, video.mimeType),
    ]),
  ],
});
console.log(response.text);

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "Big_Buck_Bunny.mp4"), 
	&genai.UploadFileConfig{
		MIMEType : "video/mp4",
	},
)
if err != nil {
	log.Fatal(err)
}

// Poll until the video file is completely processed (state becomes ACTIVE).
for file.State == genai.FileStateUnspecified || file.State != genai.FileStateActive {
	fmt.Println("Processing video...")
	fmt.Println("File state:", file.State)
	time.Sleep(5 * time.Second)

	file, err = client.Files.Get(ctx, file.Name, nil)
	if err != nil {
		log.Fatal(err)
	}
}

parts := []*genai.Part{
	genai.NewPartFromText("Describe this video clip"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.6-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

शेल

# Use File API to upload audio data to API request.
MIME_TYPE=$(file -b --mime-type "${VIDEO_PATH}")
NUM_BYTES=$(wc -c < "${VIDEO_PATH}")
DISPLAY_NAME=VIDEO

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D "${tmp_header_file}" \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${VIDEO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

state=$(jq ".file.state" file_info.json)
echo state=$state

name=$(jq ".file.name" file_info.json)
echo name=$name

while [[ "($state)" = *"PROCESSING"* ]];
do
  echo "Processing video..."
  sleep 5
  # Get the file of interest to check state
  curl https://generativelanguage.googleapis.com/v1beta/files/$name > file_info.json
  state=$(jq ".file.state" file_info.json)
done

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Transcribe the audio from this video, giving timestamps for salient events in the video. Also provide visual descriptions."},
          {"file_data":{"mime_type": "video/mp4", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

jq ".candidates[].content.parts[].text" response.json

PDF

Python

from google import genai

client = genai.Client()
sample_pdf = client.files.upload(file=media / "test.pdf")
response = client.models.generate_content(
    model="gemini-3.6-flash",
    contents=["Give me a summary of this document:", sample_pdf],
)
print(f"{response.text=}")

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "test.pdf"), 
	&genai.UploadFileConfig{
		MIMEType : "application/pdf",
	},
)
if err != nil {
	log.Fatal(err)
}

parts := []*genai.Part{
	genai.NewPartFromText("Give me a summary of this document:"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.6-flash", contents, nil)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

शेल

MIME_TYPE=$(file -b --mime-type "${PDF_PATH}")
NUM_BYTES=$(wc -c < "${PDF_PATH}")
DISPLAY_NAME=TEXT


echo $MIME_TYPE
tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${PDF_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Can you add a few more lines to this poem?"},
          {"file_data":{"mime_type": "application/pdf", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

jq ".candidates[].content.parts[].text" response.json

Chat

Python

from google import genai
from google.genai import types

client = genai.Client()
# Pass initial history using the "history" argument
chat = client.chats.create(
    model="gemini-3.6-flash",
    history=[
        types.Content(role="user", parts=[types.Part(text="Hello")]),
        types.Content(
            role="model",
            parts=[
                types.Part(
                    text="Great to meet you. What would you like to know?"
                )
            ],
        ),
    ],
)
response = chat.send_message(message="I have 2 dogs in my house.")
print(response.text)
response = chat.send_message(message="How many paws are in my house?")
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const chat = ai.chats.create({
  model: "gemini-3.6-flash",
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});

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

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

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

// Pass initial history using the History field.
history := []*genai.Content{
	genai.NewContentFromText("Hello", genai.RoleUser),
	genai.NewContentFromText("Great to meet you. What would you like to know?", genai.RoleModel),
}

chat, err := client.Chats.Create(ctx, "gemini-3.6-flash", nil, history)
if err != nil {
	log.Fatal(err)
}

firstResp, err := chat.SendMessage(ctx, genai.Part{Text: "I have 2 dogs in my house."})
if err != nil {
	log.Fatal(err)
}
fmt.Println(firstResp.Text())

secondResp, err := chat.SendMessage(ctx, genai.Part{Text: "How many paws are in my house?"})
if err != nil {
	log.Fatal(err)
}
fmt.Println(secondResp.Text())

शेल

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [
        {"role":"user",
         "parts":[{
           "text": "Hello"}]},
        {"role": "model",
         "parts":[{
           "text": "Great to meet you. What would you like to know?"}]},
        {"role":"user",
         "parts":[{
           "text": "I have two dogs in my house. How many paws are in my house?"}]},
      ]
    }' 2> /dev/null | grep "text"

Java

Client client = new Client();

Content userContent = Content.fromParts(Part.fromText("Hello"));
Content modelContent =
        Content.builder()
                .role("model")
                .parts(
                        Collections.singletonList(
                                Part.fromText("Great to meet you. What would you like to know?")
                        )
                ).build();

Chat chat = client.chats.create(
        "gemini-3.6-flash",
        GenerateContentConfig.builder()
                .systemInstruction(userContent)
                .systemInstruction(modelContent)
                .build()
);

GenerateContentResponse response1 = chat.sendMessage("I have 2 dogs in my house.");
System.out.println(response1.text());

GenerateContentResponse response2 = chat.sendMessage("How many paws are in my house?");
System.out.println(response2.text());

कैश मेमोरी

Python

from google import genai
from google.genai import types

client = genai.Client()
document = client.files.upload(file=media / "a11.txt")
model_name = "gemini-3.6-flash"

cache = client.caches.create(
    model=model_name,
    config=types.CreateCachedContentConfig(
        contents=[document],
        system_instruction="You are an expert analyzing transcripts.",
    ),
)
print(cache)

response = client.models.generate_content(
    model=model_name,
    contents="Please summarize this transcript",
    config=types.GenerateContentConfig(cached_content=cache.name),
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const filePath = path.join(media, "a11.txt");
const document = await ai.files.upload({
  file: filePath,
  config: { mimeType: "text/plain" },
});
console.log("Uploaded file name:", document.name);
const modelName = "gemini-3.6-flash";

const contents = [
  createUserContent(createPartFromUri(document.uri, document.mimeType)),
];

const cache = await ai.caches.create({
  model: modelName,
  config: {
    contents: contents,
    systemInstruction: "You are an expert analyzing transcripts.",
  },
});
console.log("Cache created:", cache);

const response = await ai.models.generateContent({
  model: modelName,
  contents: "Please summarize this transcript",
  config: { cachedContent: cache.name },
});
console.log("Response text:", response.text);

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"), 
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

modelName := "gemini-3.6-flash"
document, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "a11.txt"), 
	&genai.UploadFileConfig{
		MIMEType : "text/plain",
	},
)
if err != nil {
	log.Fatal(err)
}
parts := []*genai.Part{
	genai.NewPartFromURI(document.URI, document.MIMEType),
}
contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}
cache, err := client.Caches.Create(ctx, modelName, &genai.CreateCachedContentConfig{
	Contents: contents,
	SystemInstruction: genai.NewContentFromText(
		"You are an expert analyzing transcripts.", genai.RoleUser,
	),
})
if err != nil {
	log.Fatal(err)
}
fmt.Println("Cache created:")
fmt.Println(cache)

// Use the cache for generating content.
response, err := client.Models.GenerateContent(
	ctx,
	modelName,
	genai.Text("Please summarize this transcript"),
	&genai.GenerateContentConfig{
		CachedContent: cache.Name,
	},
)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

ट्यून किया गया मॉडल

Python

# With Gemini 2 we're launching a new SDK. See the following doc for details.
# https://ai.google.dev/gemini-api/docs/migrate

JSON मोड

Python

from google import genai
from google.genai import types
from typing_extensions import TypedDict

class Recipe(TypedDict):
    recipe_name: str
    ingredients: list[str]

client = genai.Client()
result = client.models.generate_content(
    model="gemini-3.6-flash",
    contents="List a few popular cookie recipes.",
    config=types.GenerateContentConfig(
        response_mime_type="application/json", response_schema=list[Recipe]
    ),
)
print(result)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
  model: "gemini-3.6-flash",
  contents: "List a few popular cookie recipes.",
  config: {
    responseMimeType: "application/json",
    responseSchema: {
      type: "array",
      items: {
        type: "object",
        properties: {
          recipeName: { type: "string" },
          ingredients: { type: "array", items: { type: "string" } },
        },
        required: ["recipeName", "ingredients"],
      },
    },
  },
});
console.log(response.text);

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"), 
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

schema := &genai.Schema{
	Type: genai.TypeArray,
	Items: &genai.Schema{
		Type: genai.TypeObject,
		Properties: map[string]*genai.Schema{
			"recipe_name": {Type: genai.TypeString},
			"ingredients": {
				Type:  genai.TypeArray,
				Items: &genai.Schema{Type: genai.TypeString},
			},
		},
		Required: []string{"recipe_name"},
	},
}

config := &genai.GenerateContentConfig{
	ResponseMIMEType: "application/json",
	ResponseSchema:   schema,
}

response, err := client.Models.GenerateContent(
	ctx,
	"gemini-3.6-flash",
	genai.Text("List a few popular cookie recipes."),
	config,
)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

शेल

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "contents": [{
      "parts":[
        {"text": "List 5 popular cookie recipes"}
        ]
    }],
    "generationConfig": {
        "response_mime_type": "application/json",
        "response_schema": {
          "type": "ARRAY",
          "items": {
            "type": "OBJECT",
            "properties": {
              "recipe_name": {"type":"STRING"},
            }
          }
        }
    }
}' 2> /dev/null | head

Java

Client client = new Client();

Schema recipeSchema = Schema.builder()
        .type(Array.class.getSimpleName())
        .items(Schema.builder()
                .type(Object.class.getSimpleName())
                .properties(
                        Map.of("recipe_name", Schema.builder()
                                        .type(String.class.getSimpleName())
                                        .build(),
                                "ingredients", Schema.builder()
                                        .type(Array.class.getSimpleName())
                                        .items(Schema.builder()
                                                .type(String.class.getSimpleName())
                                                .build())
                                        .build())
                )
                .required(List.of("recipe_name", "ingredients"))
                .build())
        .build();

GenerateContentConfig config =
        GenerateContentConfig.builder()
                .responseMimeType("application/json")
                .responseSchema(recipeSchema)
                .build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.6-flash",
                "List a few popular cookie recipes.",
                config);

System.out.println(response.text());

कोड एक्ज़ीक्यूट करना

Python

from google import genai
from google.genai import types

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.6-flash",
    contents=(
        "Write and execute code that calculates the sum of the first 50 prime numbers. "
        "Ensure that only the executable code and its resulting output are generated."
    ),
)
# Each part may contain text, executable code, or an execution result.
for part in response.candidates[0].content.parts:
    print(part, "\n")

print("-" * 80)
# The .text accessor concatenates the parts into a markdown-formatted text.
print("\n", response.text)

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

response, err := client.Models.GenerateContent(
	ctx,
	"gemini-3.6-flash",
	genai.Text(
		`Write and execute code that calculates the sum of the first 50 prime numbers.
		 Ensure that only the executable code and its resulting output are generated.`,
	),
	&genai.GenerateContentConfig{},
)
if err != nil {
	log.Fatal(err)
}

// Print the response.
printResponse(response)

fmt.Println("--------------------------------------------------------------------------------")
fmt.Println(response.Text())

Java

Client client = new Client();

String prompt = """
        Write and execute code that calculates the sum of the first 50 prime numbers.
        Ensure that only the executable code and its resulting output are generated.
        """;

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.6-flash",
                prompt,
                null);

for (Part part : response.candidates().get().getFirst().content().get().parts().get()) {
    System.out.println(part + "\n");
}

System.out.println("-".repeat(80));
System.out.println(response.text());

फ़ंक्शन कॉलिंग

Python

from google import genai
from google.genai import types

client = genai.Client()

def add(a: float, b: float) -> float:
    """returns a + b."""
    return a + b

def subtract(a: float, b: float) -> float:
    """returns a - b."""
    return a - b

def multiply(a: float, b: float) -> float:
    """returns a * b."""
    return a * b

def divide(a: float, b: float) -> float:
    """returns a / b."""
    return a / b

# Create a chat session; function calling (via tools) is enabled in the config.
chat = client.chats.create(
    model="gemini-3.6-flash",
    config=types.GenerateContentConfig(tools=[add, subtract, multiply, divide]),
)
response = chat.send_message(
    message="I have 57 cats, each owns 44 mittens, how many mittens is that in total?"
)
print(response.text)

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}
modelName := "gemini-3.6-flash"

// Create the function declarations for arithmetic operations.
addDeclaration := createArithmeticToolDeclaration("addNumbers", "Return the result of adding two numbers.")
subtractDeclaration := createArithmeticToolDeclaration("subtractNumbers", "Return the result of subtracting the second number from the first.")
multiplyDeclaration := createArithmeticToolDeclaration("multiplyNumbers", "Return the product of two numbers.")
divideDeclaration := createArithmeticToolDeclaration("divideNumbers", "Return the quotient of dividing the first number by the second.")

// Group the function declarations as a tool.
tools := []*genai.Tool{
	{
		FunctionDeclarations: []*genai.FunctionDeclaration{
			addDeclaration,
			subtractDeclaration,
			multiplyDeclaration,
			divideDeclaration,
		},
	},
}

// Create the content prompt.
contents := []*genai.Content{
	genai.NewContentFromText(
		"I have 57 cats, each owns 44 mittens, how many mittens is that in total?", genai.RoleUser,
	),
}

// Set up the generate content configuration with function calling enabled.
config := &genai.GenerateContentConfig{
	Tools: tools,
	ToolConfig: &genai.ToolConfig{
		FunctionCallingConfig: &genai.FunctionCallingConfig{
			// The mode equivalent to FunctionCallingConfigMode.ANY in JS.
			Mode: genai.FunctionCallingConfigModeAny,
		},
	},
}

genContentResp, err := client.Models.GenerateContent(ctx, modelName, contents, config)
if err != nil {
	log.Fatal(err)
}

// Assume the response includes a list of function calls.
if len(genContentResp.FunctionCalls()) == 0 {
	log.Println("No function call returned from the AI.")
	return nil
}
functionCall := genContentResp.FunctionCalls()[0]
log.Printf("Function call: %+v\n", functionCall)

// Marshal the Args map into JSON bytes.
argsMap, err := json.Marshal(functionCall.Args)
if err != nil {
	log.Fatal(err)
}

// Unmarshal the JSON bytes into the ArithmeticArgs struct.
var args ArithmeticArgs
if err := json.Unmarshal(argsMap, &args); err != nil {
	log.Fatal(err)
}

// Map the function name to the actual arithmetic function.
var result float64
switch functionCall.Name {
	case "addNumbers":
		result = add(args.FirstParam, args.SecondParam)
	case "subtractNumbers":
		result = subtract(args.FirstParam, args.SecondParam)
	case "multiplyNumbers":
		result = multiply(args.FirstParam, args.SecondParam)
	case "divideNumbers":
		result = divide(args.FirstParam, args.SecondParam)
	default:
		return fmt.Errorf("unimplemented function: %s", functionCall.Name)
}
log.Printf("Function result: %v\n", result)

// Prepare the final result message as content.
resultContents := []*genai.Content{
	genai.NewContentFromText("The final result is " + fmt.Sprintf("%v", result), genai.RoleUser),
}

// Use GenerateContent to send the final result.
finalResponse, err := client.Models.GenerateContent(ctx, modelName, resultContents, &genai.GenerateContentConfig{})
if err != nil {
	log.Fatal(err)
}

printResponse(finalResponse)

Node.js

  // Make sure to include the following import:
  // import {GoogleGenAI} from '@google/genai';
  const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

  /**
   * The add function returns the sum of two numbers.
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  function add(a, b) {
    return a + b;
  }

  /**
   * The subtract function returns the difference (a - b).
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  function subtract(a, b) {
    return a - b;
  }

  /**
   * The multiply function returns the product of two numbers.
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  function multiply(a, b) {
    return a * b;
  }

  /**
   * The divide function returns the quotient of a divided by b.
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  function divide(a, b) {
    return a / b;
  }

  const addDeclaration = {
    name: "addNumbers",
    parameters: {
      type: "object",
      description: "Return the result of adding two numbers.",
      properties: {
        firstParam: {
          type: "number",
          description:
            "The first parameter which can be an integer or a floating point number.",
        },
        secondParam: {
          type: "number",
          description:
            "The second parameter which can be an integer or a floating point number.",
        },
      },
      required: ["firstParam", "secondParam"],
    },
  };

  const subtractDeclaration = {
    name: "subtractNumbers",
    parameters: {
      type: "object",
      description:
        "Return the result of subtracting the second number from the first.",
      properties: {
        firstParam: {
          type: "number",
          description: "The first parameter.",
        },
        secondParam: {
          type: "number",
          description: "The second parameter.",
        },
      },
      required: ["firstParam", "secondParam"],
    },
  };

  const multiplyDeclaration = {
    name: "multiplyNumbers",
    parameters: {
      type: "object",
      description: "Return the product of two numbers.",
      properties: {
        firstParam: {
          type: "number",
          description: "The first parameter.",
        },
        secondParam: {
          type: "number",
          description: "The second parameter.",
        },
      },
      required: ["firstParam", "secondParam"],
    },
  };

  const divideDeclaration = {
    name: "divideNumbers",
    parameters: {
      type: "object",
      description:
        "Return the quotient of dividing the first number by the second.",
      properties: {
        firstParam: {
          type: "number",
          description: "The first parameter.",
        },
        secondParam: {
          type: "number",
          description: "The second parameter.",
        },
      },
      required: ["firstParam", "secondParam"],
    },
  };

  // Step 1: Call generateContent with function calling enabled.
  const generateContentResponse = await ai.models.generateContent({
    model: "gemini-3.6-flash",
    contents:
      "I have 57 cats, each owns 44 mittens, how many mittens is that in total?",
    config: {
      toolConfig: {
        functionCallingConfig: {
          mode: FunctionCallingConfigMode.ANY,
        },
      },
      tools: [
        {
          functionDeclarations: [
            addDeclaration,
            subtractDeclaration,
            multiplyDeclaration,
            divideDeclaration,
          ],
        },
      ],
    },
  });

  // Step 2: Extract the function call.(
  // Assuming the response contains a 'functionCalls' array.
  const functionCall =
    generateContentResponse.functionCalls &&
    generateContentResponse.functionCalls[0];
  console.log(functionCall);

  // Parse the arguments.
  const args = functionCall.args;
  // Expected args format: { firstParam: number, secondParam: number }

  // Step 3: Invoke the actual function based on the function name.
  const functionMapping = {
    addNumbers: add,
    subtractNumbers: subtract,
    multiplyNumbers: multiply,
    divideNumbers: divide,
  };
  const func = functionMapping[functionCall.name];
  if (!func) {
    console.error("Unimplemented error:", functionCall.name);
    return generateContentResponse;
  }
  const resultValue = func(args.firstParam, args.secondParam);
  console.log("Function result:", resultValue);

  // Step 4: Use the chat API to send the result as the final answer.
  const chat = ai.chats.create({ model: "gemini-3.6-flash" });
  const chatResponse = await chat.sendMessage({
    message: "The final result is " + resultValue,
  });
  console.log(chatResponse.text);
  return chatResponse;
}

शेल


cat > tools.json << EOF
{
  "function_declarations": [
    {
      "name": "enable_lights",
      "description": "Turn on the lighting system."
    },
    {
      "name": "set_light_color",
      "description": "Set the light color. Lights must be enabled for this to work.",
      "parameters": {
        "type": "object",
        "properties": {
          "rgb_hex": {
            "type": "string",
            "description": "The light color as a 6-digit hex string, e.g. ff0000 for red."
          }
        },
        "required": [
          "rgb_hex"
        ]
      }
    },
    {
      "name": "stop_lights",
      "description": "Turn off the lighting system."
    }
  ]
} 
EOF

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d @<(echo '
  {
    "system_instruction": {
      "parts": {
        "text": "You are a helpful lighting system bot. You can turn lights on and off, and you can set the color. Do not perform any other tasks."
      }
    },
    "tools": ['$(cat tools.json)'],

    "tool_config": {
      "function_calling_config": {"mode": "auto"}
    },

    "contents": {
      "role": "user",
      "parts": {
        "text": "Turn on the lights please."
      }
    }
  }
') 2>/dev/null |sed -n '/"content"/,/"finishReason"/p'

Java

Client client = new Client();

FunctionDeclaration addFunction =
        FunctionDeclaration.builder()
                .name("addNumbers")
                .parameters(
                        Schema.builder()
                                .type("object")
                                .properties(Map.of(
                                        "firstParam", Schema.builder().type("number").description("First number").build(),
                                        "secondParam", Schema.builder().type("number").description("Second number").build()))
                                .required(Arrays.asList("firstParam", "secondParam"))
                                .build())
                .build();

FunctionDeclaration subtractFunction =
        FunctionDeclaration.builder()
                .name("subtractNumbers")
                .parameters(
                        Schema.builder()
                                .type("object")
                                .properties(Map.of(
                                        "firstParam", Schema.builder().type("number").description("First number").build(),
                                        "secondParam", Schema.builder().type("number").description("Second number").build()))
                                .required(Arrays.asList("firstParam", "secondParam"))
                                .build())
                .build();

FunctionDeclaration multiplyFunction =
        FunctionDeclaration.builder()
                .name("multiplyNumbers")
                .parameters(
                        Schema.builder()
                                .type("object")
                                .properties(Map.of(
                                        "firstParam", Schema.builder().type("number").description("First number").build(),
                                        "secondParam", Schema.builder().type("number").description("Second number").build()))
                                .required(Arrays.asList("firstParam", "secondParam"))
                                .build())
                .build();

FunctionDeclaration divideFunction =
        FunctionDeclaration.builder()
                .name("divideNumbers")
                .parameters(
                        Schema.builder()
                                .type("object")
                                .properties(Map.of(
                                        "firstParam", Schema.builder().type("number").description("First number").build(),
                                        "secondParam", Schema.builder().type("number").description("Second number").build()))
                                .required(Arrays.asList("firstParam", "secondParam"))
                                .build())
                .build();

GenerateContentConfig config = GenerateContentConfig.builder()
        .toolConfig(ToolConfig.builder().functionCallingConfig(
                FunctionCallingConfig.builder().mode("ANY").build()
        ).build())
        .tools(
                Collections.singletonList(
                        Tool.builder().functionDeclarations(
                                Arrays.asList(
                                        addFunction,
                                        subtractFunction,
                                        divideFunction,
                                        multiplyFunction
                                )
                        ).build()

                )
        )
        .build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.6-flash",
                "I have 57 cats, each owns 44 mittens, how many mittens is that in total?",
                config);


if (response.functionCalls() == null || response.functionCalls().isEmpty()) {
    System.err.println("No function call received");
    return null;
}

var functionCall = response.functionCalls().getFirst();
String functionName = functionCall.name().get();
var arguments = functionCall.args();

Map<String, BiFunction<Double, Double, Double>> functionMapping = new HashMap<>();
functionMapping.put("addNumbers", (a, b) -> a + b);
functionMapping.put("subtractNumbers", (a, b) -> a - b);
functionMapping.put("multiplyNumbers", (a, b) -> a * b);
functionMapping.put("divideNumbers", (a, b) -> b != 0 ? a / b : Double.NaN);

BiFunction<Double, Double, Double> function = functionMapping.get(functionName);

Number firstParam = (Number) arguments.get().get("firstParam");
Number secondParam = (Number) arguments.get().get("secondParam");
Double result = function.apply(firstParam.doubleValue(), secondParam.doubleValue());

System.out.println(result);

जनरेट करने का कॉन्फ़िगरेशन

Python

from google import genai
from google.genai import types

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.6-flash",
    contents="Tell me a story about a magic backpack.",
    config=types.GenerateContentConfig(
        candidate_count=1,
        stop_sequences=["x"],
        max_output_tokens=20,
        temperature=1.0,
    ),
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const response = await ai.models.generateContent({
  model: "gemini-3.6-flash",
  contents: "Tell me a story about a magic backpack.",
  config: {
    candidateCount: 1,
    stopSequences: ["x"],
    maxOutputTokens: 20,
    temperature: 1.0,
  },
});

console.log(response.text);

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

// Create local variables for parameters.
candidateCount := int32(1)
maxOutputTokens := int32(20)
temperature := float32(1.0)

response, err := client.Models.GenerateContent(
	ctx,
	"gemini-3.6-flash",
	genai.Text("Tell me a story about a magic backpack."),
	&genai.GenerateContentConfig{
		CandidateCount:  candidateCount,
		StopSequences:   []string{"x"},
		MaxOutputTokens: maxOutputTokens,
		Temperature:     &temperature,
	},
)
if err != nil {
	log.Fatal(err)
}

printResponse(response)

शेल

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
        "contents": [{
            "parts":[
                {"text": "Explain how AI works"}
            ]
        }],
        "generationConfig": {
            "stopSequences": [
                "Title"
            ],
            "temperature": 1.0,
            "maxOutputTokens": 800,
            "topP": 0.8,
            "topK": 10
        }
    }'  2> /dev/null | grep "text"

Java

Client client = new Client();

GenerateContentConfig config =
        GenerateContentConfig.builder()
                .candidateCount(1)
                .stopSequences(List.of("x"))
                .maxOutputTokens(20)
                .temperature(1.0F)
                .build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.6-flash",
                "Tell me a story about a magic backpack.",
                config);

System.out.println(response.text());

सुरक्षा सेटिंग

Python

from google import genai
from google.genai import types

client = genai.Client()
unsafe_prompt = (
    "I support Martians Soccer Club and I think Jupiterians Football Club sucks! "
    "Write a ironic phrase about them including expletives."
)
response = client.models.generate_content(
    model="gemini-3.6-flash",
    contents=unsafe_prompt,
    config=types.GenerateContentConfig(
        safety_settings=[
            types.SafetySetting(
                category="HARM_CATEGORY_HATE_SPEECH",
                threshold="BLOCK_MEDIUM_AND_ABOVE",
            ),
            types.SafetySetting(
                category="HARM_CATEGORY_HARASSMENT", threshold="BLOCK_ONLY_HIGH"
            ),
        ]
    ),
)
try:
    print(response.text)
except Exception:
    print("No information generated by the model.")

print(response.candidates[0].safety_ratings)

Node.js

  // Make sure to include the following import:
  // import {GoogleGenAI} from '@google/genai';
  const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
  const unsafePrompt =
    "I support Martians Soccer Club and I think Jupiterians Football Club sucks! Write a ironic phrase about them including expletives.";

  const response = await ai.models.generateContent({
    model: "gemini-3.6-flash",
    contents: unsafePrompt,
    config: {
      safetySettings: [
        {
          category: "HARM_CATEGORY_HATE_SPEECH",
          threshold: "BLOCK_MEDIUM_AND_ABOVE",
        },
        {
          category: "HARM_CATEGORY_HARASSMENT",
          threshold: "BLOCK_ONLY_HIGH",
        },
      ],
    },
  });

  try {
    console.log("Generated text:", response.text);
  } catch (error) {
    console.log("No information generated by the model.");
  }
  console.log("Safety ratings:", response.candidates[0].safetyRatings);
  return response;
}

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

unsafePrompt := "I support Martians Soccer Club and I think Jupiterians Football Club sucks! " +
	"Write a ironic phrase about them including expletives."

config := &genai.GenerateContentConfig{
	SafetySettings: []*genai.SafetySetting{
		{
			Category:  "HARM_CATEGORY_HATE_SPEECH",
			Threshold: "BLOCK_MEDIUM_AND_ABOVE",
		},
		{
			Category:  "HARM_CATEGORY_HARASSMENT",
			Threshold: "BLOCK_ONLY_HIGH",
		},
	},
}
contents := []*genai.Content{
	genai.NewContentFromText(unsafePrompt, genai.RoleUser),
}
response, err := client.Models.GenerateContent(ctx, "gemini-3.6-flash", contents, config)
if err != nil {
	log.Fatal(err)
}

// Print the generated text.
text := response.Text()
fmt.Println("Generated text:", text)

// Print the and safety ratings from the first candidate.
if len(response.Candidates) > 0 {
	fmt.Println("Finish reason:", response.Candidates[0].FinishReason)
	safetyRatings, err := json.MarshalIndent(response.Candidates[0].SafetyRatings, "", "  ")
	if err != nil {
		return err
	}
	fmt.Println("Safety ratings:", string(safetyRatings))
} else {
	fmt.Println("No candidate returned.")
}

शेल

echo '{
    "safetySettings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_ONLY_HIGH"},
        {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"}
    ],
    "contents": [{
        "parts":[{
            "text": "'I support Martians Soccer Club and I think Jupiterians Football Club sucks! Write a ironic phrase about them.'"}]}]}' > request.json

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d @request.json 2> /dev/null

Java

Client client = new Client();

String unsafePrompt = """
         I support Martians Soccer Club and I think Jupiterians Football Club sucks!
         Write a ironic phrase about them including expletives.
        """;

GenerateContentConfig config =
        GenerateContentConfig.builder()
                .safetySettings(Arrays.asList(
                        SafetySetting.builder()
                                .category("HARM_CATEGORY_HATE_SPEECH")
                                .threshold("BLOCK_MEDIUM_AND_ABOVE")
                                .build(),
                        SafetySetting.builder()
                                .category("HARM_CATEGORY_HARASSMENT")
                                .threshold("BLOCK_ONLY_HIGH")
                                .build()
                )).build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.6-flash",
                unsafePrompt,
                config);

try {
    System.out.println(response.text());
} catch (Exception e) {
    System.out.println("No information generated by the model");
}

System.out.println(response.candidates().get().getFirst().safetyRatings());

सिस्टम के निर्देश

Python

from google import genai
from google.genai import types

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.6-flash",
    contents="Good morning! How are you?",
    config=types.GenerateContentConfig(
        system_instruction="You are a cat. Your name is Neko."
    ),
)
print(response.text)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
  model: "gemini-3.6-flash",
  contents: "Good morning! How are you?",
  config: {
    systemInstruction: "You are a cat. Your name is Neko.",
  },
});
console.log(response.text);

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

// Construct the user message contents.
contents := []*genai.Content{
	genai.NewContentFromText("Good morning! How are you?", genai.RoleUser),
}

// Set the system instruction as a *genai.Content.
config := &genai.GenerateContentConfig{
	SystemInstruction: genai.NewContentFromText("You are a cat. Your name is Neko.", genai.RoleUser),
}

response, err := client.Models.GenerateContent(ctx, "gemini-3.6-flash", contents, config)
if err != nil {
	log.Fatal(err)
}
printResponse(response)

शेल

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{ "system_instruction": {
    "parts":
      { "text": "You are a cat. Your name is Neko."}},
    "contents": {
      "parts": {
        "text": "Hello there"}}}'

Java

Client client = new Client();

Part textPart = Part.builder().text("You are a cat. Your name is Neko.").build();

Content content = Content.builder().role("system").parts(ImmutableList.of(textPart)).build();

GenerateContentConfig config = GenerateContentConfig.builder()
        .systemInstruction(content)
        .build();

GenerateContentResponse response =
        client.models.generateContent(
                "gemini-3.6-flash",
                "Good morning! How are you?",
                config);

System.out.println(response.text());

जवाब का मुख्य भाग

कामयाब रहने पर, जवाब के मुख्य हिस्से में GenerateContentResponse का एक इंस्टेंस शामिल किया जाता है.

तरीका: models.streamGenerateContent

यह फ़ंक्शन, दिए गए इनपुट GenerateContentRequest के आधार पर मॉडल से स्ट्रीम किया गया जवाब जनरेट करता है.

एंडपॉइंट

post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:streamGenerateContent

पाथ पैरामीटर

model string

ज़रूरी है. Model का नाम, जिसका इस्तेमाल जवाब जनरेट करने के लिए किया जाएगा.

फ़ॉर्मैट: models/{model}. यह models/{model} के फ़ॉर्म में होता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:

फ़ील्ड
contents[] object (Content)

ज़रूरी है. मॉडल के साथ की जा रही मौजूदा बातचीत का कॉन्टेंट.

सिंगल-टर्न क्वेरी के लिए, यह एक इंस्टेंस होता है. चैट जैसी सिलसिलेवार बातचीत वाली क्वेरी के लिए, यह एक दोहराया गया फ़ील्ड है. इसमें बातचीत का इतिहास और हाल ही का अनुरोध शामिल होता है.

tools[] object (Tool)

ज़रूरी नहीं. Tools की एक सूची, जिसका इस्तेमाल Model अगले जवाब को जनरेट करने के लिए कर सकता है.

Tool एक ऐसा कोड होता है जो सिस्टम को बाहरी सिस्टम के साथ इंटरैक्ट करने की अनुमति देता है. इससे Model के दायरे से बाहर कोई कार्रवाई या कार्रवाइयों का सेट किया जा सकता है. Function और codeExecution Tool इस्तेमाल किए जा सकते हैं. ज़्यादा जानने के लिए, फ़ंक्शन कॉलिंग और कोड एक्ज़ीक्यूशन गाइड देखें.

toolConfig object (ToolConfig)

ज़रूरी नहीं. अनुरोध में बताए गए किसी भी Tool के लिए टूल कॉन्फ़िगरेशन. इस्तेमाल के उदाहरण के लिए, फ़ंक्शन कॉलिंग गाइड देखें.

safetySettings[] object (SafetySetting)

ज़रूरी नहीं. असुरक्षित कॉन्टेंट को ब्लॉक करने के लिए, SafetySetting के यूनीक इंस्टेंस की सूची.

यह GenerateContentRequest.contents और GenerateContentResponse.candidates पर लागू होगा. हर SafetyCategory टाइप के लिए एक से ज़्यादा सेटिंग नहीं होनी चाहिए. एपीआई, ऐसे सभी कॉन्टेंट और जवाबों को ब्लॉक कर देगा जो इन सेटिंग के ज़रिए तय की गई थ्रेशोल्ड वैल्यू को पूरा नहीं करते. इस सूची में, safetySettings में बताए गए हर SafetyCategory के लिए डिफ़ॉल्ट सेटिंग को ओवरराइड किया जाता है. अगर सूची में दिए गए किसी SafetyCategory के लिए कोई SafetySetting नहीं है, तो एपीआई उस कैटगरी के लिए डिफ़ॉल्ट सुरक्षा सेटिंग का इस्तेमाल करेगा. इन कैटगरी में आने वाले कॉन्टेंट को नुकसान पहुंचाने वाला माना जाता है: HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY, HARM_CATEGORY_JAILBREAK. सुरक्षा से जुड़ी उपलब्ध सेटिंग के बारे में ज़्यादा जानकारी के लिए, गाइड देखें. एआई ऐप्लिकेशन में सुरक्षा से जुड़ी बातों को शामिल करने का तरीका जानने के लिए, सुरक्षा से जुड़े दिशा-निर्देश भी पढ़ें.

systemInstruction object (Content)

ज़रूरी नहीं. डेवलपर ने सिस्टम के लिए निर्देश सेट किए हैं. फ़िलहाल, सिर्फ़ टेक्स्ट.

generationConfig object (GenerationConfig)

ज़रूरी नहीं. मॉडल जनरेट करने और आउटपुट के लिए कॉन्फ़िगरेशन के विकल्प.

cachedContent string

ज़रूरी नहीं. कॉन्टेंट का नाम, जिसे अनुमान दिखाने के लिए कॉन्टेक्स्ट के तौर पर इस्तेमाल करने के लिए कैश मेमोरी में सेव किया गया है. फ़ॉर्मैट: cachedContents/{cachedContent}

serviceTier enum (ServiceTier)

ज़रूरी नहीं. अनुरोध का सेवा स्तर.

store boolean

ज़रूरी नहीं. यह कुकी, किसी अनुरोध के लिए लॉगिंग के व्यवहार को कॉन्फ़िगर करती है. अगर इसे सेट किया जाता है, तो इसे प्रोजेक्ट-लेवल के लॉगिंग कॉन्फ़िगरेशन से ज़्यादा प्राथमिकता दी जाती है.

अनुरोध का उदाहरण

टेक्स्ट

Python

from google import genai

client = genai.Client()
response = client.models.generate_content_stream(
    model="gemini-3.6-flash", contents="Write a story about a magic backpack."
)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const response = await ai.models.generateContentStream({
  model: "gemini-3.6-flash",
  contents: "Write a story about a magic backpack.",
});
let text = "";
for await (const chunk of response) {
  console.log(chunk.text);
  text += chunk.text;
}

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}
contents := []*genai.Content{
	genai.NewContentFromText("Write a story about a magic backpack.", genai.RoleUser),
}
for response, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.6-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(response.Candidates[0].Content.Parts[0].Text)
}

शेल

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=${GEMINI_API_KEY}" \
        -H 'Content-Type: application/json' \
        --no-buffer \
        -d '{ "contents":[{"parts":[{"text": "Write a story about a magic backpack."}]}]}'

Java

Client client = new Client();

ResponseStream<GenerateContentResponse> responseStream =
        client.models.generateContentStream(
                "gemini-3.6-flash",
                "Write a story about a magic backpack.",
                null);

StringBuilder response = new StringBuilder();
for (GenerateContentResponse res : responseStream) {
    System.out.print(res.text());
    response.append(res.text());
}

responseStream.close();

इमेज

Python

from google import genai
import PIL.Image

client = genai.Client()
organ = PIL.Image.open(media / "organ.jpg")
response = client.models.generate_content_stream(
    model="gemini-3.6-flash", contents=["Tell me about this instrument", organ]
)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const organ = await ai.files.upload({
  file: path.join(media, "organ.jpg"),
});

const response = await ai.models.generateContentStream({
  model: "gemini-3.6-flash",
  contents: [
    createUserContent([
      "Tell me about this instrument", 
      createPartFromUri(organ.uri, organ.mimeType)
    ]),
  ],
});
let text = "";
for await (const chunk of response) {
  console.log(chunk.text);
  text += chunk.text;
}

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}
file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "organ.jpg"), 
	&genai.UploadFileConfig{
		MIMEType : "image/jpeg",
	},
)
if err != nil {
	log.Fatal(err)
}
parts := []*genai.Part{
	genai.NewPartFromText("Tell me about this instrument"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}
contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}
for response, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.6-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(response.Candidates[0].Content.Parts[0].Text)
}

शेल

cat > "$TEMP_JSON" << EOF
{
  "contents": [{
    "parts":[
      {"text": "Tell me about this instrument"},
      {
        "inline_data": {
          "mime_type":"image/jpeg",
          "data": "$(cat "$TEMP_B64")"
        }
      }
    ]
  }]
}
EOF

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d "@$TEMP_JSON" 2> /dev/null

Java

Client client = new Client();

String path = media_path + "organ.jpg";
byte[] imageData = Files.readAllBytes(Paths.get(path));

Content content =
        Content.fromParts(
                Part.fromText("Tell me about this instrument."),
                Part.fromBytes(imageData, "image/jpeg"));


ResponseStream<GenerateContentResponse> responseStream =
        client.models.generateContentStream(
                "gemini-3.6-flash",
                content,
                null);

StringBuilder response = new StringBuilder();
for (GenerateContentResponse res : responseStream) {
    System.out.print(res.text());
    response.append(res.text());
}

responseStream.close();

ऑडियो

Python

from google import genai

client = genai.Client()
sample_audio = client.files.upload(file=media / "sample.mp3")
response = client.models.generate_content_stream(
    model="gemini-3.6-flash",
    contents=["Give me a summary of this audio file.", sample_audio],
)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "sample.mp3"), 
	&genai.UploadFileConfig{
		MIMEType : "audio/mpeg",
	},
)
if err != nil {
	log.Fatal(err)
}

parts := []*genai.Part{
	genai.NewPartFromText("Give me a summary of this audio file."),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

for result, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.6-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(result.Candidates[0].Content.Parts[0].Text)
}

शेल

# Use File API to upload audio data to API request.
MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}")
NUM_BYTES=$(wc -c < "${AUDIO_PATH}")
DISPLAY_NAME=AUDIO

tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Please describe this file."},
          {"file_data":{"mime_type": "audio/mpeg", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

वीडियो

Python

from google import genai
import time

client = genai.Client()
# Video clip (CC BY 3.0) from https://peach.blender.org/download/
myfile = client.files.upload(file=media / "Big_Buck_Bunny.mp4")
print(f"{myfile=}")

# Poll until the video file is completely processed (state becomes ACTIVE).
while not myfile.state or myfile.state.name != "ACTIVE":
    print("Processing video...")
    print("File state:", myfile.state)
    time.sleep(5)
    myfile = client.files.get(name=myfile.name)

response = client.models.generate_content_stream(
    model="gemini-3.6-flash", contents=[myfile, "Describe this video clip"]
)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

let video = await ai.files.upload({
  file: path.join(media, 'Big_Buck_Bunny.mp4'),
});

// Poll until the video file is completely processed (state becomes ACTIVE).
while (!video.state || video.state.toString() !== 'ACTIVE') {
  console.log('Processing video...');
  console.log('File state: ', video.state);
  await sleep(5000);
  video = await ai.files.get({name: video.name});
}

const response = await ai.models.generateContentStream({
  model: "gemini-3.6-flash",
  contents: [
    createUserContent([
      "Describe this video clip",
      createPartFromUri(video.uri, video.mimeType),
    ]),
  ],
});
let text = "";
for await (const chunk of response) {
  console.log(chunk.text);
  text += chunk.text;
}

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "Big_Buck_Bunny.mp4"), 
	&genai.UploadFileConfig{
		MIMEType : "video/mp4",
	},
)
if err != nil {
	log.Fatal(err)
}

// Poll until the video file is completely processed (state becomes ACTIVE).
for file.State == genai.FileStateUnspecified || file.State != genai.FileStateActive {
	fmt.Println("Processing video...")
	fmt.Println("File state:", file.State)
	time.Sleep(5 * time.Second)

	file, err = client.Files.Get(ctx, file.Name, nil)
	if err != nil {
		log.Fatal(err)
	}
}

parts := []*genai.Part{
	genai.NewPartFromText("Describe this video clip"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

for result, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.6-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(result.Candidates[0].Content.Parts[0].Text)
}

शेल

# Use File API to upload audio data to API request.
MIME_TYPE=$(file -b --mime-type "${VIDEO_PATH}")
NUM_BYTES=$(wc -c < "${VIDEO_PATH}")
DISPLAY_NAME=VIDEO_PATH

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${VIDEO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

state=$(jq ".file.state" file_info.json)
echo state=$state

while [[ "($state)" = *"PROCESSING"* ]];
do
  echo "Processing video..."
  sleep 5
  # Get the file of interest to check state
  curl https://generativelanguage.googleapis.com/v1beta/files/$name > file_info.json
  state=$(jq ".file.state" file_info.json)
done

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Please describe this file."},
          {"file_data":{"mime_type": "video/mp4", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

PDF

Python

from google import genai

client = genai.Client()
sample_pdf = client.files.upload(file=media / "test.pdf")
response = client.models.generate_content_stream(
    model="gemini-3.6-flash",
    contents=["Give me a summary of this document:", sample_pdf],
)

for chunk in response:
    print(chunk.text)
    print("_" * 80)

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

file, err := client.Files.UploadFromPath(
	ctx, 
	filepath.Join(getMedia(), "test.pdf"), 
	&genai.UploadFileConfig{
		MIMEType : "application/pdf",
	},
)
if err != nil {
	log.Fatal(err)
}

parts := []*genai.Part{
	genai.NewPartFromText("Give me a summary of this document:"),
	genai.NewPartFromURI(file.URI, file.MIMEType),
}

contents := []*genai.Content{
	genai.NewContentFromParts(parts, genai.RoleUser),
}

for result, err := range client.Models.GenerateContentStream(
	ctx,
	"gemini-3.6-flash",
	contents,
	nil,
) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(result.Candidates[0].Content.Parts[0].Text)
}

शेल

MIME_TYPE=$(file -b --mime-type "${PDF_PATH}")
NUM_BYTES=$(wc -c < "${PDF_PATH}")
DISPLAY_NAME=TEXT


echo $MIME_TYPE
tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GEMINI_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${PDF_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Can you add a few more lines to this poem?"},
          {"file_data":{"mime_type": "application/pdf", "file_uri": '$file_uri'}}]
        }]
       }' 2> /dev/null > response.json

cat response.json
echo

Chat

Python

from google import genai
from google.genai import types

client = genai.Client()
chat = client.chats.create(
    model="gemini-3.6-flash",
    history=[
        types.Content(role="user", parts=[types.Part(text="Hello")]),
        types.Content(
            role="model",
            parts=[
                types.Part(
                    text="Great to meet you. What would you like to know?"
                )
            ],
        ),
    ],
)
response = chat.send_message_stream(message="I have 2 dogs in my house.")
for chunk in response:
    print(chunk.text)
    print("_" * 80)
response = chat.send_message_stream(message="How many paws are in my house?")
for chunk in response:
    print(chunk.text)
    print("_" * 80)

print(chat.get_history())

Node.js

// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const chat = ai.chats.create({
  model: "gemini-3.6-flash",
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});

console.log("Streaming response for first message:");
const stream1 = await chat.sendMessageStream({
  message: "I have 2 dogs in my house.",
});
for await (const chunk of stream1) {
  console.log(chunk.text);
  console.log("_".repeat(80));
}

console.log("Streaming response for second message:");
const stream2 = await chat.sendMessageStream({
  message: "How many paws are in my house?",
});
for await (const chunk of stream2) {
  console.log(chunk.text);
  console.log("_".repeat(80));
}

console.log(chat.getHistory());

ऐप पर जाएं

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

history := []*genai.Content{
	genai.NewContentFromText("Hello", genai.RoleUser),
	genai.NewContentFromText("Great to meet you. What would you like to know?", genai.RoleModel),
}
chat, err := client.Chats.Create(ctx, "gemini-3.6-flash", nil, history)
if err != nil {
	log.Fatal(err)
}

for chunk, err := range chat.SendMessageStream(ctx, genai.Part{Text: "I have 2 dogs in my house."}) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(chunk.Text())
	fmt.Println(strings.Repeat("_", 64))
}

for chunk, err := range chat.SendMessageStream(ctx, genai.Part{Text: "How many paws are in my house?"}) {
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(chunk.Text())
	fmt.Println(strings.Repeat("_", 64))
}

fmt.Println(chat.History(false))

शेल

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:streamGenerateContent?alt=sse&key=$GEMINI_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [
        {"role":"user",
         "parts":[{
           "text": "Hello"}]},
        {"role": "model",
         "parts":[{
           "text": "Great to meet you. What would you like to know?"}]},
        {"role":"user",
         "parts":[{
           "text": "I have two dogs in my house. How many paws are in my house?"}]},
      ]
    }' 2> /dev/null | grep "text"

जवाब का मुख्य भाग

अगर अनुरोध सही से काम करता है, तो जवाब के मुख्य हिस्से में GenerateContentResponse इंस्टेंस की स्ट्रीम शामिल होती है.

GenerateContentResponse

मॉडल से मिला जवाब, जिसमें कई संभावित जवाब शामिल हैं.

GenerateContentResponse.prompt_feedback में दिए गए प्रॉम्प्ट और finishReason और safetyRatings में दिए गए हर जवाब के लिए, सुरक्षा रेटिंग और कॉन्टेंट फ़िल्टर करने की सुविधा की जानकारी दी जाती है. एपीआई: - अनुरोध किए गए सभी उम्मीदवारों या किसी भी उम्मीदवार की जानकारी नहीं दिखाता है - सिर्फ़ तब किसी भी उम्मीदवार की जानकारी नहीं दिखाता है, जब प्रॉम्प्ट में कोई गड़बड़ी हो (promptFeedback देखें) - finishReason और safetyRatings में हर उम्मीदवार के बारे में सुझाव/राय देता है या शिकायत करता है.

Fields
candidates[] object (Candidate)

मॉडल से मिले उम्मीदवार के जवाब.

promptFeedback object (PromptFeedback)

कॉन्टेंट फ़िल्टर से जुड़ी, प्रॉम्प्ट की प्रतिक्रिया दिखाता है.

usageMetadata object (UsageMetadata)

सिर्फ़ आउटपुट के लिए. जनरेट करने के अनुरोधों में टोकन के इस्तेमाल से जुड़ा मेटाडेटा.

modelVersion string

सिर्फ़ आउटपुट के लिए. जवाब जनरेट करने के लिए इस्तेमाल किए गए मॉडल का वर्शन.

responseId string

सिर्फ़ आउटपुट के लिए. responseId का इस्तेमाल, हर जवाब की पहचान करने के लिए किया जाता है.

modelStatus object (ModelStatus)

सिर्फ़ आउटपुट के लिए. इस मॉडल की मौजूदा स्थिति.

JSON के काेड में दिखाना
{
  "candidates": [
    {
      object (Candidate)
    }
  ],
  "promptFeedback": {
    object (PromptFeedback)
  },
  "usageMetadata": {
    object (UsageMetadata)
  },
  "modelVersion": string,
  "responseId": string,
  "modelStatus": {
    object (ModelStatus)
  }
}

PromptFeedback

यह फ़ीडबैक मेटाडेटा का एक सेट है. इसे प्रॉम्प्ट में GenerateContentRequest.content के तौर पर तय किया गया है.

Fields
blockReason enum (BlockReason)

ज़रूरी नहीं. अगर इसे सेट किया गया है, तो प्रॉम्प्ट को ब्लॉक कर दिया गया था और कोई भी जवाब नहीं मिला. प्रॉम्प्ट को अलग तरीके से लिखें.

safetyRatings[] object (SafetyRating)

प्रॉम्प्ट की सुरक्षा के लिए रेटिंग. हर कैटगरी के लिए ज़्यादा से ज़्यादा एक रेटिंग होती है.

JSON के काेड में दिखाना
{
  "blockReason": enum (BlockReason),
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ]
}

BlockReason

इस कुकी से यह पता चलता है कि प्रॉम्प्ट को ब्लॉक क्यों किया गया था.

Enums
BLOCK_REASON_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
SAFETY सुरक्षा से जुड़ी वजहों से, प्रॉम्प्ट को ब्लॉक कर दिया गया है. safetyRatings की जांच करके जानें कि किस सुरक्षा कैटगरी ने इसे ब्लॉक किया है.
OTHER किसी वजह से प्रॉम्प्ट को ब्लॉक कर दिया गया.
BLOCKLIST शर्तों के उल्लंघन की वजह से प्रॉम्प्ट को ब्लॉक कर दिया गया है. ये शर्तें, शब्दावली की ब्लॉकलिस्ट में शामिल हैं.
PROHIBITED_CONTENT पाबंदी वाले कॉन्टेंट की वजह से प्रॉम्प्ट को ब्लॉक कर दिया गया है.
IMAGE_SAFETY असुरक्षित इमेज जनरेट करने वाले कॉन्टेंट की वजह से, उम्मीदवारों को ब्लॉक कर दिया गया है.

UsageMetadata

जनरेट करने के अनुरोध के टोकन के इस्तेमाल से जुड़ा मेटाडेटा.

Fields
promptTokenCount integer

प्रॉम्प्ट में मौजूद टोकन की संख्या. cachedContent सेट होने पर भी, यह प्रॉम्प्ट का कुल साइज़ होता है. इसका मतलब है कि इसमें कैश मेमोरी में सेव किए गए कॉन्टेंट में मौजूद टोकन की संख्या शामिल होती है.

cachedContentTokenCount integer

प्रॉम्प्ट के कैश मेमोरी में सेव किए गए हिस्से (कैश मेमोरी में सेव किया गया कॉन्टेंट) में मौजूद टोकन की संख्या

candidatesTokenCount integer

जवाब के तौर पर जनरेट किए गए सभी संभावित विकल्पों में मौजूद टोकन की कुल संख्या.

toolUsePromptTokenCount integer

सिर्फ़ आउटपुट के लिए. टूल का इस्तेमाल करने के लिए दिए गए प्रॉम्प्ट में मौजूद टोकन की संख्या.

thoughtsTokenCount integer

सिर्फ़ आउटपुट के लिए. सोचने वाले मॉडल के लिए, आइडिया के टोकन की संख्या.

totalTokenCount integer

जनरेशन के अनुरोध के लिए टोकन की कुल संख्या (प्रॉम्प्ट + विचार + जवाब के संभावित विकल्प).

promptTokensDetails[] object (ModalityTokenCount)

सिर्फ़ आउटपुट के लिए. अनुरोध के इनपुट में प्रोसेस की गई मॉडेलिटी की सूची.

cacheTokensDetails[] object (ModalityTokenCount)

सिर्फ़ आउटपुट के लिए. अनुरोध के इनपुट में मौजूद, कैश मेमोरी में सेव किए गए कॉन्टेंट के मोड की सूची.

candidatesTokensDetails[] object (ModalityTokenCount)

सिर्फ़ आउटपुट के लिए. जवाब में मिली मॉडेलिटी की सूची.

toolUsePromptTokensDetails[] object (ModalityTokenCount)

सिर्फ़ आउटपुट के लिए. टूल इस्तेमाल करने के अनुरोध के इनपुट के लिए प्रोसेस की गई मॉडेलिटी की सूची.

serviceTier enum (ServiceTier)

सिर्फ़ आउटपुट के लिए. अनुरोध का सेवा टियर.

JSON के काेड में दिखाना
{
  "promptTokenCount": integer,
  "cachedContentTokenCount": integer,
  "candidatesTokenCount": integer,
  "toolUsePromptTokenCount": integer,
  "thoughtsTokenCount": integer,
  "totalTokenCount": integer,
  "promptTokensDetails": [
    {
      object (ModalityTokenCount)
    }
  ],
  "cacheTokensDetails": [
    {
      object (ModalityTokenCount)
    }
  ],
  "candidatesTokensDetails": [
    {
      object (ModalityTokenCount)
    }
  ],
  "toolUsePromptTokensDetails": [
    {
      object (ModalityTokenCount)
    }
  ],
  "serviceTier": enum (ServiceTier)
}

ModelStatus

मॉडल की स्थिति. इसका इस्तेमाल, मॉडल के स्टेज और बंद होने के समय के बारे में बताने के लिए किया जाता है.

Fields
modelStage enum (ModelStage)

मौजूदा मॉडल का स्टेज.

retirementTime string (Timestamp format)

वह समय जब मॉडल को बंद कर दिया जाएगा.

यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

message string

मॉडल की स्थिति के बारे में बताने वाला मैसेज.

JSON के काेड में दिखाना
{
  "modelStage": enum (ModelStage),
  "retirementTime": string,
  "message": string
}

ModelStage

इससे मॉडल के मौजूदा चरण के बारे में पता चलता है.

Enums
MODEL_STAGE_UNSPECIFIED मॉडल का चरण तय नहीं किया गया है.
UNSTABLE_EXPERIMENTAL

इस मॉडल में कई तरह के बदलाव किए जाते हैं.

EXPERIMENTAL इस स्टेज में मौजूद मॉडल, सिर्फ़ एक्सपेरिमेंट के लिए होते हैं.
PREVIEW इस स्टेज में मौजूद मॉडल, एक्सपेरिमेंट के तौर पर लॉन्च किए गए मॉडल से ज़्यादा बेहतर होते हैं.
STABLE इस स्टेज में मौजूद मॉडल को स्टेबल माना जाता है. साथ ही, इनका इस्तेमाल प्रोडक्शन के लिए किया जा सकता है.
LEGACY अगर मॉडल इस स्टेज पर है, तो इसका मतलब है कि आने वाले समय में यह मॉडल काम नहीं करेगा. इस मॉडल का इस्तेमाल सिर्फ़ मौजूदा ग्राहक कर सकते हैं.
DEPRECATED

इस स्टेज में मौजूद मॉडल काम नहीं करते. इन मॉडल का इस्तेमाल नहीं किया जा सकता.

RETIRED इस स्टेज में मौजूद मॉडल बंद कर दिए जाते हैं. इन मॉडल का इस्तेमाल नहीं किया जा सकता.

उम्मीदवार

मॉडल से जनरेट किया गया जवाब.

Fields
content object (Content)

सिर्फ़ आउटपुट के लिए. मॉडल से मिला जनरेट किया गया कॉन्टेंट.

finishReason enum (FinishReason)

ज़रूरी नहीं. सिर्फ़ आउटपुट के लिए. टोकन जनरेट करना बंद करने की वजह.

अगर यह फ़ील्ड खाली है, तो इसका मतलब है कि मॉडल ने टोकन जनरेट करना बंद नहीं किया है.

safetyRatings[] object (SafetyRating)

जवाब के तौर पर सुझाए गए किसी कॉन्टेंट की सुरक्षा के लिए रेटिंग की सूची.

हर कैटगरी के लिए ज़्यादा से ज़्यादा एक रेटिंग होती है.

citationMetadata object (CitationMetadata)

सिर्फ़ आउटपुट के लिए. मॉडल से जनरेट किए गए जवाब के लिए उद्धरण की जानकारी.

इस फ़ील्ड में, content में शामिल किसी भी टेक्स्ट के लिए, पढ़ने से जुड़ी जानकारी अपने-आप भर सकती है. ये ऐसे पैसेज होते हैं जिन्हें एलएलएम के ट्रेनिंग डेटा में मौजूद कॉपीराइट वाले कॉन्टेंट से "रीसाइट" किया जाता है.

tokenCount integer

सिर्फ़ आउटपुट के लिए. इस उम्मीदवार के लिए टोकन की गिनती.

groundingAttributions[] object (GroundingAttribution)

सिर्फ़ आउटपुट के लिए. जवाब में शामिल जानकारी के सोर्स के बारे में एट्रिब्यूशन की जानकारी.

यह फ़ील्ड, GenerateAnswer कॉल के लिए भरा जाता है.

groundingMetadata object (GroundingMetadata)

सिर्फ़ आउटपुट के लिए. जवाब में शामिल जानकारी के सोर्स का मेटाडेटा.

यह फ़ील्ड, GenerateContent कॉल के लिए भरा जाता है.

avgLogprobs number

सिर्फ़ आउटपुट के लिए. उम्मीदवार के लॉग प्रॉबबिलिटी स्कोर का औसत.

logprobsResult object (LogprobsResult)

सिर्फ़ आउटपुट के लिए. जवाब के टोकन और टॉप टोकन के लिए लॉग-लाइकलीहुड स्कोर

urlContextMetadata object (UrlContextMetadata)

सिर्फ़ आउटपुट के लिए. यूआरएल के कॉन्टेक्स्ट को वापस पाने वाले टूल से जुड़ा मेटाडेटा.

index integer

सिर्फ़ आउटपुट के लिए. जवाब के लिए चुने गए उम्मीदवारों की सूची में उम्मीदवार का इंडेक्स.

finishMessage string

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

JSON के काेड में दिखाना
{
  "content": {
    object (Content)
  },
  "finishReason": enum (FinishReason),
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "citationMetadata": {
    object (CitationMetadata)
  },
  "tokenCount": integer,
  "groundingAttributions": [
    {
      object (GroundingAttribution)
    }
  ],
  "groundingMetadata": {
    object (GroundingMetadata)
  },
  "avgLogprobs": number,
  "logprobsResult": {
    object (LogprobsResult)
  },
  "urlContextMetadata": {
    object (UrlContextMetadata)
  },
  "index": integer,
  "finishMessage": string
}

FinishReason

इस फ़ील्ड से यह पता चलता है कि मॉडल ने टोकन जनरेट करना क्यों बंद कर दिया.

Enums
FINISH_REASON_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
STOP मॉडल या दिए गए स्टॉप सीक्वेंस का नैचुरल स्टॉप पॉइंट.
MAX_TOKENS अनुरोध में बताए गए टोकन की ज़्यादा से ज़्यादा संख्या तक पहुंच गया है.
SAFETY सुरक्षा से जुड़ी वजहों से, जवाब के तौर पर दिए गए कॉन्टेंट को फ़्लैग किया गया है.
RECITATION जवाब के तौर पर सुझाए गए कॉन्टेंट को, सुनाने की वजहों से फ़्लैग किया गया था.
LANGUAGE जवाब के तौर पर सुझाए गए कॉन्टेंट को ऐसी भाषा का इस्तेमाल करने के लिए फ़्लैग किया गया है जिसमें यह सुविधा काम नहीं करती.
OTHER वजह की जानकारी नहीं है.
BLOCKLIST कॉन्टेंट में पाबंदी वाले शब्द शामिल होने की वजह से, टोकन जनरेट करने की प्रोसेस रोक दी गई है.
PROHIBITED_CONTENT पाबंदी वाला कॉन्टेंट शामिल होने की आशंका की वजह से, टोकन जनरेट करने की सुविधा बंद कर दी गई है.
SPII टोकन जनरेट करने की प्रोसेस रोक दी गई है, क्योंकि कॉन्टेंट में व्यक्तिगत पहचान ज़ाहिर करने वाली संवेदनशील जानकारी (एसपीआईआई) शामिल हो सकती है.
MALFORMED_FUNCTION_CALL मॉडल ने जो फ़ंक्शन कॉल जनरेट किया है वह अमान्य है.
IMAGE_SAFETY टोकन जनरेट करने की प्रोसेस रोक दी गई है, क्योंकि जनरेट की गई इमेज में सुरक्षा से जुड़े उल्लंघन शामिल हैं.
IMAGE_PROHIBITED_CONTENT इमेज जनरेट करने की प्रोसेस रोक दी गई है, क्योंकि जनरेट की गई इमेज में पाबंदी वाला अन्य कॉन्टेंट मौजूद है.
IMAGE_OTHER अन्य समस्याओं की वजह से, इमेज जनरेट करने की प्रोसेस रोक दी गई है.
NO_IMAGE मॉडल से इमेज जनरेट करने के लिए कहा गया था, लेकिन कोई इमेज जनरेट नहीं हुई.
IMAGE_RECITATION पढ़ने की सुविधा चालू होने की वजह से, इमेज जनरेट करने की प्रोसेस रोक दी गई है.
UNEXPECTED_TOOL_CALL मॉडल ने टूल कॉल जनरेट किया है, लेकिन अनुरोध में कोई टूल चालू नहीं किया गया है.
TOO_MANY_TOOL_CALLS मॉडल ने एक के बाद एक कई टूल इस्तेमाल किए. इसलिए, सिस्टम ने कार्रवाई बंद कर दी.
MISSING_THOUGHT_SIGNATURE अनुरोध में कम से कम एक थॉट सिग्नेचर मौजूद नहीं है.
MALFORMED_RESPONSE जवाब गलत होने की वजह से बातचीत खत्म हो गई.
ESCALATION अनुरोध को एस्केलेशन के नियम के हिसाब से फ़िल्टर किया गया था.

GroundingAttribution

जवाब में योगदान देने वाले सोर्स के लिए एट्रिब्यूशन.

Fields
sourceId object (AttributionSourceId)

सिर्फ़ आउटपुट के लिए. इस एट्रिब्यूशन में योगदान देने वाले सोर्स के लिए आइडेंटिफ़ायर.

content object (Content)

इस एट्रिब्यूशन को बनाने वाले सोर्स कॉन्टेंट को ग्राउंड करना.

JSON के काेड में दिखाना
{
  "sourceId": {
    object (AttributionSourceId)
  },
  "content": {
    object (Content)
  }
}

AttributionSourceId

इस एट्रिब्यूशन में योगदान देने वाले सोर्स के लिए आइडेंटिफ़ायर.

फ़ील्ड
source Union type
source इनमें से सिर्फ़ एक हो सकता है:
groundingPassage object (GroundingPassageId)

इनलाइन पैसेज के लिए आइडेंटिफ़ायर.

semanticRetrieverChunk object (SemanticRetrieverChunk)

सिमैंटिक रिट्रीवर की मदद से फ़ेच किए गए Chunk के लिए आइडेंटिफ़ायर.

JSON के काेड में दिखाना
{

  // source
  "groundingPassage": {
    object (GroundingPassageId)
  },
  "semanticRetrieverChunk": {
    object (SemanticRetrieverChunk)
  }
  // Union type
}

GroundingPassageId

GroundingPassage में मौजूद किसी हिस्से के लिए आइडेंटिफ़ायर.

Fields
passageId string

सिर्फ़ आउटपुट के लिए. GenerateAnswerRequest की GroundingPassage.id से मेल खाने वाले पैसेज का आईडी.

partIndex integer

सिर्फ़ आउटपुट के लिए. GenerateAnswerRequest के GroundingPassage.content में मौजूद हिस्से का इंडेक्स.

JSON के काेड में दिखाना
{
  "passageId": string,
  "partIndex": integer
}

SemanticRetrieverChunk

SemanticRetrieverConfig का इस्तेमाल करके GenerateAnswerRequest में बताए गए Semantic Retriever के ज़रिए Chunk को वापस पाने के लिए आइडेंटिफ़ायर.

Fields
source string

सिर्फ़ आउटपुट के लिए. अनुरोध के SemanticRetrieverConfig.source से मेल खाने वाले सोर्स का नाम. उदाहरण: corpora/123 या corpora/123/documents/abc

chunk string

सिर्फ़ आउटपुट के लिए. Chunk का नाम, जिसमें एट्रिब्यूट किया गया टेक्स्ट शामिल है. उदाहरण: corpora/123/documents/abc/chunks/xyz

JSON के काेड में दिखाना
{
  "source": string,
  "chunk": string
}

GroundingMetadata

ग्राउंडिंग की सुविधा चालू होने पर, क्लाइंट को लौटाया गया मेटाडेटा.

Fields
groundingChunks[] object (GroundingChunk)

ग्राउंडिंग के लिए तय किए गए सोर्स से मिले रेफ़रंस की सूची. स्ट्रीमिंग के दौरान, इसमें सिर्फ़ वे ग्राउंडिंग चंक शामिल होते हैं जिन्हें पिछले जवाबों के ग्राउंडिंग मेटाडेटा में शामिल नहीं किया गया है.

groundingSupports[] object (GroundingSupport)

भरोसेमंद स्रोतों से जानकारी पाने की सुविधा के साथ काम करने वाले स्रोतों की सूची.

webSearchQueries[] string

वेब खोज से जुड़ी क्वेरी, ताकि वेब खोज को फ़ॉलो अप किया जा सके.

imageSearchQueries[] string

जवाब को भरोसेमंद बनाने के लिए, इमेज सर्च क्वेरी का इस्तेमाल किया जाता है.

searchEntryPoint object (SearchEntryPoint)

ज़रूरी नहीं. Google पर की गई वेब खोजों के लिए एंट्री.

retrievalMetadata object (RetrievalMetadata)

ग्राउंडिंग फ़्लो में जानकारी वापस पाने से जुड़ा मेटाडेटा.

googleMapsWidgetContextToken string

ज़रूरी नहीं. Google Maps विजेट के कॉन्टेक्स्ट टोकन का संसाधन नाम. इसका इस्तेमाल PlacesContextElement विजेट के साथ किया जा सकता है, ताकि कॉन्टेक्स्ट के हिसाब से डेटा रेंडर किया जा सके. यह पैरामीटर सिर्फ़ तब दिखता है, जब Google Maps से जानकारी लेने की सुविधा चालू हो.

JSON के काेड में दिखाना
{
  "groundingChunks": [
    {
      object (GroundingChunk)
    }
  ],
  "groundingSupports": [
    {
      object (GroundingSupport)
    }
  ],
  "webSearchQueries": [
    string
  ],
  "imageSearchQueries": [
    string
  ],
  "searchEntryPoint": {
    object (SearchEntryPoint)
  },
  "retrievalMetadata": {
    object (RetrievalMetadata)
  },
  "googleMapsWidgetContextToken": string
}

SearchEntryPoint

Google Search का एंट्री पॉइंट.

Fields
renderedContent string

ज़रूरी नहीं. यह वेब कॉन्टेंट स्निपेट होता है. इसे किसी वेब पेज या ऐप्लिकेशन के वेबव्यू में एम्बेड किया जा सकता है.

sdkBlob string (bytes format)

ज़रूरी नहीं. Base64 कोड में बदला गया JSON, <खोज के लिए इस्तेमाल हुआ शब्द, खोज का यूआरएल> टपल के कलेक्शन को दिखाता है.

base64 कोड में बदली गई स्ट्रिंग.

JSON के काेड में दिखाना
{
  "renderedContent": string,
  "sdkBlob": string
}

GroundingChunk

GroundingChunk का मतलब है कि यह सबूत के तौर पर दी गई जानकारी का एक हिस्सा है. इससे मॉडल को जवाब देने में मदद मिलती है. यह वेब से लिया गया कोई हिस्सा, किसी फ़ाइल से लिया गया कॉन्टेक्स्ट या Google Maps से ली गई जानकारी हो सकती है.

फ़ील्ड
chunk_type Union type
यह चंक का टाइप है. chunk_type इनमें से सिर्फ़ एक हो सकता है:
web object (Web)

वेब से लिया गया ग्राउंडिंग चंक.

image object (Image)

ज़रूरी नहीं. इमेज सर्च से मिला ग्राउंडिंग चंक.

retrievedContext object (RetrievedContext)

ज़रूरी नहीं. फ़ाइल खोजने वाले टूल से मिले कॉन्टेक्स्ट से ग्राउंडिंग चंक.

maps object (Maps)

ज़रूरी नहीं. Google Maps से लिया गया ग्राउंडिंग चंक.

JSON के काेड में दिखाना
{

  // chunk_type
  "web": {
    object (Web)
  },
  "image": {
    object (Image)
  },
  "retrievedContext": {
    object (RetrievedContext)
  },
  "maps": {
    object (Maps)
  }
  // Union type
}

वेब

वेब से मिला जवाब.

Fields
uri string

सिर्फ़ आउटपुट के लिए. यह चंक का यूआरआई रेफ़रंस होता है.

title string

सिर्फ़ आउटपुट के लिए. चंक का टाइटल.

JSON के काेड में दिखाना
{
  "uri": string,
  "title": string
}

इमेज

इमेज सर्च से मिला जवाब.

Fields
sourceUri string

एट्रिब्यूशन के लिए वेब पेज यूआरआई.

imageUri string

इमेज ऐसेट का यूआरएल.

title string

उस वेब पेज का टाइटल जहां से इमेज ली गई है.

domain string

उस वेब पेज का रूट डोमेन जिससे इमेज ली गई है. उदाहरण के लिए, "example.com".

JSON के काेड में दिखाना
{
  "sourceUri": string,
  "imageUri": string,
  "title": string,
  "domain": string
}

RetrievedContext

फ़ाइल खोजने वाले टूल से मिले कॉन्टेक्स्ट का हिस्सा.

Fields
customMetadata[] object (CustomMetadata)

ज़रूरी नहीं. उपयोगकर्ता से मिला मेटाडेटा, जो वापस लाए गए कॉन्टेक्स्ट के बारे में बताता है.

uri string

ज़रूरी नहीं. सिमैंटिक रिट्रीवल दस्तावेज़ का यूआरआई रेफ़रंस.

title string

ज़रूरी नहीं. दस्तावेज़ का टाइटल.

text string

ज़रूरी नहीं. चंक का टेक्स्ट.

fileSearchStore string

ज़रूरी नहीं. दस्तावेज़ वाले FileSearchStore का नाम. उदाहरण: fileSearchStores/123

pageNumber integer

ज़रूरी नहीं. अगर लागू हो, तो खोज के नतीजों में मिले कॉन्टेक्स्ट का पेज नंबर.

mediaId string

ज़रूरी नहीं. मल्टीमोडल फ़ाइल खोज के नतीजों के लिए, मीडिया ब्लॉब संसाधन का नाम. फ़ॉर्मैट: fileSearchStores/{file_search_store_id}/media/{blobId}

JSON के काेड में दिखाना
{
  "customMetadata": [
    {
      object (CustomMetadata)
    }
  ],
  "uri": string,
  "title": string,
  "text": string,
  "fileSearchStore": string,
  "pageNumber": integer,
  "mediaId": string
}

CustomMetadata

उपयोगकर्ता ने GroundingFact के बारे में मेटाडेटा दिया है.

Fields
key string

मेटाडेटा की कुंजी.

value Union type
मेटाडेटा की वैल्यू. यह एक स्ट्रिंग, स्ट्रिंग की सूची या कोई संख्या हो सकती है. value इनमें से सिर्फ़ एक हो सकता है:
stringValue string

ज़रूरी नहीं. मेटाडेटा की स्ट्रिंग वैल्यू.

stringListValue object (StringList)

ज़रूरी नहीं. मेटाडेटा के लिए स्ट्रिंग वैल्यू की सूची.

numericValue number

ज़रूरी नहीं. मेटाडेटा की संख्या वाली वैल्यू. इस वैल्यू की अनुमानित सीमा, इस्तेमाल किए गए key पर निर्भर करती है.

JSON के काेड में दिखाना
{
  "key": string,

  // value
  "stringValue": string,
  "stringListValue": {
    object (StringList)
  },
  "numericValue": number
  // Union type
}

StringList

स्ट्रिंग वैल्यू की सूची.

Fields
values[] string

सूची की स्ट्रिंग वैल्यू.

JSON के काेड में दिखाना
{
  "values": [
    string
  ]
}

Maps

Google Maps से लिया गया ग्राउंडिंग चंक. Maps के एक हिस्से में सिर्फ़ एक जगह की जानकारी होती है.

Fields
uri string

जगह का यूआरआई रेफ़रंस.

title string

जगह का टाइटल.

text string

जगह के बारे में जवाब का टेक्स्ट.

placeId string

जगह का आईडी, places/{placeId} फ़ॉर्मैट में. कोई उपयोगकर्ता इस आईडी का इस्तेमाल करके, उस जगह को ढूंढ सकता है.

placeAnswerSources object (PlaceAnswerSources)

ऐसे सोर्स जो Google Maps में किसी जगह की सुविधाओं के बारे में जवाब देते हैं.

JSON के काेड में दिखाना
{
  "uri": string,
  "title": string,
  "text": string,
  "placeId": string,
  "placeAnswerSources": {
    object (PlaceAnswerSources)
  }
}

PlaceAnswerSources

ऐसे सोर्स का कलेक्शन जो Google Maps में किसी जगह की सुविधाओं के बारे में जवाब देते हैं. PlaceAnswerSources का हर मैसेज, Google Maps में मौजूद किसी जगह से जुड़ा होता है. Google Maps टूल ने इन सोर्स का इस्तेमाल, जगह की सुविधाओं के बारे में सवालों के जवाब देने के लिए किया.उदाहरण के लिए: "क्या फ़ू बार में वाई-फ़ाई की सुविधा है" या "क्या फ़ू बार में व्हीलचेयर से पहुंचा जा सकता है?". फ़िलहाल, हम सिर्फ़ समीक्षा स्निपेट को सोर्स के तौर पर इस्तेमाल करने की सुविधा देते हैं.

Fields
reviewSnippets[] object (ReviewSnippet)

समीक्षाओं के स्निपेट. इनका इस्तेमाल, Google Maps में किसी जगह की सुविधाओं के बारे में जवाब जनरेट करने के लिए किया जाता है.

JSON के काेड में दिखाना
{
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

ReviewSnippet

इसमें उपयोगकर्ता की समीक्षा का एक स्निपेट शामिल होता है. यह Google Maps में किसी जगह की सुविधाओं के बारे में पूछे गए सवाल का जवाब देता है.

Fields
reviewId string

समीक्षा की झलक का आईडी.

googleMapsUri string

यह Google Maps पर मौजूद उपयोगकर्ता की समीक्षा से जुड़ा लिंक होता है.

title string

समीक्षा का टाइटल.

JSON के काेड में दिखाना
{
  "reviewId": string,
  "googleMapsUri": string,
  "title": string
}

GroundingSupport

ग्राउंडिंग की सुविधा.

Fields
groundingChunkIndices[] integer

ज़रूरी नहीं. यह इंडेक्स की सूची होती है. इसमें response.candidate.grounding_metadata में मौजूद 'grounding_chunk' में दिए गए उन उद्धरणों की जानकारी होती है जो दावे से जुड़े होते हैं. उदाहरण के लिए, [1,3,4] का मतलब है कि grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] वे कॉन्टेंट हैं जिन्हें दावे के लिए फिर से हासिल किया गया है. अगर जवाब स्ट्रीम किया जा रहा है, तो groundingChunkIndices, सभी जवाबों के इंडेक्स को दिखाता है. सभी जवाबों से ग्राउंडिंग चंक इकट्ठा करने की ज़िम्मेदारी क्लाइंट की होती है. हालांकि, इसके लिए उसे जवाबों का क्रम बनाए रखना होता है.

confidenceScores[] number

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

renderedParts[] integer

सिर्फ़ आउटपुट के लिए. उम्मीदवार के कॉन्टेंट के parts फ़ील्ड में इंडेक्स. इन इंडेक्स से पता चलता है कि रेंडर किए गए कौनसे हिस्से, सहायता के इस सोर्स से जुड़े हैं.

segment object (Segment)

कॉन्टेंट का वह सेगमेंट जिससे यह सहायता जुड़ी है.

JSON के काेड में दिखाना
{
  "groundingChunkIndices": [
    integer
  ],
  "confidenceScores": [
    number
  ],
  "renderedParts": [
    integer
  ],
  "segment": {
    object (Segment)
  }
}

सेगमेंट

कॉन्टेंट का सेगमेंट.

Fields
partIndex integer

यह अपने पैरंट कॉन्टेंट ऑब्जेक्ट में मौजूद Part ऑब्जेक्ट का इंडेक्स होता है.

startIndex integer

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

endIndex integer

दिए गए पार्ट में आखिरी इंडेक्स, जिसे बाइट में मापा जाता है. यह पार्ट की शुरुआत से ऑफ़सेट होता है. इसमें पार्ट की शुरुआत शामिल नहीं होती है. इसकी शुरुआत शून्य से होती है.

text string

जवाब के सेगमेंट से जुड़ा टेक्स्ट.

JSON के काेड में दिखाना
{
  "partIndex": integer,
  "startIndex": integer,
  "endIndex": integer,
  "text": string
}

RetrievalMetadata

ग्राउंडिंग फ़्लो में जानकारी वापस पाने से जुड़ा मेटाडेटा.

Fields
googleSearchDynamicRetrievalScore number

ज़रूरी नहीं. यह स्कोर बताता है कि Google Search से मिली जानकारी, प्रॉम्प्ट का जवाब देने में कितनी मददगार हो सकती है. स्कोर [0, 1] की रेंज में होता है, जहां 0 का मतलब है कि ऐसा होने की संभावना कम है और 1 का मतलब है कि ऐसा होने की संभावना ज़्यादा है. यह स्कोर सिर्फ़ तब दिखता है, जब Google Search से जानकारी पाने और डाइनैमिक तरीके से जानकारी पाने की सुविधा चालू हो. इसकी तुलना थ्रेशोल्ड से की जाएगी, ताकि यह तय किया जा सके कि Google Search को ट्रिगर करना है या नहीं.

JSON के काेड में दिखाना
{
  "googleSearchDynamicRetrievalScore": number
}

LogprobsResult

Logprobs Result

Fields
topCandidates[] object (TopCandidates)

लंबाई = डिकोडिंग के चरणों की कुल संख्या.

chosenCandidates[] object (Candidate)

लंबाई = डिकोडिंग के चरणों की कुल संख्या. चुने गए उम्मीदवार, topCandidates में शामिल हो भी सकते हैं और नहीं भी.

logProbabilitySum number

सभी टोकन के लिए लॉग प्रॉबबिलिटी का योग.

JSON के काेड में दिखाना
{
  "topCandidates": [
    {
      object (TopCandidates)
    }
  ],
  "chosenCandidates": [
    {
      object (Candidate)
    }
  ],
  "logProbabilitySum": number
}

TopCandidates

हर डिकोडिंग चरण में, सबसे ज़्यादा लॉग प्रॉबेबिलिटी वाले उम्मीदवार.

Fields
candidates[] object (Candidate)

लॉग प्रॉबबिलिटी के हिसाब से घटते क्रम में लगाया गया.

JSON के काेड में दिखाना
{
  "candidates": [
    {
      object (Candidate)
    }
  ]
}

उम्मीदवार

logprobs टोकन और स्कोर के लिए उम्मीदवार.

Fields
token string

उम्मीदवार के टोकन की स्ट्रिंग वैल्यू.

tokenId integer

उम्मीदवार के टोकन आईडी की वैल्यू.

logProbability number

उम्मीदवार की लॉग प्रॉबबिलिटी.

JSON के काेड में दिखाना
{
  "token": string,
  "tokenId": integer,
  "logProbability": number
}

UrlContextMetadata

यूआरएल के कॉन्टेक्स्ट को वापस पाने वाले टूल से जुड़ा मेटाडेटा.

Fields
urlMetadata[] object (UrlMetadata)

यूआरएल कॉन्टेक्स्ट की सूची.

JSON के काेड में दिखाना
{
  "urlMetadata": [
    {
      object (UrlMetadata)
    }
  ]
}

UrlMetadata

किसी एक यूआरएल को वापस पाने का कॉन्टेक्स्ट.

Fields
retrievedUrl string

टूल से वापस पाया गया यूआरएल.

urlRetrievalStatus enum (UrlRetrievalStatus)

यूआरएल वापस पाने का स्टेटस.

JSON के काेड में दिखाना
{
  "retrievedUrl": string,
  "urlRetrievalStatus": enum (UrlRetrievalStatus)
}

UrlRetrievalStatus

यूआरएल वापस पाने का स्टेटस.

Enums
URL_RETRIEVAL_STATUS_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
URL_RETRIEVAL_STATUS_SUCCESS यूआरएल वापस पाने की प्रोसेस पूरी हो गई है.
URL_RETRIEVAL_STATUS_ERROR गड़बड़ी की वजह से, यूआरएल वापस नहीं पाया जा सका.
URL_RETRIEVAL_STATUS_PAYWALL कॉन्टेंट पेवॉल के पीछे होने की वजह से, यूआरएल को वापस नहीं लाया जा सका.
URL_RETRIEVAL_STATUS_UNSAFE कॉन्टेंट असुरक्षित होने की वजह से, यूआरएल नहीं पाया जा सका.

CitationMetadata

यह किसी कॉन्टेंट के लिए सोर्स एट्रिब्यूशन का कलेक्शन होता है.

Fields
citationSources[] object (CitationSource)

किसी जवाब के लिए सोर्स के उद्धरण.

JSON के काेड में दिखाना
{
  "citationSources": [
    {
      object (CitationSource)
    }
  ]
}

CitationSource

किसी जवाब के कुछ हिस्से के लिए, सोर्स का उद्धरण.

Fields
startIndex integer

ज़रूरी नहीं. जवाब के उस सेगमेंट की शुरुआत जिसे इस सोर्स के लिए एट्रिब्यूट किया गया है.

इंडेक्स से सेगमेंट की शुरुआत का पता चलता है. इसे बाइट में मापा जाता है.

endIndex integer

ज़रूरी नहीं. एट्रिब्यूट किए गए सेगमेंट के खत्म होने का समय (अलग से उपलब्ध).

uri string

ज़रूरी नहीं. यूआरआई, जिसे टेक्स्ट के किसी हिस्से के लिए सोर्स के तौर पर एट्रिब्यूट किया गया है.

license string

ज़रूरी नहीं. GitHub प्रोजेक्ट का लाइसेंस, जिसे सेगमेंट के सोर्स के तौर पर एट्रिब्यूट किया गया है.

कोड के उद्धरणों के लिए, लाइसेंस की जानकारी देना ज़रूरी है.

JSON के काेड में दिखाना
{
  "startIndex": integer,
  "endIndex": integer,
  "uri": string,
  "license": string
}

HarmCategory

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

Enums
HARM_CATEGORY_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
HARM_CATEGORY_HATE_SPEECH ऐसा कॉन्टेंट जिसमें किसी व्यक्ति या ग्रुप की खास पहचान या स्थिति के आधार पर, उसके ख़िलाफ़ हिंसा या नफ़रत को बढ़ावा दिया गया हो.
HARM_CATEGORY_DANGEROUS_CONTENT ऐसा कॉन्टेंट जो खतरनाक गतिविधियों को बढ़ावा देता है, उन्हें आसान बनाता है या उन्हें करने की अनुमति देता है.
HARM_CATEGORY_HARASSMENT अपमानजनक, धमकाने वाला या ऐसा कॉन्टेंट जिसका मकसद किसी को डराना, परेशान करना या उसका मज़ाक उड़ाना हो.
HARM_CATEGORY_SEXUALLY_EXPLICIT ऐसा कॉन्टेंट जिसमें साफ़ तौर पर सेक्शुअल ऐक्ट दिखाया गया हो.
HARM_CATEGORY_CIVIC_INTEGRITY

बंद कर दिया गया: चुनाव फ़िल्टर अब काम नहीं करता. नुकसान की कैटगरी, नागरिकों की सुरक्षा और सार्वजनिक व्यवस्था से जुड़ी है.

HARM_CATEGORY_IMAGE_HATE ऐसी इमेज जिनमें नफ़रत फैलाने वाली भाषा का इस्तेमाल किया गया हो.
HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT ऐसी इमेज जिनमें खतरनाक कॉन्टेंट शामिल हो.
HARM_CATEGORY_IMAGE_HARASSMENT ऐसी इमेज जिनमें उत्पीड़न दिखाया गया हो.
HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT ऐसी इमेज जिनमें साफ़ तौर पर सेक्शुअल ऐक्ट दिखाने वाला कॉन्टेंट दिखाया गया हो.
HARM_CATEGORY_JAILBREAK सुरक्षा फ़िल्टर को बायपास करने के लिए डिज़ाइन किए गए प्रॉम्प्ट.

ModalityTokenCount

यह किसी एक मोड के लिए टोकन की गिनती की जानकारी दिखाता है.

Fields
modality enum (Modality)

इस टोकन की गिनती से जुड़ी मोडेलिटी.

tokenCount integer

टोकन की संख्या.

JSON के काेड में दिखाना
{
  "modality": enum (Modality),
  "tokenCount": integer
}

डेटा का टाइप

कॉन्टेंट के हिस्से का तरीका

Enums
MODALITY_UNSPECIFIED अनजान मोडेलिटी.
TEXT सादा टेक्स्ट.
IMAGE इमेज.
VIDEO वीडियो.
AUDIO ऑडियो.
DOCUMENT दस्तावेज़, जैसे कि PDF.

SafetyRating

किसी कॉन्टेंट के लिए सुरक्षा रेटिंग.

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

Fields
category enum (HarmCategory)

ज़रूरी है. इस रेटिंग की कैटगरी.

probability enum (HarmProbability)

ज़रूरी है. इस कॉन्टेंट से नुकसान पहुंचने की संभावना.

blocked boolean

क्या इस रेटिंग की वजह से इस कॉन्टेंट को ब्लॉक किया गया था?

JSON के काेड में दिखाना
{
  "category": enum (HarmCategory),
  "probability": enum (HarmProbability),
  "blocked": boolean
}

HarmProbability

किसी कॉन्टेंट के नुकसान पहुंचाने की संभावना.

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

Enums
HARM_PROBABILITY_UNSPECIFIED संभावित गड़बड़ी की जानकारी नहीं दी गई है.
NEGLIGIBLE कॉन्टेंट के असुरक्षित होने की संभावना बहुत कम होती है.
LOW कॉन्टेंट के असुरक्षित होने की संभावना कम होती है.
MEDIUM कॉन्टेंट के असुरक्षित होने की संभावना मध्यम है.
HIGH कॉन्टेंट के असुरक्षित होने की संभावना ज़्यादा है.

SafetySetting

सुरक्षा सेटिंग, जो सुरक्षा से जुड़ी पाबंदी के तरीके पर असर डालती है.

किसी कैटगरी के लिए सुरक्षा सेटिंग को पास करने से, कॉन्टेंट के ब्लॉक होने की अनुमति वाली संभावना बदल जाती है.

Fields
category enum (HarmCategory)

ज़रूरी है. इस सेटिंग की कैटगरी.

threshold enum (HarmBlockThreshold)

ज़रूरी है. यह विकल्प, नुकसान पहुंचाने वाले कॉन्टेंट को ब्लॉक करने के लिए, थ्रेशोल्ड की संभावना को कंट्रोल करता है.

JSON के काेड में दिखाना
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}

HarmBlockThreshold

नुकसान पहुंचाने की तय की गई संभावना पर या उससे ज़्यादा होने पर, जवाब को ब्लॉक करें.

Enums
HARM_BLOCK_THRESHOLD_UNSPECIFIED थ्रेशोल्ड की जानकारी नहीं दी गई है.
BLOCK_LOW_AND_ABOVE जिस कॉन्टेंट में न के बराबर हिंसा दिखाई गई है उसे अनुमति दी जाएगी.
BLOCK_MEDIUM_AND_ABOVE जिन कॉन्टेंट में उल्लंघन का स्तर NEGLIGIBLE और LOW होगा उन्हें अनुमति दी जाएगी.
BLOCK_ONLY_HIGH जिस कॉन्टेंट में जोखिम का स्तर न के बराबर, कम, और सामान्य होगा उसे अनुमति दी जाएगी.
BLOCK_NONE सभी कॉन्टेंट को अनुमति दी जाएगी.
OFF सुरक्षा फ़िल्टर बंद करें.

ServiceTier

इंटरैक्शन की सेवा का टियर.

Enums
SERVICE_TIER_UNSPECIFIED डिफ़ॉल्ट सेवा टियर, जो स्टैंडर्ड है.
SERVICE_TIER_FLEX Flex सेवा का टियर.
SERVICE_TIER_STANDARD स्टैंडर्ड सेवा का टियर.
SERVICE_TIER_PRIORITY प्राथमिकता वाला सेवा स्तर.

AllowedTools

अनुमति वाले टूल के लिए कॉन्फ़िगरेशन.

Fields
mode enum (ToolChoiceType)

टूल चुनने का मोड.

tools[] string

अनुमति वाले टूल के नाम.

JSON के काेड में दिखाना
{
  "mode": enum (ToolChoiceType),
  "tools": [
    string
  ]
}

व्याख्या

मॉडल से जनरेट किए गए कॉन्टेंट के लिए उद्धरण की जानकारी.

Fields
startIndex integer

जवाब के उस सेगमेंट की शुरुआत जिसे इस सोर्स के लिए एट्रिब्यूट किया गया है.

इंडेक्स से सेगमेंट की शुरुआत का पता चलता है. इसे बाइट में मापा जाता है.

endIndex integer

एट्रिब्यूट किए गए सेगमेंट के खत्म होने का समय (अलग से उपलब्ध).

type Union type
एनोटेशन किस तरह का है. type इनमें से सिर्फ़ एक हो सकता है:
urlCitation object (UrlCitation)

यूआरएल उद्धरण एनोटेशन.

fileCitation object (FileCitation)

फ़ाइल के उद्धरण का एनोटेशन.

placeCitation object (PlaceCitation)

जगह के उद्धरण वाली एनोटेशन.

JSON के काेड में दिखाना
{
  "startIndex": integer,
  "endIndex": integer,

  // type
  "urlCitation": {
    object (UrlCitation)
  },
  "fileCitation": {
    object (FileCitation)
  },
  "placeCitation": {
    object (PlaceCitation)
  }
  // Union type
}

UrlCitation

यूआरएल उद्धरण एनोटेशन.

Fields
url string

यूआरएल.

title string

यूआरएल का टाइटल.

JSON के काेड में दिखाना
{
  "url": string,
  "title": string
}

FileCitation

फ़ाइल के उद्धरण का एनोटेशन.

Fields
documentUri string

फ़ाइल का यूआरआई.

fileName string

फ़ाइल का नाम.

source string

टेक्स्ट के किसी हिस्से के लिए एट्रिब्यूट किया गया सोर्स.

customMetadata object (Struct)

उपयोगकर्ता ने खोजे गए कॉन्टेक्स्ट के बारे में मेटाडेटा दिया है.

pageNumber integer

अगर लागू हो, तो उद्धृत किए गए दस्तावेज़ का पेज नंबर.

mediaId string

अगर लागू हो, तो इमेज के उद्धरण के मामले में मीडिया आईडी.

JSON के काेड में दिखाना
{
  "documentUri": string,
  "fileName": string,
  "source": string,
  "customMetadata": {
    object (Struct)
  },
  "pageNumber": integer,
  "mediaId": string
}

PlaceCitation

जगह के उद्धरण वाली एनोटेशन.

Fields
placeId string

जगह का आईडी, places/{placeId} फ़ॉर्मैट में.

name string

जगह का टाइटल.

url string

जगह का यूआरआई रेफ़रंस.

reviewSnippets[] object (ReviewSnippet)

समीक्षाओं के स्निपेट. इनका इस्तेमाल, Google Maps में किसी जगह की सुविधाओं के बारे में जवाब जनरेट करने के लिए किया जाता है.

JSON के काेड में दिखाना
{
  "placeId": string,
  "name": string,
  "url": string,
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

AspectRatio

इमेज आउटपुट के लिए काम करने वाले आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात).

Enums
ASPECT_RATIO_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
ASPECT_RATIO_ONE_BY_ONE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 1:1 होना चाहिए.
ASPECT_RATIO_TWO_BY_THREE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 2:3 होना चाहिए.
ASPECT_RATIO_THREE_BY_TWO आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 3:2 होना चाहिए.
ASPECT_RATIO_THREE_BY_FOUR आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 3:4 होना चाहिए.
ASPECT_RATIO_FOUR_BY_THREE 4:3 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) होना चाहिए.
ASPECT_RATIO_FOUR_BY_FIVE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 4:5 होना चाहिए.
ASPECT_RATIO_FIVE_BY_FOUR आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 5:4 होना चाहिए.
ASPECT_RATIO_NINE_BY_SIXTEEN 9:16 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात).
ASPECT_RATIO_SIXTEEN_BY_NINE 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) होना चाहिए.
ASPECT_RATIO_TWENTY_ONE_BY_NINE 21:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) हो.
ASPECT_RATIO_ONE_BY_EIGHT आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 1:8 होना चाहिए.
ASPECT_RATIO_EIGHT_BY_ONE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 8:1 होना चाहिए.
ASPECT_RATIO_ONE_BY_FOUR आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 1:4 होना चाहिए.
ASPECT_RATIO_FOUR_BY_ONE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 4:1 होना चाहिए.

AudioResponseFormat

ऑडियो आउटपुट फ़ॉर्मैट के लिए कॉन्फ़िगरेशन.

Fields
mimeType enum (MimeType)

ऑडियो आउटपुट का MIME टाइप.

delivery enum (Delivery)

ऑडियो आउटपुट के लिए डिलीवरी मोड.

sampleRate integer

सैंपल रेट, हर्ट्ज़ में.

bitRate integer

बिट प्रति सेकंड (बीपीएस) में बिट रेट. यह सुविधा, सिर्फ़ कंप्रेस किए गए फ़ॉर्मैट (MP3, Opus) के लिए उपलब्ध है.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "delivery": enum (Delivery),
  "sampleRate": integer,
  "bitRate": integer
}

CodeExecution

इस टाइप में कोई फ़ील्ड नहीं है.

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, कोड को एक्ज़ीक्यूट करने के लिए कर सकता है.

CodeExecutionCallStep

कोड एक्ज़ीक्यूशन कॉल स्टेप.

Fields
arguments object (CodeExecutionCallStepArguments)

ज़रूरी है. कोड को एक्ज़ीक्यूट करने के लिए पास किए जाने वाले आर्ग्युमेंट.

JSON के काेड में दिखाना
{
  "arguments": {
    object (CodeExecutionCallStepArguments)
  }
}

CodeExecutionCallStepArguments

कोड को एक्ज़ीक्यूट करने के लिए पास किए जाने वाले आर्ग्युमेंट.

Fields
language enum (Language)

code की प्रोग्रामिंग लैंग्वेज.

code string

वह कोड जिसे एक्ज़ीक्यूट करना है.

JSON के काेड में दिखाना
{
  "language": enum (Language),
  "code": string
}

CodeExecutionResultStep

कोड एक्ज़ीक्यूशन का नतीजा चरण.

Fields
result string

ज़रूरी है. कोड एक्ज़ीक्यूशन का आउटपुट.

isError boolean

कोड एक्ज़ीक्यूशन के कारण कोई गड़बड़ी हुई है या नहीं.

JSON के काेड में दिखाना
{
  "result": string,
  "isError": boolean
}

ComputerUse

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, कंप्यूटर से इंटरैक्ट करने के लिए कर सकता है.

Fields
environment enum (Environment)

जिस एनवायरमेंट में काम किया जा रहा है.

excludedPredefinedFunctions[] string

पहले से तय किए गए उन फ़ंक्शन की सूची जिन्हें मॉडल कॉल से बाहर रखा गया है.

enablePromptInjectionDetection boolean

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

disabledSafetyPolicies[] enum (SafetyPolicy)

ज़रूरी नहीं. कंप्यूटर के इस्तेमाल के लिए, सुरक्षा से जुड़ी नीतियां बंद कर दी गई हैं.

JSON के काेड में दिखाना
{
  "environment": enum (Environment),
  "excludedPredefinedFunctions": [
    string
  ],
  "enablePromptInjectionDetection": boolean,
  "disabledSafetyPolicies": [
    enum (SafetyPolicy)
  ]
}

सामग्री

जवाब का कॉन्टेंट.

फ़ील्ड
type Union type
type इनमें से सिर्फ़ एक हो सकता है:
text object (TextContent)
image object (ImageContent)
audio object (AudioContent)
document object (DocumentContent)
video object (VideoContent)
thought
(deprecated)
object (ThoughtContent)
toolCall
(deprecated)
object (ToolCallContent)
toolResult
(deprecated)
object (ToolResultContent)
JSON के काेड में दिखाना
{

  // type
  "text": {
    object (TextContent)
  },
  "image": {
    object (ImageContent)
  },
  "audio": {
    object (AudioContent)
  },
  "document": {
    object (DocumentContent)
  },
  "video": {
    object (VideoContent)
  },
  "thought": {
    object (ThoughtContent)
  },
  "toolCall": {
    object (ToolCallContent)
  },
  "toolResult": {
    object (ToolResultContent)
  }
  // Union type
}

TextContent

टेक्स्ट कॉन्टेंट वाला ब्लॉक.

Fields
text string

ज़रूरी है. टेक्स्ट कॉन्टेंट.

annotations[] object (Annotation)

मॉडल से जनरेट किए गए कॉन्टेंट के लिए उद्धरण की जानकारी.

JSON के काेड में दिखाना
{
  "text": string,
  "annotations": [
    {
      object (Annotation)
    }
  ]
}

ImageContent

इमेज कॉन्टेंट ब्लॉक.

Fields
mimeType enum (MimeType)

इमेज का MIME टाइप.

resolution enum (MediaResolution)

मीडिया का रिज़ॉल्यूशन.

data_or_uri Union type
इमेज का कॉन्टेंट. data_or_uri इनमें से सिर्फ़ एक हो सकता है:
data string (bytes format)

इमेज का कॉन्टेंट.

base64 कोड में बदली गई स्ट्रिंग.

uri string

इमेज का यूआरआई.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "resolution": enum (MediaResolution),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

AudioContent

ऑडियो कॉन्टेंट ब्लॉक.

Fields
mimeType enum (MimeType)

ऑडियो का MIME टाइप.

channels integer

ऑडियो चैनलों की संख्या.

sampleRate integer

ऑडियो का सैंपल रेट.

data_or_uri Union type
ऑडियो कॉन्टेंट. data_or_uri इनमें से सिर्फ़ एक हो सकता है:
data string (bytes format)

ऑडियो कॉन्टेंट.

base64 कोड में बदली गई स्ट्रिंग.

uri string

ऑडियो का यूआरआई.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "channels": integer,
  "sampleRate": integer,

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

DocumentContent

दस्तावेज़ के कॉन्टेंट का ब्लॉक.

Fields
mimeType enum (MimeType)

दस्तावेज़ का MIME टाइप.

data_or_uri Union type
दस्तावेज़ का कॉन्टेंट. data_or_uri इनमें से सिर्फ़ एक हो सकता है:
data string (bytes format)

दस्तावेज़ का कॉन्टेंट.

base64 कोड में बदली गई स्ट्रिंग.

uri string

दस्तावेज़ का यूआरआई.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

वीडियो सामग्री

वीडियो कॉन्टेंट ब्लॉक.

Fields
mimeType enum (MimeType)

वीडियो का MIME टाइप.

resolution enum (MediaResolution)

मीडिया का रिज़ॉल्यूशन.

data_or_uri Union type
वीडियो कॉन्टेंट. data_or_uri इनमें से सिर्फ़ एक हो सकता है:
data string (bytes format)

वीडियो कॉन्टेंट.

base64 कोड में बदली गई स्ट्रिंग.

uri string

वीडियो का यूआरआई.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "resolution": enum (MediaResolution),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

ThoughtContent

सोच से जुड़ा कॉन्टेंट ब्लॉक.

Fields
signature string (bytes format)

बैकएंड सोर्स से मैच करने वाला सिग्नेचर, ताकि उसे जनरेशन में शामिल किया जा सके.

base64 कोड में बदली गई स्ट्रिंग.

summary[] object (ThoughtSummaryContent)

विचार की खास जानकारी.

JSON के काेड में दिखाना
{
  "signature": string,
  "summary": [
    {
      object (ThoughtSummaryContent)
    }
  ]
}

ThoughtSummaryContent

फ़ील्ड
type Union type
type इनमें से सिर्फ़ एक हो सकता है:
text object (TextContent)
image object (ImageContent)
JSON के काेड में दिखाना
{

  // type
  "text": {
    object (TextContent)
  },
  "image": {
    object (ImageContent)
  }
  // Union type
}

ToolCallContent

टूल कॉल का कॉन्टेंट.

Fields
id string

ज़रूरी है. इस टूल कॉल के लिए यूनीक आईडी.

signature string (bytes format)

बैकएंड की पुष्टि के लिए हस्ताक्षर हैश.

base64 कोड में बदली गई स्ट्रिंग.

type Union type
type इनमें से सिर्फ़ एक हो सकता है:
functionCall object (FunctionCallContent)
codeExecutionCall object (CodeExecutionCallContent)
urlContextCall object (UrlContextCallContent)
mcpServerToolCall object (McpServerToolCallContent)
googleSearchCall object (GoogleSearchCallContent)
fileSearchCall object (FileSearchCallContent)
googleMapsCall object (GoogleMapsCallContent)
JSON के काेड में दिखाना
{
  "id": string,
  "signature": string,

  // type
  "functionCall": {
    object (FunctionCallContent)
  },
  "codeExecutionCall": {
    object (CodeExecutionCallContent)
  },
  "urlContextCall": {
    object (UrlContextCallContent)
  },
  "mcpServerToolCall": {
    object (McpServerToolCallContent)
  },
  "googleSearchCall": {
    object (GoogleSearchCallContent)
  },
  "fileSearchCall": {
    object (FileSearchCallContent)
  },
  "googleMapsCall": {
    object (GoogleMapsCallContent)
  }
  // Union type
}

FunctionCallContent

फ़ंक्शन टूल कॉल का कॉन्टेंट ब्लॉक.

Fields
name string

ज़रूरी है. कॉल किए जाने वाले टूल का नाम.

arguments object (Struct)

ज़रूरी है. फ़ंक्शन में पास किए जाने वाले आर्ग्युमेंट.

JSON के काेड में दिखाना
{
  "name": string,
  "arguments": {
    object (Struct)
  }
}

CodeExecutionCallContent

कोड एक्ज़ीक्यूशन से जुड़ा कॉन्टेंट.

Fields
arguments object (CodeExecutionCallArguments)

ज़रूरी है. कोड को एक्ज़ीक्यूट करने के लिए पास किए जाने वाले आर्ग्युमेंट.

JSON के काेड में दिखाना
{
  "arguments": {
    object (CodeExecutionCallArguments)
  }
}

CodeExecutionCallArguments

कोड को एक्ज़ीक्यूट करने के लिए पास किए जाने वाले आर्ग्युमेंट.

Fields
language enum (Language)

code की प्रोग्रामिंग लैंग्वेज.

code string

वह कोड जिसे एक्ज़ीक्यूट करना है.

JSON के काेड में दिखाना
{
  "language": enum (Language),
  "code": string
}

UrlContextCallContent

यूआरएल के कॉन्टेक्स्ट का कॉन्टेंट.

Fields
arguments object (UrlContextCallArguments)

ज़रूरी है. यूआरएल के कॉन्टेक्स्ट में पास किए जाने वाले आर्ग्युमेंट.

JSON के काेड में दिखाना
{
  "arguments": {
    object (UrlContextCallArguments)
  }
}

UrlContextCallArguments

यूआरएल के कॉन्टेक्स्ट में पास किए जाने वाले आर्ग्युमेंट.

Fields
urls[] string

फ़ेच किए जाने वाले यूआरएल.

JSON के काेड में दिखाना
{
  "urls": [
    string
  ]
}

McpServerToolCallContent

MCPServer टूल कॉल का कॉन्टेंट.

Fields
name string

ज़रूरी है. कॉल किए गए टूल का नाम.

serverName string

ज़रूरी है. इस्तेमाल किए गए एमसीपी सर्वर का नाम.

arguments object (Struct)

ज़रूरी है. फ़ंक्शन के लिए आर्ग्युमेंट का JSON ऑब्जेक्ट.

JSON के काेड में दिखाना
{
  "name": string,
  "serverName": string,
  "arguments": {
    object (Struct)
  }
}

GoogleSearchCallContent

Google Search का कॉन्टेंट.

Fields
arguments object (GoogleSearchCallArguments)

ज़रूरी है. Google Search को पास किए जाने वाले आर्ग्युमेंट.

searchType enum (SearchType)

खोज के लिए इस्तेमाल किए गए डेटा का टाइप.

JSON के काेड में दिखाना
{
  "arguments": {
    object (GoogleSearchCallArguments)
  },
  "searchType": enum (SearchType)
}

GoogleSearchCallArguments

Google Search को पास किए जाने वाले आर्ग्युमेंट.

Fields
queries[] string

वेब खोज से जुड़ी क्वेरी, ताकि वेब खोज को फ़ॉलो अप किया जा सके.

JSON के काेड में दिखाना
{
  "queries": [
    string
  ]
}

FileSearchCallContent

इस टाइप में कोई फ़ील्ड नहीं है.

फ़ाइल में मौजूद कॉन्टेंट को खोजने की सुविधा.

GoogleMapsCallContent

Google Maps का कॉन्टेंट.

Fields
arguments object (GoogleMapsCallArguments)

Google Maps टूल को पास किए जाने वाले तर्क.

JSON के काेड में दिखाना
{
  "arguments": {
    object (GoogleMapsCallArguments)
  }
}

GoogleMapsCallArguments

Google Maps टूल को पास किए जाने वाले तर्क.

Fields
queries[] string

वे क्वेरी जिन्हें एक्ज़ीक्यूट करना है.

JSON के काेड में दिखाना
{
  "queries": [
    string
  ]
}

ToolResultContent

टूल के नतीजे का कॉन्टेंट.

Fields
callId string

ज़रूरी है. यह आईडी, फ़ंक्शन कॉल ब्लॉक के आईडी से मेल खाना चाहिए.

signature string (bytes format)

बैकएंड की पुष्टि के लिए हस्ताक्षर हैश.

base64 कोड में बदली गई स्ट्रिंग.

type Union type
type इनमें से सिर्फ़ एक हो सकता है:
functionResult object (FunctionResultContent)
codeExecutionResult object (CodeExecutionResultContent)
urlContextResult object (UrlContextResultContent)
googleSearchResult object (GoogleSearchResultContent)
mcpServerToolResult object (McpServerToolResultContent)
fileSearchResult object (FileSearchResultContent)
googleMapsResult object (GoogleMapsResultContent)
JSON के काेड में दिखाना
{
  "callId": string,
  "signature": string,

  // type
  "functionResult": {
    object (FunctionResultContent)
  },
  "codeExecutionResult": {
    object (CodeExecutionResultContent)
  },
  "urlContextResult": {
    object (UrlContextResultContent)
  },
  "googleSearchResult": {
    object (GoogleSearchResultContent)
  },
  "mcpServerToolResult": {
    object (McpServerToolResultContent)
  },
  "fileSearchResult": {
    object (FileSearchResultContent)
  },
  "googleMapsResult": {
    object (GoogleMapsResultContent)
  }
  // Union type
}

FunctionResultContent

फ़ंक्शन टूल के नतीजे का कॉन्टेंट ब्लॉक.

Fields
name string

कॉल किए गए टूल का नाम.

isError boolean

टूल कॉल में कोई गड़बड़ी हुई है या नहीं.

result Union type
टूल कॉल का नतीजा. result इनमें से सिर्फ़ एक हो सकता है:
structResult object (Struct)
contentList object (FunctionResultSubcontentList)
stringResult string
JSON के काेड में दिखाना
{
  "name": string,
  "isError": boolean,

  // result
  "structResult": {
    object (Struct)
  },
  "contentList": {
    object (FunctionResultSubcontentList)
  },
  "stringResult": string
  // Union type
}

FunctionResultSubcontentList

Fields
contents[] object (FunctionResultSubcontent)
JSON के काेड में दिखाना
{
  "contents": [
    {
      object (FunctionResultSubcontent)
    }
  ]
}

FunctionResultSubcontent

फ़ील्ड
type Union type
type इनमें से सिर्फ़ एक हो सकता है:
text object (TextContent)
image object (ImageContent)
JSON के काेड में दिखाना
{

  // type
  "text": {
    object (TextContent)
  },
  "image": {
    object (ImageContent)
  }
  // Union type
}

CodeExecutionResultContent

कोड एक्ज़ीक्यूशन के नतीजे का कॉन्टेंट.

Fields
result string

ज़रूरी है. कोड एक्ज़ीक्यूशन का आउटपुट.

isError boolean

कोड एक्ज़ीक्यूशन के कारण कोई गड़बड़ी हुई है या नहीं.

JSON के काेड में दिखाना
{
  "result": string,
  "isError": boolean
}

UrlContextResultContent

यूआरएल कॉन्टेक्स्ट के नतीजे का कॉन्टेंट.

Fields
result[] object (UrlContextResult)

ज़रूरी है. यूआरएल के कॉन्टेक्स्ट के नतीजे.

isError boolean

इससे पता चलता है कि यूआरएल के कॉन्टेक्स्ट में कोई गड़बड़ी हुई है या नहीं.

JSON के काेड में दिखाना
{
  "result": [
    {
      object (UrlContextResult)
    }
  ],
  "isError": boolean
}

UrlContextResult

यूआरएल के कॉन्टेक्स्ट का नतीजा.

Fields
url string

फ़ेच किया गया यूआरएल.

status enum (Status)

यूआरएल को फिर से पाने का स्टेटस.

JSON के काेड में दिखाना
{
  "url": string,
  "status": enum (Status)
}

GoogleSearchResultContent

Google Search के नतीजों में दिखने वाला कॉन्टेंट.

Fields
result[] object (GoogleSearchResult)

ज़रूरी है. Google Search के नतीजे.

isError boolean

इससे पता चलता है कि Google Search में कोई गड़बड़ी हुई है या नहीं.

JSON के काेड में दिखाना
{
  "result": [
    {
      object (GoogleSearchResult)
    }
  ],
  "isError": boolean
}

GoogleSearchResult

Google Search से मिला नतीजा.

Fields
searchSuggestions string

यह वेब कॉन्टेंट स्निपेट होता है. इसे किसी वेब पेज या ऐप्लिकेशन के वेबव्यू में एम्बेड किया जा सकता है.

JSON के काेड में दिखाना
{
  "searchSuggestions": string
}

McpServerToolResultContent

MCPServer टूल के नतीजे का कॉन्टेंट.

Fields
name string

उस टूल का नाम जिसे इस टूल कॉल के लिए कॉल किया गया है.

serverName string

इस्तेमाल किए गए एमसीपी सर्वर का नाम.

result Union type
एमसीपी सर्वर कॉल का आउटपुट. यह सामान्य टेक्स्ट या रिच कॉन्टेंट हो सकता है. result इनमें से सिर्फ़ एक हो सकता है:
structResult object (Struct)
contentList object (FunctionResultSubcontentList)
stringResult string
JSON के काेड में दिखाना
{
  "name": string,
  "serverName": string,

  // result
  "structResult": {
    object (Struct)
  },
  "contentList": {
    object (FunctionResultSubcontentList)
  },
  "stringResult": string
  // Union type
}

FileSearchResultContent

फ़ाइल खोजने के नतीजे का कॉन्टेंट.

Fields
result[] object (FileSearchResult)

ज़रूरी नहीं. फ़ाइल खोजने के नतीजे.

JSON के काेड में दिखाना
{
  "result": [
    {
      object (FileSearchResult)
    }
  ]
}

FileSearchResult

इस टाइप में कोई फ़ील्ड नहीं है.

फ़ाइल खोजने का नतीजा.

GoogleMapsResultContent

Google Maps पर खोज के नतीजों में दिखने वाला कॉन्टेंट.

Fields
result[] object (GoogleMapsResult)

ज़रूरी है. Google Maps पर मिले नतीजे.

JSON के काेड में दिखाना
{
  "result": [
    {
      object (GoogleMapsResult)
    }
  ]
}

GoogleMapsResult

Google Maps पर खोज के नतीजे.

Fields
places[] object (Places)

वे जगहें जो मिलीं.

widgetContextToken string

Google Maps विजेट के कॉन्टेक्स्ट टोकन का संसाधन नाम.

JSON के काेड में दिखाना
{
  "places": [
    {
      object (Places)
    }
  ],
  "widgetContextToken": string
}

जगहें

Fields
placeId string

जगह का आईडी, places/{placeId} फ़ॉर्मैट में.

name string

जगह का टाइटल.

url string

जगह का यूआरआई रेफ़रंस.

reviewSnippets[] object (ReviewSnippet)

समीक्षाओं के स्निपेट. इनका इस्तेमाल, Google Maps में किसी जगह की सुविधाओं के बारे में जवाब जनरेट करने के लिए किया जाता है.

JSON के काेड में दिखाना
{
  "placeId": string,
  "name": string,
  "url": string,
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

ContentList

कॉन्टेंट की सूची.

Fields
contents[] object (Content)

सूची में मौजूद आइटम.

JSON के काेड में दिखाना
{
  "contents": [
    {
      object (Content)
    }
  ]
}

CreateInteractionRequest

इंटरैक्शन बनाने के लिए कॉन्फ़िगरेशन पैरामीटर.

Fields
stream boolean

सिर्फ़ इनपुट के लिए. इंटरैक्शन को स्ट्रीम किया जाएगा या नहीं.

store boolean

सिर्फ़ इनपुट के लिए. जवाब और अनुरोध को बाद में वापस पाने के लिए सेव करना है या नहीं.

interaction object (Interaction)

बनाया जाने वाला इंटरैक्शन.

background boolean

सिर्फ़ इनपुट के लिए. मॉडल इंटरैक्शन को बैकग्राउंड में चलाना है या नहीं.

JSON के काेड में दिखाना
{
  "stream": boolean,
  "store": boolean,
  "interaction": {
    object (Interaction)
  },
  "background": boolean
}

बातचीत

InteractionService.CreateInteraction का जवाब.

Fields
id string

ज़रूरी है. सिर्फ़ आउटपुट के लिए. इंटरैक्शन पूरा होने के लिए यूनीक आइडेंटिफ़ायर.

status enum (Status)

ज़रूरी है. सिर्फ़ आउटपुट के लिए. इंटरैक्शन का स्टेटस.

created string

ज़रूरी है. सिर्फ़ आउटपुट के लिए. आईएसओ 8601 फ़ॉर्मैट (YYYY-MM-DDThh:mm:ssZ) में, जवाब बनाए जाने का समय.

updated string

ज़रूरी है. सिर्फ़ आउटपुट के लिए. आईएसओ 8601 फ़ॉर्मैट (YYYY-MM-DDThh:mm:ssZ) में, जवाब को पिछली बार अपडेट किए जाने का समय.

role
(deprecated)
string

सिर्फ़ आउटपुट के लिए. इंटरैक्शन की भूमिका.

outputs[]
(deprecated)
object (Content)

सिर्फ़ आउटपुट के लिए. मॉडल से मिले जवाब.

systemInstruction string

इंटरैक्शन के लिए सिस्टम का निर्देश.

tools[] object (Tool)

टूल के उन एलान की सूची जिन्हें मॉडल, इंटरैक्शन के दौरान कॉल कर सकता है.

usage object (Usage)

सिर्फ़ आउटपुट के लिए. इंटरैक्शन के अनुरोध में इस्तेमाल किए गए टोकन के बारे में आंकड़े.

responseModalities[]
(deprecated)
enum (ResponseModality)

जवाब के लिए अनुरोध की गई मोडैलिटी (TEXT, IMAGE, AUDIO).

responseMimeType
(deprecated)
string

जवाब का MIME टाइप. responseFormat सेट होने पर, इसकी ज़रूरत होती है.

previousInteractionId string

पिछले इंटरैक्शन का आईडी. अगर कोई पिछला इंटरैक्शन नहीं है, तो यह फ़ील्ड मौजूद नहीं होता.

environmentId string

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

serviceTier enum (ServiceTier)

इंटरैक्शन के लिए सेवा का टियर.

webhookConfig object (WebhookConfig)

ज़रूरी नहीं. इंटरैक्शन पूरा होने पर सूचनाएं पाने के लिए, वेबहुक कॉन्फ़िगरेशन.

steps[] object (Step)

ज़रूरी है. सिर्फ़ आउटपुट के लिए. वे चरण जिनसे इंटरैक्शन बनता है.

input Union type
इंटरैक्शन के लिए इनपुट. input इनमें से सिर्फ़ एक हो सकता है:
contentList
(deprecated)
object (ContentList)

इंटरैक्शन के लिए इनपुट.

stringContent string

इंटरैक्शन के लिए स्ट्रिंग इनपुट. इसे एक टेक्स्ट इनपुट के तौर पर प्रोसेस किया जाएगा.

turnList
(deprecated)
object (TurnList)

इंटरैक्शन के लिए टर्न.

stepList object (StepList)

सिर्फ़ इनपुट के लिए. इंटरैक्शन के लिए तरीके.

content object (Content)

इंटरैक्शन के लिए कॉन्टेंट.

response_format_config Union type
response_format_config इनमें से सिर्फ़ एक हो सकता है:
responseFormat
(deprecated)
object (Value)

इससे यह पक्का किया जाता है कि जनरेट किया गया जवाब, एक JSON ऑब्जेक्ट हो और इस फ़ील्ड में दिए गए JSON स्कीमा के मुताबिक हो.

responseFormatList object (ResponseFormatList)
responseFormatSingleton object (ResponseFormat)
request_type Union type
इंटरैक्शन के लिए अनुरोध का टाइप. request_type इनमें से सिर्फ़ एक हो सकता है:
modelInteraction object (ModelInteraction)

मॉडल का इस्तेमाल करके, जवाब जनरेट करने के लिए इंटरैक्शन.

agentInteraction object (AgentInteraction)

एजेंट का इस्तेमाल करके जवाब जनरेट करने के लिए इंटरैक्शन.

environment Union type
इंटरैक्शन के लिए एनवायरमेंट कॉन्फ़िगरेशन. environment इनमें से सिर्फ़ एक हो सकता है:
envId string

इंटरैक्शन के लिए एनवायरमेंट आईडी. डिफ़ॉल्ट एनवायरमेंट के लिए, इसे 'remote' के तौर पर सेट किया जा सकता है.

remoteEnvironment object (EnvironmentConfig)
localEnvironment object (LocalEnvironmentConfig)

एजेंट का एनवायरमेंट, क्लाइंट कनेक्शन पर काम करता है: इसके बिल्ट-इन एनवायरमेंट ऑपरेशन (फ़ाइल सिस्टम ऑपरेशन और कमांड चलाना) को क्लाइंट को चलाने के लिए दिया जाता है. ये ऑपरेशन, सर्वर मैनेज किए गए सैंडबॉक्स में नहीं चलते हैं. remoteEnvironment के साथ म्यूचुअली एक्सक्लूसिव है. (क्लाइंट की ओर से तय किए गए फ़ंक्शन टूल से अलग. ये टूल हमेशा क्लाइंट पर लागू होते हैं, भले ही इस फ़ील्ड की वैल्यू कुछ भी हो.)

JSON के काेड में दिखाना
{
  "id": string,
  "status": enum (Status),
  "created": string,
  "updated": string,
  "role": string,
  "outputs": [
    {
      object (Content)
    }
  ],
  "systemInstruction": string,
  "tools": [
    {
      object (Tool)
    }
  ],
  "usage": {
    object (Usage)
  },
  "responseModalities": [
    enum (ResponseModality)
  ],
  "responseMimeType": string,
  "previousInteractionId": string,
  "environmentId": string,
  "serviceTier": enum (ServiceTier),
  "webhookConfig": {
    object (WebhookConfig)
  },
  "steps": [
    {
      object (Step)
    }
  ],

  // input
  "contentList": {
    object (ContentList)
  },
  "stringContent": string,
  "turnList": {
    object (TurnList)
  },
  "stepList": {
    object (StepList)
  },
  "content": {
    object (Content)
  }
  // Union type

  // response_format_config
  "responseFormat": {
    object (Value)
  },
  "responseFormatList": {
    object (ResponseFormatList)
  },
  "responseFormatSingleton": {
    object (ResponseFormat)
  }
  // Union type

  // request_type
  "modelInteraction": {
    object (ModelInteraction)
  },
  "agentInteraction": {
    object (AgentInteraction)
  }
  // Union type

  // environment
  "envId": string,
  "remoteEnvironment": {
    object (EnvironmentConfig)
  },
  "localEnvironment": {
    object (LocalEnvironmentConfig)
  }
  // Union type
}

TurnList

टर्न की सूची.

Fields
turns[] object (Turn)
JSON के काेड में दिखाना
{
  "turns": [
    {
      object (Turn)
    }
  ]
}

Turn

Fields
role string

इस टर्न को शुरू करने वाला. इनपुट के लिए उपयोगकर्ता या मॉडल के आउटपुट के लिए मॉडल होना चाहिए.

content Union type
content इनमें से सिर्फ़ एक हो सकता है:
contentList object (ContentList)

इस प्रॉपर्टी का इस्तेमाल, बातचीत के टर्न के कॉन्टेंट के लिए किया जाता है. यह Content ऑब्जेक्ट का ऐरे होता है.

contentString string

इस प्रॉपर्टी का इस्तेमाल, बातचीत के टर्न के कॉन्टेंट के लिए किया जाता है. एक स्ट्रिंग.

JSON के काेड में दिखाना
{
  "role": string,

  // content
  "contentList": {
    object (ContentList)
  },
  "contentString": string
  // Union type
}

StepList

चरणों की सूची.

Fields
steps[] object (Step)

सूची के चरण.

JSON के काेड में दिखाना
{
  "steps": [
    {
      object (Step)
    }
  ]
}

चरण

इंटरैक्शन का एक चरण.

फ़ील्ड
type Union type
type इनमें से सिर्फ़ एक हो सकता है:
thought object (ThoughtStep)
toolCall object (ToolCallStep)
toolResult object (ToolResultStep)
userInput object (UserInputStep)

इन्हें इस्तेमाल न करें -- ये सिर्फ़ तीसरे पक्ष के JSON के लिए हैं

modelOutput object (ModelOutputStep)
text
(deprecated)
object (LegacyTextContent)
image
(deprecated)
object (LegacyImageContent)
audio
(deprecated)
object (LegacyAudioContent)
document
(deprecated)
object (LegacyDocumentContent)
video
(deprecated)
object (LegacyVideoContent)
JSON के काेड में दिखाना
{

  // type
  "thought": {
    object (ThoughtStep)
  },
  "toolCall": {
    object (ToolCallStep)
  },
  "toolResult": {
    object (ToolResultStep)
  },
  "userInput": {
    object (UserInputStep)
  },
  "modelOutput": {
    object (ModelOutputStep)
  },
  "text": {
    object (LegacyTextContent)
  },
  "image": {
    object (LegacyImageContent)
  },
  "audio": {
    object (LegacyAudioContent)
  },
  "document": {
    object (LegacyDocumentContent)
  },
  "video": {
    object (LegacyVideoContent)
  }
  // Union type
}

ThoughtStep

जवाब तैयार करने का एक चरण.

Fields
signature string (bytes format)

बैकएंड की पुष्टि के लिए हस्ताक्षर हैश.

base64 कोड में बदली गई स्ट्रिंग.

summary[] object (Content)

विचार की खास जानकारी.

JSON के काेड में दिखाना
{
  "signature": string,
  "summary": [
    {
      object (Content)
    }
  ]
}

ToolCallStep

टूल कॉल का चरण.

Fields
id string

ज़रूरी है. इस टूल कॉल के लिए यूनीक आईडी.

signature string (bytes format)

बैकएंड की पुष्टि के लिए हस्ताक्षर हैश.

base64 कोड में बदली गई स्ट्रिंग.

type Union type
type इनमें से सिर्फ़ एक हो सकता है:
functionCall object (FunctionCallStep)
codeExecutionCall object (CodeExecutionCallStep)
urlContextCall object (UrlContextCallStep)
mcpServerToolCall object (McpServerToolCallStep)
googleSearchCall object (GoogleSearchCallStep)
fileSearchCall object (FileSearchCallStep)
googleMapsCall object (GoogleMapsCallStep)
retrievalCall object (RetrievalCallStep)
JSON के काेड में दिखाना
{
  "id": string,
  "signature": string,

  // type
  "functionCall": {
    object (FunctionCallStep)
  },
  "codeExecutionCall": {
    object (CodeExecutionCallStep)
  },
  "urlContextCall": {
    object (UrlContextCallStep)
  },
  "mcpServerToolCall": {
    object (McpServerToolCallStep)
  },
  "googleSearchCall": {
    object (GoogleSearchCallStep)
  },
  "fileSearchCall": {
    object (FileSearchCallStep)
  },
  "googleMapsCall": {
    object (GoogleMapsCallStep)
  },
  "retrievalCall": {
    object (RetrievalCallStep)
  }
  // Union type
}

FunctionCallStep

यह फ़ंक्शन टूल कॉल का चरण है.

Fields
name string

ज़रूरी है. कॉल किए जाने वाले टूल का नाम.

arguments object (Struct)

ज़रूरी है. फ़ंक्शन में पास किए जाने वाले आर्ग्युमेंट.

JSON के काेड में दिखाना
{
  "name": string,
  "arguments": {
    object (Struct)
  }
}

UrlContextCallStep

यूआरएल कॉन्टेक्स्ट कॉल चरण.

Fields
arguments object (UrlContextCallStepArguments)

ज़रूरी है. यूआरएल कॉन्टेक्स्ट में पास किए जाने वाले तर्क.

JSON के काेड में दिखाना
{
  "arguments": {
    object (UrlContextCallStepArguments)
  }
}

UrlContextCallStepArguments

यूआरएल कॉन्टेक्स्ट में पास किए जाने वाले तर्क.

Fields
urls[] string

फ़ेच किए जाने वाले यूआरएल.

JSON के काेड में दिखाना
{
  "urls": [
    string
  ]
}

McpServerToolCallStep

MCPServer टूल कॉल का चरण.

Fields
name string

ज़रूरी है. कॉल किए गए टूल का नाम.

serverName string

ज़रूरी है. इस्तेमाल किए गए एमसीपी सर्वर का नाम.

arguments object (Struct)

ज़रूरी है. फ़ंक्शन के लिए आर्ग्युमेंट का JSON ऑब्जेक्ट.

JSON के काेड में दिखाना
{
  "name": string,
  "serverName": string,
  "arguments": {
    object (Struct)
  }
}

GoogleSearchCallStep

Google Search कॉल स्टेप.

Fields
arguments object (GoogleSearchCallStepArguments)

ज़रूरी है. Google Search को पास किए जाने वाले आर्ग्युमेंट.

searchType enum (SearchType)

खोज के लिए इस्तेमाल किए गए डेटा का टाइप.

JSON के काेड में दिखाना
{
  "arguments": {
    object (GoogleSearchCallStepArguments)
  },
  "searchType": enum (SearchType)
}

GoogleSearchCallStepArguments

Google Search को पास किए जाने वाले आर्ग्युमेंट.

Fields
queries[] string

वेब खोज से जुड़ी क्वेरी, ताकि वेब खोज को फ़ॉलो अप किया जा सके.

JSON के काेड में दिखाना
{
  "queries": [
    string
  ]
}

FileSearchCallStep

इस टाइप में कोई फ़ील्ड नहीं है.

फ़ाइल खोजने के लिए कॉल करने का चरण.

GoogleMapsCallStep

Google Maps कॉल करने का चरण.

Fields
arguments object (GoogleMapsCallStepArguments)

Google Maps टूल को पास किए जाने वाले तर्क.

JSON के काेड में दिखाना
{
  "arguments": {
    object (GoogleMapsCallStepArguments)
  }
}

GoogleMapsCallStepArguments

Google Maps टूल को पास किए जाने वाले तर्क.

Fields
queries[] string

वे क्वेरी जिन्हें एक्ज़ीक्यूट करना है.

JSON के काेड में दिखाना
{
  "queries": [
    string
  ]
}

ToolResultStep

टूल के नतीजे का चरण.

Fields
callId string

ज़रूरी है. यह आईडी, फ़ंक्शन कॉल ब्लॉक के आईडी से मेल खाना चाहिए.

signature string (bytes format)

बैकएंड की पुष्टि के लिए हस्ताक्षर हैश.

base64 कोड में बदली गई स्ट्रिंग.

type Union type
type इनमें से सिर्फ़ एक हो सकता है:
functionResult object (FunctionResultStep)
codeExecutionResult object (CodeExecutionResultStep)
urlContextResult object (UrlContextResultStep)
googleSearchResult object (GoogleSearchResultStep)
mcpServerToolResult object (McpServerToolResultStep)
fileSearchResult object (FileSearchResultStep)
googleMapsResult object (GoogleMapsResultStep)
retrievalResult object (RetrievalResultStep)
JSON के काेड में दिखाना
{
  "callId": string,
  "signature": string,

  // type
  "functionResult": {
    object (FunctionResultStep)
  },
  "codeExecutionResult": {
    object (CodeExecutionResultStep)
  },
  "urlContextResult": {
    object (UrlContextResultStep)
  },
  "googleSearchResult": {
    object (GoogleSearchResultStep)
  },
  "mcpServerToolResult": {
    object (McpServerToolResultStep)
  },
  "fileSearchResult": {
    object (FileSearchResultStep)
  },
  "googleMapsResult": {
    object (GoogleMapsResultStep)
  },
  "retrievalResult": {
    object (RetrievalResultStep)
  }
  // Union type
}

FunctionResultStep

फ़ंक्शन टूल को कॉल करने का नतीजा.

Fields
name string

कॉल किए गए टूल का नाम.

isError boolean

टूल कॉल में कोई गड़बड़ी हुई है या नहीं.

result object (Value)

ज़रूरी है. टूल कॉल का नतीजा.

JSON के काेड में दिखाना
{
  "name": string,
  "isError": boolean,
  "result": {
    object (Value)
  }
}

UrlContextResultStep

यूआरएल कॉन्टेक्स्ट के नतीजे का चरण.

Fields
result[] object (UrlContextResultItem)

ज़रूरी है. यूआरएल के कॉन्टेक्स्ट के नतीजे.

isError boolean

इससे पता चलता है कि यूआरएल के कॉन्टेक्स्ट में कोई गड़बड़ी हुई है या नहीं.

JSON के काेड में दिखाना
{
  "result": [
    {
      object (UrlContextResultItem)
    }
  ],
  "isError": boolean
}

UrlContextResultItem

यूआरएल के कॉन्टेक्स्ट का नतीजा.

Fields
url string

फ़ेच किया गया यूआरएल.

status enum (Status)

यूआरएल को फिर से पाने का स्टेटस.

JSON के काेड में दिखाना
{
  "url": string,
  "status": enum (Status)
}

GoogleSearchResultStep

Google Search के नतीजे दिखाने वाला चरण.

Fields
result[] object (GoogleSearchResultItem)

ज़रूरी है. Google Search के नतीजे.

isError boolean

इससे पता चलता है कि Google Search में कोई गड़बड़ी हुई है या नहीं.

JSON के काेड में दिखाना
{
  "result": [
    {
      object (GoogleSearchResultItem)
    }
  ],
  "isError": boolean
}

GoogleSearchResultItem

Google Search से मिला नतीजा.

Fields
searchSuggestions string

यह वेब कॉन्टेंट स्निपेट होता है. इसे किसी वेब पेज या ऐप्लिकेशन के वेबव्यू में एम्बेड किया जा सकता है.

JSON के काेड में दिखाना
{
  "searchSuggestions": string
}

McpServerToolResultStep

MCPServer टूल के नतीजे का चरण.

Fields
name string

उस टूल का नाम जिसे इस टूल कॉल के लिए कॉल किया गया है.

serverName string

इस्तेमाल किए गए एमसीपी सर्वर का नाम.

result object (Value)

ज़रूरी है. एमसीपी सर्वर कॉल का आउटपुट. यह सामान्य टेक्स्ट या रिच कॉन्टेंट हो सकता है.

JSON के काेड में दिखाना
{
  "name": string,
  "serverName": string,
  "result": {
    object (Value)
  }
}

FileSearchResultStep

इस टाइप में कोई फ़ील्ड नहीं है.

फ़ाइल खोजने के नतीजे वाला चरण.

GoogleMapsResultStep

Google Maps के नतीजे का चरण.

Fields
result[] object (GoogleMapsResultItem)
JSON के काेड में दिखाना
{
  "result": [
    {
      object (GoogleMapsResultItem)
    }
  ]
}

GoogleMapsResultItem

Google Maps पर खोज के नतीजे.

Fields
places[] object (GoogleMapsResultPlaces)
widgetContextToken string
JSON के काेड में दिखाना
{
  "places": [
    {
      object (GoogleMapsResultPlaces)
    }
  ],
  "widgetContextToken": string
}

GoogleMapsResultPlaces

Fields
placeId string
name string
url string
reviewSnippets[] object (ReviewSnippet)
JSON के काेड में दिखाना
{
  "placeId": string,
  "name": string,
  "url": string,
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

UserInputStep

उपयोगकर्ता ने जो इनपुट दिया है.

फ़ील्ड
content Union type
content इनमें से सिर्फ़ एक हो सकता है:
contentList object (ContentList)

इस प्रॉपर्टी का इस्तेमाल, किसी चरण के कॉन्टेंट के लिए किया जाता है. Content ऑब्जेक्ट का कलेक्शन.

contentString string

इस प्रॉपर्टी का इस्तेमाल, किसी चरण के कॉन्टेंट के लिए किया जाता है. एक स्ट्रिंग.

JSON के काेड में दिखाना
{

  // content
  "contentList": {
    object (ContentList)
  },
  "contentString": string
  // Union type
}

ModelOutputStep

मॉडल से जनरेट किया गया आउटपुट.

Fields
content[] object (Content)
JSON के काेड में दिखाना
{
  "content": [
    {
      object (Content)
    }
  ]
}

ResponseFormatList

Fields
responseFormats[] object (ResponseFormat)
JSON के काेड में दिखाना
{
  "responseFormats": [
    {
      object (ResponseFormat)
    }
  ]
}

ResponseFormat

फ़ील्ड
type Union type
type इनमें से सिर्फ़ एक हो सकता है:
audio object (AudioResponseFormat)
text object (TextResponseFormat)
image object (ImageResponseFormat)
video object (VideoResponseFormat)
structValue object (Struct)

GAOS में मल्टी-डिसक्रिमिनेटर वैल्यू पहले से ही चालू है

JSON के काेड में दिखाना
{

  // type
  "audio": {
    object (AudioResponseFormat)
  },
  "text": {
    object (TextResponseFormat)
  },
  "image": {
    object (ImageResponseFormat)
  },
  "video": {
    object (VideoResponseFormat)
  },
  "structValue": {
    object (Struct)
  }
  // Union type
}

TextResponseFormat

टेक्स्ट आउटपुट फ़ॉर्मैट के लिए कॉन्फ़िगरेशन.

Fields
mimeType enum (MimeType)

टेक्स्ट आउटपुट का MIME टाइप.

schema object (Struct)

JSON स्कीमा, जिसके मुताबिक आउटपुट होना चाहिए. यह सिर्फ़ तब लागू होता है, जब mimeType application/json हो.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "schema": {
    object (Struct)
  }
}

ImageResponseFormat

इमेज के आउटपुट फ़ॉर्मैट के लिए कॉन्फ़िगरेशन.

Fields
mimeType enum (MimeType)

इमेज आउटपुट का एमआईएमई टाइप.

delivery enum (Delivery)

इमेज के आउटपुट के लिए डिलीवरी मोड.

aspectRatio enum (AspectRatio)

इमेज आउटपुट का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात).

imageSize enum (ImageSize)

इमेज आउटपुट का साइज़.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "delivery": enum (Delivery),
  "aspectRatio": enum (AspectRatio),
  "imageSize": enum (ImageSize)
}

VideoResponseFormat

वीडियो आउटपुट फ़ॉर्मैट के लिए कॉन्फ़िगरेशन.

Fields
delivery enum (Delivery)

वीडियो आउटपुट के लिए डिलीवरी मोड.

aspectRatio enum (AspectRatio)

वीडियो आउटपुट के लिए आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात).

duration string (Duration format)

वीडियो आउटपुट की अवधि.

सेकंड में अवधि, जिसमें नौ दशमलव अंक तक हो सकते हैं. इसके आखिर में 's' होता है. उदाहरण: "3.5s".

JSON के काेड में दिखाना
{
  "delivery": enum (Delivery),
  "aspectRatio": enum (AspectRatio),
  "duration": string
}

ModelInteraction

मॉडल का इस्तेमाल करके, जवाब जनरेट करने के लिए इंटरैक्शन.

Fields
model string

ऑटोमैटिक तरीके से पूरा होने की सुविधा जनरेट करने के लिए इस्तेमाल किए गए Model का नाम.

generationConfig object (GenerationConfig)

सिर्फ़ इनपुट के लिए. मॉडल इंटरैक्शन के लिए कॉन्फ़िगरेशन पैरामीटर.

JSON के काेड में दिखाना
{
  "model": string,
  "generationConfig": {
    object (GenerationConfig)
  }
}

GenerationConfig

मॉडल इंटरैक्शन के लिए कॉन्फ़िगरेशन पैरामीटर.

Fields
temperature number

इससे आउटपुट में रैंडमनेस को कंट्रोल किया जाता है.

topP number

सैंपलिंग करते समय, टोकन की ज़्यादा से ज़्यादा कुल संभावना पर विचार किया जाता है.

seed integer

डिकोडिंग में इस्तेमाल किया गया सीड, ताकि नतीजे को दोहराया जा सके.

stopSequences[] string

वर्णों के ऐसे क्रम की सूची जो आउटपुट इंटरैक्शन को रोक देगी.

thinkingLevel enum (ThinkingLevel)

मॉडल को कितने थॉट टोकन जनरेट करने चाहिए.

thinkingSummaries enum (ThinkingSummaries)

जवाब में सोच की खास जानकारी शामिल करनी है या नहीं.

maxOutputTokens integer

जवाब में शामिल किए जाने वाले टोकन की ज़्यादा से ज़्यादा संख्या.

speechConfig[] object (SpeechConfig)

बोलकर इंटरैक्ट करने की सुविधा के लिए कॉन्फ़िगरेशन.

imageConfig
(deprecated)
object (ImageConfig)

इमेज इंटरैक्शन के लिए कॉन्फ़िगरेशन.

videoConfig object (VideoConfig)

वीडियो जनरेट करने के लिए कॉन्फ़िगरेशन.

tool_choice Union type
टूल चुनने की सुविधा का कॉन्फ़िगरेशन. tool_choice इनमें से सिर्फ़ एक हो सकता है:
toolChoiceMode enum (ToolChoiceType)

टूल चुनने का मोड.

toolChoiceConfig object (ToolChoiceConfig)

टूल चुनने के लिए कॉन्फ़िगरेशन.

JSON के काेड में दिखाना
{
  "temperature": number,
  "topP": number,
  "seed": integer,
  "stopSequences": [
    string
  ],
  "thinkingLevel": enum (ThinkingLevel),
  "thinkingSummaries": enum (ThinkingSummaries),
  "maxOutputTokens": integer,
  "speechConfig": [
    {
      object (SpeechConfig)
    }
  ],
  "imageConfig": {
    object (ImageConfig)
  },
  "videoConfig": {
    object (VideoConfig)
  },

  // tool_choice
  "toolChoiceMode": enum (ToolChoiceType),
  "toolChoiceConfig": {
    object (ToolChoiceConfig)
  }
  // Union type
}

ToolChoiceConfig

टूल चुनने के लिए कॉन्फ़िगरेशन, जिसमें अनुमति वाले टूल शामिल हैं.

Fields
allowedTools object (AllowedTools)

अनुमति वाले टूल.

JSON के काेड में दिखाना
{
  "allowedTools": {
    object (AllowedTools)
  }
}

SpeechConfig

बोलकर इंटरैक्ट करने की सुविधा के लिए कॉन्फ़िगरेशन.

Fields
voice string

स्पीकर की आवाज़.

language string

बोले गए शब्दों की भाषा.

speaker string

वक्ता का नाम, यह प्रॉम्प्ट में दिए गए वक्ता के नाम से मेल खाना चाहिए.

JSON के काेड में दिखाना
{
  "voice": string,
  "language": string,
  "speaker": string
}

ImageConfig

इमेज इंटरैक्शन के लिए कॉन्फ़िगरेशन.

Fields
aspectRatio string

जनरेट की जाने वाली इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात). इस्तेमाल किए जा सकने वाले आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात): 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9.

अगर आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) नहीं बताया जाता है, तो मॉडल, दी गई किसी भी रेफ़रंस इमेज के आधार पर डिफ़ॉल्ट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) चुन लेगा.

imageSize string

इससे जनरेट की गई इमेज का साइज़ तय होता है. 1K, 2K, 4K वैल्यू इस्तेमाल की जा सकती हैं. अगर यह वैल्यू नहीं दी जाती है, तो मॉडल डिफ़ॉल्ट वैल्यू 1K का इस्तेमाल करेगा.

JSON के काेड में दिखाना
{
  "aspectRatio": string,
  "imageSize": string
}

VideoConfig

वीडियो जनरेट करने के लिए कॉन्फ़िगरेशन के विकल्प.

Fields
task enum (Task)

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

JSON के काेड में दिखाना
{
  "task": enum (Task)
}

EnvironmentConfig

कस्टम एनवायरमेंट के लिए कॉन्फ़िगरेशन.

Fields
sources[] object (Source)
environmentId string

ज़रूरी नहीं. इंटरैक्शन के लिए एनवायरमेंट आईडी. अगर यह जानकारी दी जाती है, तो अनुरोध के ज़रिए नया एनवायरमेंट बनाने के बजाय, मौजूदा एनवायरमेंट को अपडेट किया जाएगा.

network Union type
एनवायरमेंट के लिए नेटवर्क कॉन्फ़िगरेशन. network इनमें से सिर्फ़ एक हो सकता है:
networkAllowlist object (EnvironmentNetworkEgressAllowlist)

सिर्फ़ कुछ डोमेन को अनुमति दें.

networkMode enum (NetworkMode)

नेटवर्क इग्रेस मोड.

JSON के काेड में दिखाना
{
  "sources": [
    {
      object (Source)
    }
  ],
  "environmentId": string,

  // network
  "networkAllowlist": {
    object (EnvironmentNetworkEgressAllowlist)
  },
  "networkMode": enum (NetworkMode)
  // Union type
}

EnvironmentNetworkEgressAllowlist

एनवायरमेंट के लिए नेटवर्क इग्रेस कॉन्फ़िगरेशन.

Fields
allowlist[] object (EgressRule)

अनुमति वाले डोमेन और उनके कॉन्फ़िगरेशन की सूची.

JSON के काेड में दिखाना
{
  "allowlist": [
    {
      object (EgressRule)
    }
  ]
}

EgressRule

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

Fields
domain string

इस नियम के लिए, मैच करने वाला डोमेन पैटर्न. सभी डोमेन से मैच करने के लिए, सटीक होस्टनेम (जैसे, github.com), वाइल्डकार्ड प्रीफ़िक्स (जैसे, *.googleapis.com) या * का इस्तेमाल करें.

transform map (key: string, value: string)

इस नियम से मेल खाने वाले अनुरोधों में शामिल किए जाने वाले हेडर. कुंजी: हेडर का नाम (जैसे, "Authorization"). वैल्यू: हेडर की वैल्यू (जैसे, "Bearer your-token").

एक ऑब्जेक्ट, जिसमें "key": value जोड़े की सूची शामिल हो. उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

JSON के काेड में दिखाना
{
  "domain": string,
  "transform": {
    string: string,
    ...
  }
}

स्रोत

कोई ऐसा सोर्स जिसे एनवायरमेंट में माउंट किया जाना है.

Fields
type enum (Type)
source string

एनवायरमेंट का सोर्स. GCS के लिए, यह GCS पाथ होता है. GitHub के लिए, यह GitHub का पाथ होता है.

target string

सोर्स को एनवायरमेंट में कहां दिखना चाहिए.

content string

अगर type INLINE है, तो इनलाइन कॉन्टेंट.

encoding string

इनलाइन कॉन्टेंट (जैसे, base64) के लिए वैकल्पिक एन्कोडिंग.

JSON के काेड में दिखाना
{
  "type": enum (Type),
  "source": string,
  "target": string,
  "content": string,
  "encoding": string
}

LocalEnvironmentConfig

इस टाइप में कोई फ़ील्ड नहीं है.

यह क्लाइंट कनेक्शन पर मौजूद एनवायरमेंट के लिए कॉन्फ़िगरेशन होता है. यह सर्वर से मैनेज किए गए सैंडबॉक्स में मौजूद नहीं होता.

Interaction.local_environment के ज़रिए सेट किए जाने पर, एजेंट के फ़ाइल सिस्टम और शेल को क्लाइंट पर मौजूद माना जाता है: एजेंट के बिल्ट-इन एनवायरमेंट ऑपरेशन (जैसे, फ़ाइलें पढ़ना/सूची बनाना/बदलाव करना और कमांड चलाना) सर्वर पर निलंबित कर दिए जाते हैं.साथ ही, उन्हें क्लाइंट को वापस भेज दिया जाता है, ताकि वे उन्हें लागू कर सकें. इसके बाद, उनके नतीजे अगले टर्न में वापस भेज दिए जाते हैं. यह सर्वर से मैनेज किए गए EnvironmentConfig (remoteEnvironment) से अलग होता है, क्योंकि एनवायरमेंट या तो क्लाइंट पर होता है या सर्वर सैंडबॉक्स में होता है. दोनों में कभी नहीं होता.

यह सिर्फ़ एजेंट के बिल्ट-इन एनवायरमेंट को कंट्रोल करता है. क्लाइंट की ओर से तय किए गए फ़ंक्शन टूल, हमेशा क्लाइंट पर ही लागू होते हैं. इस फ़ील्ड से कोई फ़र्क़ नहीं पड़ता.

टूल

ऐसा टूल जिसका इस्तेमाल मॉडल कर सकता है.

फ़ील्ड
type Union type
इस्तेमाल किया जाने वाला टूल. type इनमें से सिर्फ़ एक हो सकता है:
function object (Function)

ऐसा फ़ंक्शन जिसका इस्तेमाल मॉडल कर सकता है.

codeExecution object (CodeExecution)

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, कोड को एक्ज़ीक्यूट करने के लिए कर सकता है.

urlContext object (UrlContext)

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, यूआरएल के कॉन्टेक्स्ट को फ़ेच करने के लिए कर सकता है.

computerUse object (ComputerUse)

यह टूल, मॉडल को सीधे तौर पर कंप्यूटर से इंटरैक्ट करने में मदद करता है.

mcpServer object (McpServer)

MCPServer एक ऐसा सर्वर होता है जिसे मॉडल, कार्रवाइयां करने के लिए कॉल कर सकता है.

googleMaps object (GoogleMaps)

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, Google Maps पर जानकारी खोजने के लिए कर सकता है.

retrieval object (Retrieval)

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, फ़ाइलों को वापस पाने के लिए कर सकता है.

JSON के काेड में दिखाना
{

  // type
  "function": {
    object (Function)
  },
  "codeExecution": {
    object (CodeExecution)
  },
  "urlContext": {
    object (UrlContext)
  },
  "computerUse": {
    object (ComputerUse)
  },
  "mcpServer": {
    object (McpServer)
  },
  "googleSearch": {
    object (GoogleSearch)
  },
  "fileSearch": {
    object (FileSearch)
  },
  "googleMaps": {
    object (GoogleMaps)
  },
  "retrieval": {
    object (Retrieval)
  }
  // Union type
}

फ़ंक्शन

ऐसा टूल जिसका इस्तेमाल मॉडल कर सकता है.

Fields
name string

फ़ंक्शन का नाम.

description string

फ़ंक्शन के बारे में जानकारी.

parameters object (Value)

फ़ंक्शन के पैरामीटर के लिए JSON स्कीमा.

JSON के काेड में दिखाना
{
  "name": string,
  "description": string,
  "parameters": {
    object (Value)
  }
}

UrlContext

इस टाइप में कोई फ़ील्ड नहीं है.

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, यूआरएल के कॉन्टेक्स्ट को फ़ेच करने के लिए कर सकता है.

McpServer

MCPServer एक ऐसा सर्वर होता है जिसे मॉडल, कार्रवाइयां करने के लिए कॉल कर सकता है.

Fields
name string

MCPServer का नाम.

url string

MCPServer एंडपॉइंट का पूरा यूआरएल. उदाहरण: "https://api.example.com/mcp"

headers map (key: string, value: string)

ज़रूरी नहीं: अगर ज़रूरी हो, तो पुष्टि करने वाले हेडर, टाइमआउट वगैरह के लिए फ़ील्ड.

एक ऑब्जेक्ट, जिसमें "key": value जोड़े की सूची शामिल हो. उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

allowedTools[] object (AllowedTools)

अनुमति वाले टूल.

JSON के काेड में दिखाना
{
  "name": string,
  "url": string,
  "headers": {
    string: string,
    ...
  },
  "allowedTools": [
    {
      object (AllowedTools)
    }
  ]
}

GoogleSearch

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, Google पर खोजने के लिए कर सकता है.

Fields
searchTypes[] enum (SearchType)

सर्च के आधार पर जवाब देने की सुविधा के टाइप चालू करने के लिए.

JSON के काेड में दिखाना
{
  "searchTypes": [
    enum (SearchType)
  ]
}

FileSearch

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, फ़ाइलों को खोजने के लिए कर सकता है.

Fields
fileSearchStoreNames[] string

यह फ़ाइल, खोजे जाने वाले स्टोर के नाम खोजती है.

topK integer

सेमैंटिक तरीके से खोजे गए कितने डेटा के हिस्से वापस पाने हैं.

metadataFilter string

सिमैंटिक तरीके से जानकारी पाने के लिए इस्तेमाल किए जाने वाले दस्तावेज़ों और चंक पर लागू करने के लिए मेटाडेटा फ़िल्टर.

JSON के काेड में दिखाना
{
  "fileSearchStoreNames": [
    string
  ],
  "topK": integer,
  "metadataFilter": string
}

GoogleMaps

यह एक ऐसा टूल है जिसका इस्तेमाल मॉडल, Google Maps को कॉल करने के लिए कर सकता है.

Fields
enableWidget boolean

जवाब में, टूल कॉल के नतीजे में विजेट कॉन्टेक्स्ट टोकन दिखाना है या नहीं.

latitude number

उपयोगकर्ता की जगह का अक्षांश.

longitude number

उपयोगकर्ता की जगह का देशांतर.

JSON के काेड में दिखाना
{
  "enableWidget": boolean,
  "latitude": number,
  "longitude": number
}

इस्तेमाल

इंटरैक्शन के अनुरोध में इस्तेमाल किए गए टोकन के बारे में आंकड़े.

Fields
totalInputTokens integer

प्रॉम्प्ट (कॉन्टेक्स्ट) में टोकन की संख्या.

inputTokensByModality[] object (ModalityTokens)

मोड के हिसाब से, इनपुट टोकन के इस्तेमाल की जानकारी.

totalCachedTokens integer

प्रॉम्प्ट के कैश मेमोरी में सेव किए गए हिस्से (कैश मेमोरी में सेव किया गया कॉन्टेंट) में मौजूद टोकन की संख्या.

cachedTokensByModality[] object (ModalityTokens)

मोड के हिसाब से, कैश मेमोरी में सेव किए गए टोकन के इस्तेमाल की जानकारी.

totalOutputTokens integer

जनरेट किए गए सभी जवाबों में मौजूद टोकन की कुल संख्या.

outputTokensByModality[] object (ModalityTokens)

मोड के हिसाब से, आउटपुट टोकन के इस्तेमाल की जानकारी.

totalToolUseTokens integer

टूल का इस्तेमाल करने के लिए दिए गए प्रॉम्प्ट में मौजूद टोकन की संख्या.

toolUseTokensByModality[] object (ModalityTokens)

मोड के हिसाब से, टूल इस्तेमाल करने के लिए टोकन के इस्तेमाल का ब्रेकडाउन.

totalThoughtTokens integer

सोचने वाले मॉडल के लिए, आइडिया के टोकन की संख्या.

totalTokens integer

इंटरैक्शन के अनुरोध के लिए टोकन की कुल संख्या (प्रॉम्प्ट + जवाब + अन्य इंटरनल टोकन).

groundingToolCount[] object (GroundingToolCount)

ग्राउंडिंग टूल की संख्या.

JSON के काेड में दिखाना
{
  "totalInputTokens": integer,
  "inputTokensByModality": [
    {
      object (ModalityTokens)
    }
  ],
  "totalCachedTokens": integer,
  "cachedTokensByModality": [
    {
      object (ModalityTokens)
    }
  ],
  "totalOutputTokens": integer,
  "outputTokensByModality": [
    {
      object (ModalityTokens)
    }
  ],
  "totalToolUseTokens": integer,
  "toolUseTokensByModality": [
    {
      object (ModalityTokens)
    }
  ],
  "totalThoughtTokens": integer,
  "totalTokens": integer,
  "groundingToolCount": [
    {
      object (GroundingToolCount)
    }
  ]
}

ModalityTokens

जवाब देने के एक तरीके के लिए टोकन की गिनती.

Fields
modality enum (ResponseModality)

टोकन की गिनती से जुड़ी मोडेलिटी.

tokens integer

मोड के लिए टोकन की संख्या.

JSON के काेड में दिखाना
{
  "modality": enum (ResponseModality),
  "tokens": integer
}

GroundingToolCount

ग्राउंडिंग टूल की गिनती की संख्या.

Fields
type enum (Type)

गिनती से जुड़ा ग्राउंडिंग टूल टाइप.

count integer

ग्राउंडिंग टूल की गिनती की संख्या.

JSON के काेड में दिखाना
{
  "type": enum (Type),
  "count": integer
}

WebhookConfig

अनुरोध के लिए वेबहुक इवेंट कॉन्फ़िगर करने का मैसेज.

Fields
uris[] string

ज़रूरी नहीं. अगर ये यूआरआई सेट किए जाते हैं, तो इनका इस्तेमाल वेबहुक इवेंट के लिए किया जाएगा. इसके बजाय, रजिस्टर किए गए वेबहुक का इस्तेमाल किया जाएगा.

userMetadata object (Struct format)

ज़रूरी नहीं. उपयोगकर्ता का वह मेटाडेटा जो वेबुक को हर इवेंट के लिए भेजा जाएगा.

JSON के काेड में दिखाना
{
  "uris": [
    string
  ],
  "userMetadata": {
    object
  }
}

SafetySetting

सुरक्षा सेटिंग, जो सुरक्षा से जुड़ी पाबंदी के तरीके पर असर डालती है.

[SafetySetting][google.cloud.aiplatform.master.SafetySetting] में, नुकसान की [कैटेगरी][google.cloud.aiplatform.master.SafetySetting.category] और उस कैटेगरी के लिए [थ्रेशोल्ड][google.cloud.aiplatform.master.SafetySetting.threshold] शामिल होता है.

Fields
type enum (HarmCategory)

ज़रूरी है. नुकसान पहुंचाने वाली कैटगरी का वह टाइप जिसे ब्लॉक करना है.

threshold enum (HarmBlockThreshold)

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

method enum (HarmBlockMethod)

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

JSON के काेड में दिखाना
{
  "type": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold),
  "method": enum (HarmBlockMethod)
}

डिलीवरी

ऑडियो डिवाइस के लिए डिलीवरी मोड.

Enums
DELIVERY_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
INLINE जवाब में ऑडियो डेटा को इनलाइन दिखाया जाता है.
URI ऑडियो डेटा को यूआरआई के तौर पर दिखाया जाता है.

परिवेश

यह उस एनवायरमेंट को दिखाता है जिसमें कार्रवाई की जा रही है. जैसे, वेब ब्राउज़र.

Enums
ENVIRONMENT_UNSPECIFIED डिफ़ॉल्ट रूप से, यह ब्राउज़र पर सेट होता है.
BROWSER यह वेब ब्राउज़र में काम करता है.
MOBILE यह मोबाइल पर काम करता है.
DESKTOP यह डेस्कटॉप एनवायरमेंट में काम करता है.

HarmBlockMethod

कॉन्टेंट को ब्लॉक करने का तरीका.

Enums
HARM_BLOCK_METHOD_UNSPECIFIED नुकसान पहुंचाने वाले कॉन्टेंट को ब्लॉक करने का तरीका नहीं बताया गया है.
SEVERITY नुकसान पहुंचाने वाले कॉन्टेंट को ब्लॉक करने के तरीके में, संभावना और गंभीरता, दोनों के स्कोर का इस्तेमाल किया जाता है.
PROBABILITY नुकसान पहुंचाने वाले कॉन्टेंट को ब्लॉक करने के तरीके में, संभावना के स्कोर का इस्तेमाल किया जाता है.

HarmBlockThreshold

नुकसान पहुंचने की संभावना के आधार पर, कॉन्टेंट को ब्लॉक करने के थ्रेशोल्ड.

Enums
HARM_BLOCK_THRESHOLD_UNSPECIFIED नुकसान पहुंचाने वाले कॉन्टेंट को ब्लॉक करने के थ्रेशोल्ड की जानकारी नहीं दी गई है.
BLOCK_LOW_AND_ABOVE ऐसे कॉन्टेंट को ब्लॉक करें जिससे नुकसान होने की संभावना कम या ज़्यादा हो.
BLOCK_MEDIUM_AND_ABOVE नुकसान पहुंचाने की मध्यम या इससे ज़्यादा संभावना वाले कॉन्टेंट को ब्लॉक करें.
BLOCK_ONLY_HIGH ऐसे कॉन्टेंट को ब्लॉक करें जिससे नुकसान होने की संभावना ज़्यादा हो.
BLOCK_NONE किसी भी कॉन्टेंट को ब्लॉक न करें, भले ही उससे नुकसान होने की संभावना कितनी भी हो.
OFF सुरक्षा फ़िल्टर को पूरी तरह से बंद करें.

ImageSize

इमेज आउटपुट के लिए, इमेज के साइज़ काम करते हैं.

Enums
IMAGE_SIZE_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
IMAGE_SIZE_FIVE_TWELVE इमेज का साइज़ 512 पिक्सल होना चाहिए.
IMAGE_SIZE_ONE_K इमेज का साइज़ 1K होना चाहिए.
IMAGE_SIZE_TWO_K इमेज का साइज़ 2K होना चाहिए.
IMAGE_SIZE_FOUR_K 4K इमेज का साइज़.

भाषा

जनरेट किए गए कोड के लिए, प्रोग्रामिंग की सुविधा देने वाली भाषाएँ.

Enums
LANGUAGE_UNSPECIFIED भाषा के बारे में जानकारी उपलब्ध नहीं है. इस वैल्यू का इस्तेमाल नहीं किया जाना चाहिए.
PYTHON Python >= 3.10, जिसमें numpy और simpy उपलब्ध हों.

MediaResolution

इनपुट मीडिया (इमेज/वीडियो) का रिज़ॉल्यूशन.

Enums
MEDIA_RESOLUTION_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
LOW कम रिज़ॉल्यूशन वाली इमेज.
MEDIUM मीडियम रिज़ॉल्यूशन.
HIGH हाई रिज़ॉल्यूशन.
ULTRA_HIGH अल्ट्रा हाई रिज़ॉल्यूशन.

MimeType

Enums
TYPE_UNSPECIFIED
TYPE_WAV WAV ऑडियो फ़ॉर्मैट
TYPE_MP3 MP3 ऑडियो फ़ॉर्मैट
TYPE_AIFF AIFF ऑडियो फ़ॉर्मैट
TYPE_AAC एएसी ऑडियो फ़ॉर्मैट
TYPE_OGG OGG ऑडियो फ़ॉर्मैट
TYPE_FLAC FLAC ऑडियो फ़ॉर्मैट
TYPE_MPEG MPEG ऑडियो फ़ॉर्मैट
TYPE_M4A M4A ऑडियो फ़ॉर्मैट
TYPE_L16 L16 ऑडियो फ़ॉर्मैट
TYPE_OPUS OPUS ऑडियो फ़ॉर्मैट
TYPE_ALAW ALAW ऑडियो फ़ॉर्मैट
TYPE_MULAW MULAW ऑडियो फ़ॉर्मैट

मोड

इससे, 'मिलान करने वाले सेशन ढूंढें' सुविधा की गहराई और पूरी जानकारी तय की जाती है.

Enums
MODE_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
MODE_SCAN सिर्फ़ शुरुआती क्लासिफ़ायर का इस्तेमाल करके तेज़ी से स्कैन करना.
MODE_VERIFY यह क्लासिफ़िकेशन करता है और उसके बाद पूरी जांच करता है.

NetworkMode

अनुमति वाली सूची में शामिल नहीं किए गए कॉन्फ़िगरेशन के लिए, नेटवर्क से बाहर निकलने का मोड.

Enums
NETWORK_MODE_UNSPECIFIED डिफ़ॉल्ट मान. इस्तेमाल नहीं किया गया.
DISABLED नेटवर्क से बाहर जाने वाले सभी कनेक्शन ब्लॉक कर दिए जाते हैं.

ResponseModality

जवाब देने का तरीका.

Enums
RESPONSE_MODALITY_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
TEXT इससे पता चलता है कि मॉडल को टेक्स्ट दिखाना चाहिए.
IMAGE इससे पता चलता है कि मॉडल को इमेज दिखानी चाहिए.
AUDIO इससे पता चलता है कि मॉडल को ऑडियो जवाब देना चाहिए.
VIDEO इससे पता चलता है कि मॉडल को वीडियो दिखाना चाहिए.
DOCUMENT इससे पता चलता है कि मॉडल को दस्तावेज़ों को वापस लाना चाहिए.

ReviewSnippet

इसमें उपयोगकर्ता की समीक्षा का एक स्निपेट शामिल होता है. यह Google Maps में किसी जगह की सुविधाओं के बारे में पूछे गए सवाल का जवाब देता है.

Fields
title string

समीक्षा का टाइटल.

url string

यह Google Maps पर मौजूद उपयोगकर्ता की समीक्षा से जुड़ा लिंक होता है.

reviewId string

समीक्षा की झलक का आईडी.

JSON के काेड में दिखाना
{
  "title": string,
  "url": string,
  "reviewId": string
}

SafetyPolicy

Enums
SAFETY_POLICY_UNSPECIFIED सुरक्षा नीति के बारे में जानकारी नहीं दी गई है.
FINANCIAL_TRANSACTIONS वित्तीय लेन-देन के लिए सुरक्षा नीति.
SENSITIVE_DATA_MODIFICATION संवेदनशील डेटा में बदलाव करने से जुड़ी सुरक्षा नीति.
COMMUNICATION_TOOL बातचीत करने के टूल (जैसे, Gmail, Chat, Meet) के लिए सुरक्षा से जुड़ी नीति.
ACCOUNT_CREATION खाता बनाने के लिए सुरक्षा नीति.
DATA_MODIFICATION डेटा में बदलाव करने से जुड़ी सुरक्षा नीति.
LEGAL_TERMS_AND_AGREEMENTS कानूनी शर्तों और समझौतों के लिए सुरक्षा नीति.

स्कीमा

Schema ऑब्जेक्ट की मदद से, इनपुट और आउटपुट डेटा टाइप तय किए जा सकते हैं. ये टाइप ऑब्जेक्ट के साथ-साथ प्रिमिटिव और ऐरे भी हो सकते हैं. यह OpenAPI 3.0 स्कीमा ऑब्जेक्ट के चुने गए सबसेट को दिखाता है.

Fields
type enum (Type)

ज़रूरी है. डेटा टाइप.

format string

ज़रूरी नहीं. डेटा का फ़ॉर्मैट. कोई भी वैल्यू इस्तेमाल की जा सकती है. हालांकि, ज़्यादातर वैल्यू से कोई खास सुविधा ट्रिगर नहीं होती.

title string

ज़रूरी नहीं. स्कीमा का टाइटल.

description string

ज़रूरी नहीं. पैरामीटर के बारे में कम शब्दों में जानकारी. इसमें इस्तेमाल के उदाहरण हो सकते हैं. पैरामीटर के ब्यौरे को Markdown के तौर पर फ़ॉर्मैट किया जा सकता है.

nullable boolean

ज़रूरी नहीं. इससे पता चलता है कि वैल्यू शून्य हो सकती है या नहीं.

enum[] string

ज़रूरी नहीं. enum फ़ॉर्मैट वाले Type.STRING के एलिमेंट की संभावित वैल्यू. उदाहरण के लिए, हम Enum Direction को इस तरह से तय कर सकते हैं : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}

maxItems string (int64 format)

ज़रूरी नहीं. Type.ARRAY के लिए, एलिमेंट की ज़्यादा से ज़्यादा संख्या.

minItems string (int64 format)

ज़रूरी नहीं. Type.ARRAY के लिए एलिमेंट की कम से कम संख्या.

properties map (key: string, value: object (Schema))

ज़रूरी नहीं. Type.OBJECT की प्रॉपर्टी.

एक ऑब्जेक्ट, जिसमें "key": value जोड़े की सूची शामिल हो. उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[] string

ज़रूरी नहीं. Type.OBJECT की ज़रूरी प्रॉपर्टी.

minProperties string (int64 format)

ज़रूरी नहीं. Type.OBJECT के लिए प्रॉपर्टी की कम से कम संख्या.

maxProperties string (int64 format)

ज़रूरी नहीं. Type.OBJECT के लिए प्रॉपर्टी की ज़्यादा से ज़्यादा संख्या.

minLength string (int64 format)

ज़रूरी नहीं. टाइप.STRING के लिए स्कीमा फ़ील्ड. टाइप.STRING की कम से कम लंबाई

maxLength string (int64 format)

ज़रूरी नहीं. Type.STRING की ज़्यादा से ज़्यादा लंबाई

pattern string

ज़रूरी नहीं. Type.STRING का पैटर्न, ताकि किसी स्ट्रिंग को रेगुलर एक्सप्रेशन तक सीमित किया जा सके.

example value (Value format)

ज़रूरी नहीं. ऑब्जेक्ट का उदाहरण. यह सिर्फ़ तब दिखेगा, जब ऑब्जेक्ट रूट हो.

anyOf[] object (Schema)

ज़रूरी नहीं. वैल्यू की पुष्टि, सूची में मौजूद किसी भी (एक या उससे ज़्यादा) सबस्कीमा के हिसाब से की जानी चाहिए.

propertyOrdering[] string

ज़रूरी नहीं. प्रॉपर्टी का क्रम. यह ओपन एपीआई स्पेसिफ़िकेशन में स्टैंडर्ड फ़ील्ड नहीं है. इसका इस्तेमाल, रिस्पॉन्स में प्रॉपर्टी के क्रम का पता लगाने के लिए किया जाता है.

default value (Value format)

ज़रूरी नहीं. फ़ील्ड की डिफ़ॉल्ट वैल्यू. JSON स्कीमा के मुताबिक, इस फ़ील्ड का इस्तेमाल दस्तावेज़ जनरेट करने वाले टूल के लिए किया जाता है. इससे पुष्टि करने की प्रोसेस पर कोई असर नहीं पड़ता. इसलिए, इसे यहां शामिल किया गया है और अनदेखा किया गया है, ताकि default फ़ील्ड वाले स्कीमा भेजने वाले डेवलपर को unknown-field से जुड़ी गड़बड़ियां न मिलें.

items object (Schema)

ज़रूरी नहीं. Type.ARRAY के एलिमेंट का स्कीमा.

minimum number

ज़रूरी नहीं. टाइप INTEGER और NUMBER के लिए स्कीमा फ़ील्ड, Type.INTEGER और Type.NUMBER की कम से कम वैल्यू

maximum number

ज़रूरी नहीं. Type.INTEGER और Type.NUMBER की ज़्यादा से ज़्यादा वैल्यू

JSON के काेड में दिखाना
{
  "type": enum (Type),
  "format": string,
  "title": string,
  "description": string,
  "nullable": boolean,
  "enum": [
    string
  ],
  "maxItems": string,
  "minItems": string,
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "minProperties": string,
  "maxProperties": string,
  "minLength": string,
  "maxLength": string,
  "pattern": string,
  "example": value,
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "propertyOrdering": [
    string
  ],
  "default": value,
  "items": {
    object (Schema)
  },
  "minimum": number,
  "maximum": number
}

टाइप

टाइप में, OpenAPI के डेटा टाइप की सूची होती है. इसे https://spec.openapis.org/oas/v3.0.3#data-types में तय किया गया है

Enums
TYPE_UNSPECIFIED यह तय नहीं किया गया है. इसका इस्तेमाल नहीं किया जाना चाहिए.
STRING स्ट्रिंग टाइप.
NUMBER नंबर टाइप.
INTEGER पूर्णांक टाइप.
BOOLEAN बूलियन टाइप.
ARRAY ऐरे टाइप.
OBJECT ऑब्जेक्ट का टाइप.
NULL शून्य प्रकार.

खोज-प्रकार

सर्च के आधार पर जवाब देने की सुविधा के टाइप चालू करने के लिए.

Enums
SEARCH_TYPE_UNSPECIFIED खोज के टाइप की जानकारी नहीं दी गई है. इस वैल्यू का इस्तेमाल नहीं किया जाना चाहिए.

स्ट्रक्ट

Struct, स्ट्रक्चर्ड डेटा वैल्यू को दिखाता है. इसमें ऐसे फ़ील्ड होते हैं जो डाइनैमिक टाइप की गई वैल्यू पर मैप करते हैं.

Fields
fields[] object (Field)

डाइनैमिक टाइप वाले फ़ील्ड. मैप के बजाय सूची, क्योंकि एलएलएम को क्रम से जानकारी देने की ज़रूरत होती है. साथ ही, हम उपयोगकर्ताओं को पूरा कंट्रोल देना चाहते हैं.

JSON के काेड में दिखाना
{
  "fields": [
    {
      object (Field)
    }
  ]
}

फ़ील्ड

यह स्ट्रक्चर में मौजूद किसी एक फ़ील्ड को दिखाता है.

Fields
name string
value object (Value)
JSON के काेड में दिखाना
{
  "name": string,
  "value": {
    object (Value)
  }
}

टास्क

वीडियो जनरेट करने के लिए उपलब्ध टास्क.

Enums
TASK_UNSPECIFIED टास्क के बारे में जानकारी नहीं दी गई है. टास्क का अनुमान, इनपुट प्रॉम्प्ट और मीडिया से लगाया जाता है.
TEXT_TO_VIDEO यह सिर्फ़ टेक्स्ट प्रॉम्प्ट की मदद से वीडियो जनरेट करता है.
IMAGE_TO_VIDEO यह एक या दो सोर्स इमेज से वीडियो जनरेट करता है. पहली इमेज से शुरुआती फ़्रेम तय होता है. वहीं, दूसरी इमेज से आखिरी फ़्रेम तय होता है. हालांकि, दूसरी इमेज देना ज़रूरी नहीं है.
REFERENCE_TO_VIDEO रेफ़रंस मीडिया (जैसे कि इमेज, ऑडियो या वीडियो) का इस्तेमाल करके वीडियो जनरेट करता है.
EDIT यह मौजूदा इनपुट वीडियो में बदलाव करता है.

ThinkingLevel

मॉडल को कितने थॉट टोकन जनरेट करने चाहिए.

Enums
THINKING_LEVEL_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
THINKING_LEVEL_MINIMAL कम या बिलकुल भी नहीं सोचना.
THINKING_LEVEL_LOW सोचने-समझने का लेवल कम है.
THINKING_LEVEL_MEDIUM एआई के गहराई से विचार करने का लेवल मीडियम पर सेट है.
THINKING_LEVEL_HIGH सोचने-समझने का लेवल ज़्यादा हो.

ThinkingSummaries

जवाब में सोच की खास जानकारी शामिल करनी है या नहीं.

Enums
THINKING_SUMMARIES_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
THINKING_SUMMARIES_AUTO ऑटो गहराई से विचार करके खास जानकारी जनरेट करने की सुविधा.
THINKING_SUMMARIES_NONE सूझ-बूझ से बनाई गई खास जानकारी नहीं दी गई.

टूल

टूल की वह जानकारी जिसका इस्तेमाल मॉडल, जवाब जनरेट करने के लिए कर सकता है.

Tool एक ऐसा कोड होता है जो सिस्टम को बाहरी सिस्टम के साथ इंटरैक्ट करने की अनुमति देता है. इससे सिस्टम, मॉडल की जानकारी और दायरे से बाहर कोई कार्रवाई या कार्रवाइयों का सेट कर पाता है.

अगला आईडी: 16

Fields
functionDeclarations[] object (FunctionDeclaration)

ज़रूरी नहीं. मॉडल के लिए उपलब्ध FunctionDeclarations की सूची, जिसका इस्तेमाल फ़ंक्शन कॉल करने के लिए किया जा सकता है.

मॉडल या सिस्टम, फ़ंक्शन को पूरा नहीं करता है. इसके बजाय, तय किए गए फ़ंक्शन को क्लाइंट साइड पर FunctionCall के तौर पर दिखाया जा सकता है, ताकि क्लाइंट साइड पर इसे लागू किया जा सके. मॉडल, जवाब में FunctionCall को पॉप्युलेट करके, इन फ़ंक्शन के सबसेट को कॉल करने का फ़ैसला कर सकता है. बातचीत के अगले टर्न में, अगले मॉडल टर्न के लिए Content.role "फ़ंक्शन" जनरेशन कॉन्टेक्स्ट के साथ FunctionResponse शामिल हो सकता है.

googleSearchRetrieval object (GoogleSearchRetrieval)

ज़रूरी नहीं. यह जानकारी वापस पाने का टूल है, जो Google Search की मदद से काम करता है.

codeExecution object (CodeExecution)

ज़रूरी नहीं. इस सुविधा की मदद से, मॉडल जनरेट करने के दौरान कोड को लागू कर पाता है.

computerUse object (ComputerUse)

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

urlContext object (UrlContext)

ज़रूरी नहीं. यह कुकी, यूआरएल के कॉन्टेक्स्ट को वापस पाने में मदद करती है.

mcpServers[] object (McpServer)

ज़रूरी नहीं. कनेक्ट करने के लिए एमसीपी सर्वर.

googleMaps object (GoogleMaps)

ज़रूरी नहीं. यह एक ऐसा टूल है जो उपयोगकर्ता की क्वेरी से जुड़े भू-स्थानिक कॉन्टेक्स्ट के आधार पर, मॉडल के जवाब को बेहतर बनाता है.

JSON के काेड में दिखाना
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ],
  "googleSearchRetrieval": {
    object (GoogleSearchRetrieval)
  },
  "codeExecution": {
    object (CodeExecution)
  },
  "googleSearch": {
    object (GoogleSearch)
  },
  "computerUse": {
    object (ComputerUse)
  },
  "urlContext": {
    object (UrlContext)
  },
  "fileSearch": {
    object (FileSearch)
  },
  "mcpServers": [
    {
      object (McpServer)
    }
  ],
  "googleMaps": {
    object (GoogleMaps)
  }
}

FunctionDeclaration

OpenAPI 3.03 स्पेसिफ़िकेशन के मुताबिक, फ़ंक्शन के एलान का स्ट्रक्चर्ड प्रज़ेंटेशन. इस एलान में, फ़ंक्शन का नाम और पैरामीटर शामिल होते हैं. यह FunctionDeclaration, कोड के एक ब्लॉक का प्रतिनिधित्व करता है. इसका इस्तेमाल मॉडल Tool के तौर पर कर सकता है. साथ ही, इसे क्लाइंट एक्ज़ीक्यूट कर सकता है.

Fields
name string

ज़रूरी है. फ़ंक्शन का नाम. यह a-z, A-Z, 0-9 होना चाहिए. इसके अलावा, इसमें अंडरस्कोर, कोलन, बिंदु, और डैश शामिल हो सकते हैं. इसकी लंबाई ज़्यादा से ज़्यादा 128 होनी चाहिए.

description string

ज़रूरी है. फ़ंक्शन के बारे में कम शब्दों में जानकारी.

behavior enum (Behavior)

ज़रूरी नहीं. इससे फ़ंक्शन के व्यवहार के बारे में पता चलता है. फ़िलहाल, यह सिर्फ़ BidiGenerateContent तरीके के साथ काम करता है.

parameters object (Schema)

ज़रूरी नहीं. इस फ़ंक्शन के पैरामीटर के बारे में बताता है. यह Open API 3.03 पैरामीटर ऑब्जेक्ट स्ट्रिंग कुंजी को दिखाता है: पैरामीटर का नाम. पैरामीटर के नाम केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होते हैं. स्कीमा वैल्यू: यह पैरामीटर के लिए इस्तेमाल किए गए टाइप को तय करने वाला स्कीमा है.

parametersJsonSchema value (Value format)

ज़रूरी नहीं. JSON स्कीमा फ़ॉर्मैट में, फ़ंक्शन के पैरामीटर के बारे में बताता है. स्कीमा में ऐसे ऑब्जेक्ट के बारे में बताया जाना चाहिए जिसकी प्रॉपर्टी, फ़ंक्शन के पैरामीटर हों. उदाहरण के लिए:

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "integer" }
  },
  "additionalProperties": false,
  "required": ["name", "age"],
  "propertyOrdering": ["name", "age"]
}

यह फ़ील्ड, parameters के साथ काम नहीं करता.

response object (Schema)

ज़रूरी नहीं. इस फ़ंक्शन के आउटपुट के बारे में JSON स्कीमा फ़ॉर्मैट में बताता है. यह Open API 3.03 रिस्पॉन्स ऑब्जेक्ट को दिखाता है. स्कीमा, फ़ंक्शन की रिस्पॉन्स वैल्यू के लिए इस्तेमाल किए गए टाइप को तय करता है.

responseJsonSchema value (Value format)

ज़रूरी नहीं. इस फ़ंक्शन के आउटपुट के बारे में JSON स्कीमा फ़ॉर्मैट में बताता है. स्कीमा में दी गई वैल्यू, फ़ंक्शन की रिस्पॉन्स वैल्यू होती है.

यह फ़ील्ड, response के साथ काम नहीं करता.

JSON के काेड में दिखाना
{
  "name": string,
  "description": string,
  "behavior": enum (Behavior),
  "parameters": {
    object (Schema)
  },
  "parametersJsonSchema": value,
  "response": {
    object (Schema)
  },
  "responseJsonSchema": value
}

व्यवहार

इससे फ़ंक्शन के व्यवहार के बारे में पता चलता है. डिफ़ॉल्ट रूप से, यह BLOCKING पर सेट होता है.

Enums
UNSPECIFIED इस वैल्यू का इस्तेमाल नहीं किया गया है.
BLOCKING अगर यह सेट है, तो सिस्टम बातचीत जारी रखने से पहले, फ़ंक्शन के जवाब का इंतज़ार करेगा.
NON_BLOCKING अगर यह विकल्प सेट किया जाता है, तो सिस्टम फ़ंक्शन के जवाब का इंतज़ार नहीं करेगा. इसके बजाय, यह फ़ंक्शन के जवाबों को तब तक हैंडल करने की कोशिश करेगा, जब तक वे उपलब्ध नहीं हो जाते. साथ ही, यह उपयोगकर्ता और मॉडल के बीच बातचीत को जारी रखेगा.

GoogleSearchRetrieval

यह टूल, Google की मदद से तैयार किया गया है. यह सार्वजनिक वेब डेटा को वापस पाने के लिए इस्तेमाल किया जाता है, ताकि जवाब को ज़्यादा भरोसेमंद बनाया जा सके.

Fields
dynamicRetrievalConfig object (DynamicRetrievalConfig)

इससे दिए गए सोर्स के लिए, डाइनैमिक तरीके से डेटा पाने का कॉन्फ़िगरेशन तय किया जाता है.

JSON के काेड में दिखाना
{
  "dynamicRetrievalConfig": {
    object (DynamicRetrievalConfig)
  }
}

DynamicRetrievalConfig

इस कुकी में, डाइनैमिक तौर पर डेटा पाने की सुविधा को पसंद के मुताबिक बनाने के विकल्पों के बारे में बताया गया है.

Fields
mode enum (Mode)

डाइनैमिक तौर पर डेटा पाने के लिए, अनुमान लगाने वाले टूल का इस्तेमाल किया जाता है.

dynamicThreshold number

डाइनैमिक तौर पर डेटा पाने के लिए इस्तेमाल किया जाने वाला थ्रेशोल्ड. अगर यह सेट नहीं है, तो सिस्टम की डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है.

JSON के काेड में दिखाना
{
  "mode": enum (Mode),
  "dynamicThreshold": number
}

मोड

डाइनैमिक तौर पर डेटा पाने के लिए, अनुमान लगाने वाले टूल का इस्तेमाल किया जाता है.

Enums
MODE_UNSPECIFIED हमेशा डेटा वापस पाने की प्रोसेस शुरू करें.
MODE_DYNAMIC सिर्फ़ तब डेटा वापस पाएं, जब सिस्टम को लगे कि ऐसा करना ज़रूरी है.

CodeExecution

इस टाइप में कोई फ़ील्ड नहीं है.

यह एक ऐसा टूल है जो मॉडल से जनरेट किए गए कोड को लागू करता है. साथ ही, मॉडल को अपने-आप नतीजे दिखाता है.

ExecutableCode और CodeExecutionResult भी देखें. ये सिर्फ़ इस टूल का इस्तेमाल करने पर जनरेट होते हैं.

GoogleSearch

GoogleSearch टूल का टाइप. मॉडल में Google Search की सुविधा देने वाला टूल. Google की ओर से उपलब्ध कराया गया.

Fields
timeRangeFilter object (Interval)

ज़रूरी नहीं. खोज के नतीजों को किसी खास समयसीमा के हिसाब से फ़िल्टर करें. अगर खरीदार शुरू होने का समय सेट करते हैं, तो उन्हें खत्म होने का समय भी सेट करना होगा. इसके उलट, अगर वे खत्म होने का समय सेट करते हैं, तो उन्हें शुरू होने का समय भी सेट करना होगा.

searchTypes object (SearchTypes)

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

JSON के काेड में दिखाना
{
  "timeRangeFilter": {
    object (Interval)
  },
  "searchTypes": {
    object (SearchTypes)
  }
}

इंटरवल

यह टाइम इंटरवल को दिखाता है. इसे टाइमस्टैंप के तौर पर कोड किया जाता है. इसमें टाइमस्टैंप के शुरू होने का समय (शामिल है) और टाइमस्टैंप के खत्म होने का समय (शामिल नहीं है) होता है.

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

Fields
startTime string (Timestamp format)

ज़रूरी नहीं. समय अंतराल शुरू होने का समय शामिल है.

अगर इस इंटरवल के हिसाब से कोई टाइमस्टैंप दिया गया है, तो वह शुरू होने के समय के बराबर या उसके बाद का होना चाहिए.

यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

endTime string (Timestamp format)

ज़रूरी नहीं. इंटरवल खत्म होने का समय (अलग से उपलब्ध).

अगर यह तय किया गया है, तो इस इंटरवल से मेल खाने वाला टाइमस्टैंप, खत्म होने के समय से पहले का होना चाहिए.

यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

JSON के काेड में दिखाना
{
  "startTime": string,
  "endTime": string
}

SearchTypes

GoogleSearch टूल पर अलग-अलग तरह की खोजें चालू की जा सकती हैं.

Fields
JSON के काेड में दिखाना
{
  "webSearch": {
    object (WebSearch)
  },
  "imageSearch": {
    object (ImageSearch)
  }
}

WebSearch

इस टाइप में कोई फ़ील्ड नहीं है.

ग्राउंडिंग और उससे जुड़े कॉन्फ़िगरेशन के लिए, स्टैंडर्ड वेब खोज.

ImageSearch

इस टाइप में कोई फ़ील्ड नहीं है.

ग्राउंडिंग और उससे जुड़े कॉन्फ़िगरेशन के लिए इमेज खोज.

ComputerUse

कंप्यूटर के इस्तेमाल से जुड़ा टूल टाइप.

Fields
environment enum (Environment)

ज़रूरी है. जिस एनवायरमेंट में काम किया जा रहा है.

excludedPredefinedFunctions[] string

ज़रूरी नहीं. डिफ़ॉल्ट रूप से, पहले से तय किए गए फ़ंक्शन को फ़ाइनल मॉडल कॉल में शामिल किया जाता है. इनमें से कुछ को, अपने-आप शामिल होने से साफ़ तौर पर रोका जा सकता है. इससे दो फ़ायदे हो सकते हैं: 1. ज़्यादा पाबंदी वाले / अलग ऐक्शन स्पेस का इस्तेमाल करना. 2. पहले से तय किए गए फ़ंक्शन की परिभाषाओं / निर्देशों को बेहतर बनाना.

enablePromptInjectionDetection boolean

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

disabledSafetyPolicies[] enum (SafetyPolicy)

ज़रूरी नहीं. कंप्यूटर के इस्तेमाल के लिए, सुरक्षा से जुड़ी नीतियां बंद कर दी गई हैं.

JSON के काेड में दिखाना
{
  "environment": enum (Environment),
  "excludedPredefinedFunctions": [
    string
  ],
  "enablePromptInjectionDetection": boolean,
  "disabledSafetyPolicies": [
    enum (SafetyPolicy)
  ]
}

परिवेश

यह उस एनवायरमेंट को दिखाता है जिसमें कार्रवाई की जा रही है. जैसे, वेब ब्राउज़र.

Enums
ENVIRONMENT_UNSPECIFIED डिफ़ॉल्ट रूप से, यह ब्राउज़र पर सेट होता है.
ENVIRONMENT_BROWSER यह वेब ब्राउज़र में काम करता है.
ENVIRONMENT_MOBILE यह मोबाइल पर काम करता है.
ENVIRONMENT_DESKTOP यह डेस्कटॉप एनवायरमेंट में काम करता है.

SafetyPolicy

कंप्यूटर के इस्तेमाल के लिए, सुरक्षा से जुड़ी पहले से तय की गई नीतियां.

Enums
SAFETY_POLICY_UNSPECIFIED सुरक्षा नीति के बारे में जानकारी नहीं दी गई है.
FINANCIAL_TRANSACTIONS वित्तीय लेन-देन के लिए सुरक्षा नीति.
SENSITIVE_DATA_MODIFICATION संवेदनशील डेटा में बदलाव करने से जुड़ी सुरक्षा नीति.
COMMUNICATION_TOOL बातचीत करने के टूल (जैसे, Gmail, Chat, Meet) के लिए सुरक्षा से जुड़ी नीति.
ACCOUNT_CREATION खाता बनाने के लिए सुरक्षा नीति.
DATA_MODIFICATION डेटा में बदलाव करने से जुड़ी सुरक्षा नीति.
LEGAL_TERMS_AND_AGREEMENTS कानूनी शर्तों और समझौतों के लिए सुरक्षा नीति.

UrlContext

इस टाइप में कोई फ़ील्ड नहीं है.

यह कुकी, यूआरएल के कॉन्टेक्स्ट को वापस पाने में मदद करती है.

FileSearch

यह FileSearch टूल है, जो सिमैंटिक रिट्रीवल कॉर्पस से जानकारी हासिल करता है. ImportFile API का इस्तेमाल करके, फ़ाइलों को सिमैंटिक रिट्रीवल कॉर्पस में इंपोर्ट किया जाता है.

Fields
fileSearchStoreNames[] string

ज़रूरी है. उन fileSearchStores के नाम जिनसे डेटा वापस पाना है. उदाहरण: fileSearchStores/my-file-search-store-123

metadataFilter string

ज़रूरी नहीं. सिमैंटिक तरीके से जानकारी पाने के लिए इस्तेमाल किए जाने वाले दस्तावेज़ों और चंक पर लागू करने के लिए मेटाडेटा फ़िल्टर.

topK integer

ज़रूरी नहीं. सेमैंटिक तरीके से खोजे गए कितने डेटा के हिस्से वापस पाने हैं.

JSON के काेड में दिखाना
{
  "fileSearchStoreNames": [
    string
  ],
  "metadataFilter": string,
  "topK": integer
}

McpServer

MCPServer एक ऐसा सर्वर होता है जिसे मॉडल, कार्रवाइयां करने के लिए कॉल कर सकता है. यह एक ऐसा सर्वर है जो एमसीपी प्रोटोकॉल लागू करता है. अगला आईडी: 6

Fields
name string

MCPServer का नाम.

transport Union type
MCPServer से कनेक्ट करने के लिए इस्तेमाल किया जाने वाला ट्रांसपोर्ट. transport इनमें से सिर्फ़ एक हो सकता है:
streamableHttpTransport object (StreamableHttpTransport)

एक ऐसा ट्रांसपोर्ट जो एचटीटीपी अनुरोधों और जवाबों को स्ट्रीम कर सकता है.

JSON के काेड में दिखाना
{
  "name": string,

  // transport
  "streamableHttpTransport": {
    object (StreamableHttpTransport)
  }
  // Union type
}

StreamableHttpTransport

एक ऐसा ट्रांसपोर्ट जो एचटीटीपी अनुरोधों और जवाबों को स्ट्रीम कर सकता है. अगला आईडी: 6

Fields
url string

MCPServer एंडपॉइंट का पूरा यूआरएल. उदाहरण: "https://api.example.com/mcp"

headers map (key: string, value: string)

ज़रूरी नहीं: अगर ज़रूरी हो, तो पुष्टि करने वाले हेडर, टाइमआउट वगैरह के लिए फ़ील्ड.

एक ऑब्जेक्ट, जिसमें "key": value जोड़े की सूची शामिल हो. उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

timeout string (Duration format)

सामान्य कार्रवाइयों के लिए एचटीटीपी का समय खत्म हो गया.

सेकंड में अवधि, जिसमें नौ दशमलव अंक तक हो सकते हैं. इसके आखिर में 's' होता है. उदाहरण: "3.5s".

sseReadTimeout string (Duration format)

एसएसई से जुड़ी रीड कार्रवाइयों के लिए टाइम आउट.

सेकंड में अवधि, जिसमें नौ दशमलव अंक तक हो सकते हैं. इसके आखिर में 's' होता है. उदाहरण: "3.5s".

terminateOnClose boolean

ट्रांसपोर्ट बंद होने पर, क्लाइंट सेशन बंद करना है या नहीं.

JSON के काेड में दिखाना
{
  "url": string,
  "headers": {
    string: string,
    ...
  },
  "timeout": string,
  "sseReadTimeout": string,
  "terminateOnClose": boolean
}

GoogleMaps

GoogleMaps टूल, उपयोगकर्ता की क्वेरी के लिए जियोस्पेशल कॉन्टेक्स्ट उपलब्ध कराता है.

Fields
enableWidget boolean

ज़रूरी नहीं. जवाब की GroundingMetadata में, विजेट कॉन्टेक्स्ट टोकन दिखाना है या नहीं. डेवलपर, विजेट कॉन्टेक्स्ट टोकन का इस्तेमाल करके, Google Maps विजेट को रेंडर कर सकते हैं. इसमें उन जगहों से जुड़ा जियोस्पेशल कॉन्टेक्स्ट होता है जिनके बारे में मॉडल ने जवाब में बताया है.

JSON के काेड में दिखाना
{
  "enableWidget": boolean
}

ToolChoiceType

टूल चुनने का टाइप.

Enums
TOOL_CHOICE_TYPE_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
AUTO ऑटो टूल चुनने की सुविधा.
ANY कोई भी टूल चुना जा सकता है.
NONE कोई टूल नहीं चुना गया.
VALIDATED पुष्टि किए गए टूल का विकल्प.

वैल्यू

Value, डाइनैमिक टाइप की वैल्यू को दिखाता है. यह वैल्यू, शून्य, कोई संख्या, स्ट्रिंग, बूलियन, रिकर्सिव स्ट्रक्चर वैल्यू या वैल्यू की सूची हो सकती है. वैल्यू जनरेट करने वाले को इनमें से कोई एक वैरिएंट सेट करना चाहिए. किसी भी वैरिएंट के मौजूद न होने का मतलब है कि कोई गड़बड़ी हुई है.

फ़ील्ड
kind Union type
वैल्यू किस तरह की है. kind इनमें से सिर्फ़ एक हो सकता है:
nullValue null

यह शून्य वैल्यू को दिखाता है.

numberValue number

यह डबल वैल्यू को दिखाता है.

stringValue string

यह स्ट्रिंग वैल्यू को दिखाता है.

boolValue boolean

यह बूलियन वैल्यू को दिखाता है.

structValue object (Struct)

यह किसी स्ट्रक्चर्ड वैल्यू को दिखाता है.

listValue object (ListValue)

यह बार-बार होने वाले Value को दिखाता है.

contentValue object (Content)

यह रिच कॉन्टेंट (टेक्स्ट, इमेज वगैरह) को दिखाता है.

JSON के काेड में दिखाना
{

  // kind
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object (Struct)
  },
  "listValue": {
    object (ListValue)
  },
  "contentValue": {
    object (Content)
  }
  // Union type
}

ListValue

ListValue, वैल्यू के दोहराए गए फ़ील्ड के चारों ओर एक रैपर है.

Fields
values[] object (Value)

डाइनैमिक तौर पर टाइप की गई वैल्यू का दोहराया गया फ़ील्ड.

JSON के काेड में दिखाना
{
  "values": [
    {
      object (Value)
    }
  ]
}

VisualizationMode

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

Enums
UNSPECIFIED विज़ुअलाइज़ेशन का डिफ़ॉल्ट मोड. यह डिफ़ॉल्ट रूप से AUTO पर सेट होगा.
OFF विज़ुअलाइज़ेशन शामिल न करें.
AUTO विज़ुअलाइज़ेशन अपने-आप शामिल हो जाते हैं.

REST रिसॉर्स: auth_tokens

संसाधन: AuthToken

यह कुछ समय के लिए मान्य ऑथेंटिकेशन टोकन बनाने का अनुरोध है.

Fields
name string

सिर्फ़ आउटपुट के लिए. आइडेंटिफ़ायर. टोकन.

expireTime string (Timestamp format)

ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. यह एक वैकल्पिक समय है. इस समय के बाद, जनरेट किए गए टोकन का इस्तेमाल करने पर, BidiGenerateContent सेशन में मौजूद मैसेज अस्वीकार कर दिए जाएंगे. (Gemini, इस समय के बाद सेशन को पहले से ही बंद कर सकता है.)

अगर इसे सेट नहीं किया जाता है, तो आने वाले समय में यह डिफ़ॉल्ट रूप से 30 मिनट पर सेट हो जाएगा. अगर यह वैल्यू सेट की जाती है, तो यह मौजूदा समय से 20 घंटे बाद से पहले की होनी चाहिए.

यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

newSessionExpireTime string (Timestamp format)

ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. यह वह समय है जिसके बाद, इस अनुरोध से मिले टोकन का इस्तेमाल करके बनाए गए नए Live API सेशन अस्वीकार कर दिए जाएंगे.

अगर इसे सेट नहीं किया जाता है, तो आने वाले समय में इसकी डिफ़ॉल्ट वैल्यू 60 सेकंड होगी. अगर यह वैल्यू सेट की जाती है, तो यह मौजूदा समय से 20 घंटे बाद से पहले की होनी चाहिए.

यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

fieldMask string (FieldMask format)

ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. अगर फ़ील्डमास्क खाली है और bidiGenerateContentSetup मौजूद नहीं है, तो BidiGenerateContentSetup मैसेज को Live API कनेक्शन से लिया जाता है.

अगर फ़ील्डमास्क खाली है और bidiGenerateContentSetup मौजूद है, तो इस अनुरोध में BidiGenerateContentSetup मैसेज, पूरी तरह से bidiGenerateContentSetup से लिया जाता है. लाइव एपीआई कनेक्शन से मिले सेटअप मैसेज को अनदेखा किया जाता है.

अगर fieldMask खाली नहीं है, तो bidiGenerateContentSetup में मौजूद फ़ील्ड, Live API कनेक्शन में सेटअप मैसेज के फ़ील्ड को बदल देंगे.

यह फ़ील्ड के पूरी तरह क्वालिफ़ाइड नामों की कॉमा लगाकर अलग की गई लिस्ट है. उदाहरण: "user.displayName,photo".

config Union type
नतीजे के तौर पर मिले टोकन के लिए, तरीके के हिसाब से कॉन्फ़िगरेशन. config इनमें से सिर्फ़ एक हो सकता है:
bidiGenerateContentSetup object (BidiGenerateContentSetup)

ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. BidiGenerateContent के लिए कॉन्फ़िगरेशन.

uses integer

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

JSON के काेड में दिखाना
{
  "name": string,
  "expireTime": string,
  "newSessionExpireTime": string,
  "fieldMask": string,

  // config
  "bidiGenerateContentSetup": {
    object (BidiGenerateContentSetup)
  }
  // Union type
  "uses": integer
}

BidiGenerateContentSetup

पहले BidiGenerateContentClientMessage में भेजा जाने वाला मैसेज. इसमें ऐसा कॉन्फ़िगरेशन होता है जो स्ट्रीमिंग आरपीसी के दौरान लागू होगा.

क्लाइंट को कोई भी अन्य मैसेज भेजने से पहले, BidiGenerateContentSetupComplete मैसेज का इंतज़ार करना चाहिए.

Fields
model string

ज़रूरी है. मॉडल के संसाधन का नाम. यह मॉडल के लिए आईडी के तौर पर काम करता है.

फ़ॉर्मैट: models/{model}

generationConfig object (GenerationConfig)

ज़रूरी नहीं. जनरेट करने का कॉन्फ़िगरेशन.

ये फ़ील्ड काम नहीं करते:

  • responseLogprobs
  • responseMimeType
  • logprobs
  • responseSchema
  • responseJsonSchema
  • stop_sequence
  • skipResponseCache
  • routing_config
  • audio_timestamp
systemInstruction object (Content)

ज़रूरी नहीं. उपयोगकर्ता ने मॉडल के लिए सिस्टम से जुड़े निर्देश दिए हैं.

ध्यान दें: जवाब के हर हिस्से में सिर्फ़ टेक्स्ट का इस्तेमाल किया जाना चाहिए. साथ ही, हर हिस्से का कॉन्टेंट अलग पैराग्राफ़ में होना चाहिए.

tools[] object (Tool)

ज़रूरी नहीं. Tools मॉडल, अगली प्रतिक्रिया जनरेट करने के लिए इस सूची का इस्तेमाल कर सकता है.

Tool एक ऐसा कोड होता है जो सिस्टम को बाहरी सिस्टम के साथ इंटरैक्ट करने की अनुमति देता है. इससे सिस्टम, मॉडल की जानकारी और दायरे से बाहर कोई कार्रवाई या कार्रवाइयों का सेट कर पाता है.

realtimeInputConfig object (RealtimeInputConfig)

ज़रूरी नहीं. यह कुकी, रीयलटाइम इनपुट को मैनेज करने के लिए कॉन्फ़िगर की जाती है.

sessionResumption object (SessionResumptionConfig)

ज़रूरी नहीं. यह कुकी, सेशन को फिर से शुरू करने के तरीके को कॉन्फ़िगर करती है.

अगर यह शामिल है, तो सर्वर SessionResumptionUpdate मैसेज भेजेगा.

contextWindowCompression object (ContextWindowCompressionConfig)

ज़रूरी नहीं. यह कुकी, कॉन्टेक्स्ट विंडो को कंप्रेस करने के तरीके को कॉन्फ़िगर करती है.

अगर इसे शामिल किया जाता है, तो कॉन्फ़िगर की गई लंबाई से ज़्यादा होने पर सर्वर, कॉन्टेक्स्ट का साइज़ अपने-आप कम कर देगा.

inputAudioTranscription object (AudioTranscriptionConfig)

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

outputAudioTranscription object (AudioTranscriptionConfig)

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

historyConfig object (HistoryConfig)

ज़रूरी नहीं. यह कुकी, क्लाइंट और सर्वर के बीच इतिहास को शेयर करने की सुविधा को कॉन्फ़िगर करती है.

JSON के काेड में दिखाना
{
  "model": string,
  "generationConfig": {
    object (GenerationConfig)
  },
  "systemInstruction": {
    object (Content)
  },
  "tools": [
    {
      object (Tool)
    }
  ],
  "realtimeInputConfig": {
    object (RealtimeInputConfig)
  },
  "sessionResumption": {
    object (SessionResumptionConfig)
  },
  "contextWindowCompression": {
    object (ContextWindowCompressionConfig)
  },
  "inputAudioTranscription": {
    object (AudioTranscriptionConfig)
  },
  "outputAudioTranscription": {
    object (AudioTranscriptionConfig)
  },
  "historyConfig": {
    object (HistoryConfig)
  }
}

GenerationConfig

मॉडल जनरेट करने और आउटपुट के लिए कॉन्फ़िगरेशन के विकल्प. हर मॉडल के लिए, सभी पैरामीटर कॉन्फ़िगर नहीं किए जा सकते.

Fields
stopSequences[] string

ज़रूरी नहीं. वर्णों के ऐसे क्रम (पांच तक) का सेट जो आउटपुट जनरेट होने से रोक देगा. अगर यह विकल्प चुना जाता है, तो एपीआई stop_sequence के पहली बार दिखने पर रुक जाएगा. जवाब में स्टॉप सीक्वेंस शामिल नहीं किया जाएगा.

responseMimeType string

ज़रूरी नहीं. जनरेट किए गए सुझाए गए टेक्स्ट का MIME टाइप. इन MIME टाइप का इस्तेमाल किया जा सकता है: text/plain: (डिफ़ॉल्ट) टेक्स्ट आउटपुट. application/json: जवाब के तौर पर मिले JSON का रिस्पॉन्स. text/x.enum: ENUM as a string response in the response candidates. साथ काम करने वाले सभी टेक्स्ट MIME टाइप की सूची देखने के लिए, दस्तावेज़ देखें.

responseSchema
(deprecated)
object (Schema)

ज़रूरी नहीं. उम्मीदवार के जनरेट किए गए टेक्स्ट का आउटपुट स्कीमा. स्कीमा, OpenAPI स्कीमा का सबसेट होना चाहिए. साथ ही, यह ऑब्जेक्ट, प्रिमिटिव या अरे हो सकता है.

अगर इसे सेट किया गया है, तो इसके साथ काम करने वाला responseMimeType भी सेट किया जाना चाहिए. साथ काम करने वाले MIME टाइप: application/json: JSON रिस्पॉन्स के लिए स्कीमा. ज़्यादा जानकारी के लिए, JSON टेक्स्ट जनरेट करने से जुड़ी गाइड देखें.

_responseJsonSchema
(deprecated)
value (Value format)

ज़रूरी नहीं. जनरेट किए गए जवाब का आउटपुट स्कीमा. यह responseSchema का विकल्प है. इसमें JSON स्कीमा स्वीकार किया जाता है.

अगर यह सेट है, तो responseSchema को हटाना होगा. हालांकि, responseMimeType को शामिल करना ज़रूरी है.

पूरा JSON स्कीमा भेजा जा सकता है. हालांकि, सभी सुविधाएँ काम नहीं करती हैं. खास तौर पर, सिर्फ़ इन प्रॉपर्टी के लिए यह सुविधा उपलब्ध है:

  • $id
  • $defs
  • $ref
  • $anchor
  • type
  • format
  • title
  • description
  • enum (स्ट्रिंग और संख्याओं के लिए)
  • items
  • prefixItems
  • minItems
  • maxItems
  • minimum
  • maximum
  • anyOf
  • oneOf (anyOf की तरह ही समझा जाता है)
  • properties
  • additionalProperties
  • required

इसके अलावा, नॉन-स्टैंडर्ड propertyOrdering प्रॉपर्टी भी सेट की जा सकती है.

साइक्लिक रेफ़रंस को सीमित तौर पर अनरोल किया जाता है. इसलिए, इनका इस्तेमाल सिर्फ़ उन प्रॉपर्टी के लिए किया जा सकता है जो ज़रूरी नहीं हैं. (शून्य हो सकने वाली प्रॉपर्टी काफ़ी नहीं हैं.) अगर किसी सब-स्कीमा पर $ref सेट है, तो $ से शुरू होने वाली प्रॉपर्टी के अलावा, कोई अन्य प्रॉपर्टी सेट नहीं की जा सकती.

responseJsonSchema value (Value format)

ज़रूरी नहीं. इंटरनल जानकारी. इस फ़ील्ड के बजाय, responseJsonSchema का इस्तेमाल करें.

responseModalities[] enum (Modality)

ज़रूरी नहीं. जवाब देने के लिए अनुरोध की गई सुविधाएं. यह उन मोडैलिटी के सेट को दिखाता है जिन्हें मॉडल दिखा सकता है. साथ ही, यह रिस्पॉन्स में दिखना चाहिए. यह जवाब के तौर-तरीकों से पूरी तरह मेल खाता है.

किसी मॉडल में, काम करने वाली कई मॉडेलिटी के कॉम्बिनेशन हो सकते हैं. अगर अनुरोध की गई मॉडेलिटी, काम करने वाले किसी भी कॉम्बिनेशन से मेल नहीं खाती है, तो गड़बड़ी का मैसेज दिखेगा.

खाली सूची का मतलब है कि सिर्फ़ टेक्स्ट का अनुरोध किया गया है.

candidateCount integer

ज़रूरी नहीं. जनरेट किए गए जवाबों की संख्या. अगर यह सेट नहीं है, तो डिफ़ॉल्ट रूप से इसकी वैल्यू 1 होगी. कृपया ध्यान दें कि यह सुविधा, पिछली जनरेशन के मॉडल (Gemini 1.0 फ़ैमिली) के लिए काम नहीं करती

maxOutputTokens integer

ज़रूरी नहीं. जवाब के तौर पर सुझाए गए टेक्स्ट में शामिल किए जाने वाले टोकन की ज़्यादा से ज़्यादा संख्या.

ध्यान दें: डिफ़ॉल्ट वैल्यू, मॉडल के हिसाब से अलग-अलग होती है. getModel फ़ंक्शन से मिले Model के Model.output_token_limit एट्रिब्यूट को देखें.

temperature number

ज़रूरी नहीं. इससे आउटपुट में रैंडमनेस को कंट्रोल किया जाता है.

ध्यान दें: डिफ़ॉल्ट वैल्यू, मॉडल के हिसाब से अलग-अलग होती है. getModel फ़ंक्शन से मिले Model के Model.temperature एट्रिब्यूट को देखें.

वैल्यू [0.0, 2.0] के बीच हो सकती हैं.

topP number

ज़रूरी नहीं. सैंपलिंग करते समय, टोकन की ज़्यादा से ज़्यादा कुल संभावना पर विचार किया जाता है.

यह मॉडल, टॉप-के और टॉप-पी (न्यूक्लियस) सैंपलिंग का इस्तेमाल करता है.

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

ध्यान दें: डिफ़ॉल्ट वैल्यू, Model के हिसाब से अलग-अलग होती है. इसे getModel फ़ंक्शन से मिले Model.top_p एट्रिब्यूट से तय किया जाता है. topK एट्रिब्यूट की वैल्यू खाली होने का मतलब है कि मॉडल, टॉप-के सैंपलिंग लागू नहीं करता है. साथ ही, अनुरोधों पर topK सेट करने की अनुमति नहीं देता है.

topK integer

ज़रूरी नहीं. सैंपल लेते समय, ज़्यादा से ज़्यादा टोकन की संख्या.

Gemini मॉडल, टॉप-पी (न्यूक्लियस) सैंपलिंग या टॉप-के और न्यूक्लियस सैंपलिंग के कॉम्बिनेशन का इस्तेमाल करते हैं. टॉप-k सैंपलिंग में, topK सबसे ज़्यादा संभावित टोकन के सेट को ध्यान में रखा जाता है. न्यूक्लियस सैंपलिंग का इस्तेमाल करने वाले मॉडल में, topK सेटिंग की अनुमति नहीं होती.

ध्यान दें: डिफ़ॉल्ट वैल्यू, Model के हिसाब से अलग-अलग होती है. इसे getModel फ़ंक्शन से मिले Model.top_p एट्रिब्यूट से तय किया जाता है. topK एट्रिब्यूट की वैल्यू खाली होने का मतलब है कि मॉडल, टॉप-के सैंपलिंग लागू नहीं करता है. साथ ही, अनुरोधों पर topK सेट करने की अनुमति नहीं देता है.

seed integer

ज़रूरी नहीं. डिकोडिंग में इस्तेमाल किया गया सीड. अगर इसे सेट नहीं किया जाता है, तो अनुरोध में रैंडम तरीके से जनरेट किए गए सीड का इस्तेमाल किया जाता है.

presencePenalty number

ज़रूरी नहीं. अगर टोकन को जवाब में पहले ही देखा जा चुका है, तो अगले टोकन के logprobs पर प्रेज़ेंस पेनल्टी लागू होती है.

यह पेनल्टी बाइनरी ऑन/ऑफ़ होती है. यह इस बात पर निर्भर नहीं करती कि टोकन का इस्तेमाल कितनी बार किया गया है (पहली बार के बाद). हर बार इस्तेमाल करने पर बढ़ने वाली पेनल्टी के लिए, frequencyPenalty का इस्तेमाल करें.

सकारात्मक पेनल्टी से, जवाब में पहले से इस्तेमाल किए गए टोकन के इस्तेमाल को हतोत्साहित किया जाएगा. इससे शब्दावली बढ़ेगी.

नेगेटिव पेनल्टी से, जवाब में पहले से इस्तेमाल किए गए टोकन का इस्तेमाल करने को बढ़ावा मिलेगा. इससे शब्दावली कम हो जाएगी.

frequencyPenalty number

ज़रूरी नहीं. फ़्रीक्वेंसी पेनल्टी, अगले टोकन के logprobs पर लागू होती है. इसे जवाब में अब तक हर टोकन के दिखने की संख्या से गुणा किया जाता है.

पॉज़िटिव पेनल्टी से, पहले से इस्तेमाल किए गए टोकन का इस्तेमाल करने को हतोत्साहित किया जाएगा. यह पेनल्टी, टोकन के इस्तेमाल की संख्या के हिसाब से लगाई जाएगी: किसी टोकन का जितनी बार इस्तेमाल किया जाएगा, मॉडल के लिए उस टोकन का दोबारा इस्तेमाल करना उतना ही मुश्किल होगा. इससे जवाबों में इस्तेमाल होने वाले शब्दों की संख्या बढ़ जाएगी.

चेतावनी: नेगेटिव पेनल्टी से मॉडल को, टोकन का फिर से इस्तेमाल करने के लिए बढ़ावा मिलेगा. यह टोकन के इस्तेमाल की संख्या के हिसाब से होगा. छोटी नेगेटिव वैल्यू से, जवाब में इस्तेमाल होने वाले शब्दों की संख्या कम हो जाएगी. नेगेटिव वैल्यू जितनी ज़्यादा होगी, मॉडल उतने ही ज़्यादा सामान्य टोकन दोहराएगा. ऐसा तब तक होगा, जब तक वह maxOutputTokens की सीमा तक नहीं पहुंच जाता.

responseLogprobs boolean

ज़रूरी नहीं. अगर यह वैल्यू सही है, तो जवाब में logprobs के नतीजे एक्सपोर्ट करें.

logprobs integer

ज़रूरी नहीं. सिर्फ़ तब मान्य है, जब responseLogprobs=True. यह Candidate.logprobs_result में हर डिकोडिंग चरण में, चुनी गई संभावना के साथ-साथ सबसे ज़्यादा संभावनाओं की संख्या सेट करता है. यह संख्या [0, 20] की रेंज में होनी चाहिए.

enableEnhancedCivicAnswers boolean

ज़रूरी नहीं. इस कुकी से, नागरिकता से जुड़े सवालों के बेहतर जवाब पाने की सुविधा चालू होती है. ऐसा हो सकता है कि यह सुविधा सभी मॉडल के लिए उपलब्ध न हो.

speechConfig object (SpeechConfig)

ज़रूरी नहीं. लिखे गए टेक्स्ट को बोली में बदलने की सुविधा का कॉन्फ़िगरेशन.

thinkingConfig object (ThinkingConfig)

ज़रूरी नहीं. सोचने से जुड़ी सुविधाओं के लिए कॉन्फ़िगरेशन. अगर इस फ़ील्ड को ऐसे मॉडल के लिए सेट किया जाता है जिनमें सोचने की क्षमता नहीं होती है, तो गड़बड़ी का मैसेज दिखेगा.

imageConfig object (ImageConfig)

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

mediaResolution enum (MediaResolution)

ज़रूरी नहीं. अगर मीडिया रिज़ॉल्यूशन की जानकारी दी गई है, तो उसका इस्तेमाल किया जाएगा.

enableAffectiveDialog boolean

ज़रूरी नहीं. इस सुविधा के चालू होने पर, मॉडल भावनाओं का पता लगाएगा और उसके हिसाब से जवाब देगा.

responseFormat object (ResponseFormatConfig)

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

translationConfig object (TranslationConfig)

ज़रूरी नहीं. अनुवाद के लिए कॉन्फ़िगरेशन.

JSON के काेड में दिखाना
{
  "stopSequences": [
    string
  ],
  "responseMimeType": string,
  "responseSchema": {
    object (Schema)
  },
  "_responseJsonSchema": value,
  "responseJsonSchema": value,
  "responseModalities": [
    enum (Modality)
  ],
  "candidateCount": integer,
  "maxOutputTokens": integer,
  "temperature": number,
  "topP": number,
  "topK": integer,
  "seed": integer,
  "presencePenalty": number,
  "frequencyPenalty": number,
  "responseLogprobs": boolean,
  "logprobs": integer,
  "enableEnhancedCivicAnswers": boolean,
  "speechConfig": {
    object (SpeechConfig)
  },
  "thinkingConfig": {
    object (ThinkingConfig)
  },
  "imageConfig": {
    object (ImageConfig)
  },
  "mediaResolution": enum (MediaResolution),
  "enableAffectiveDialog": boolean,
  "responseFormat": {
    object (ResponseFormatConfig)
  },
  "translationConfig": {
    object (TranslationConfig)
  }
}

डेटा का टाइप

जवाब देने के लिए इस्तेमाल की जा सकने वाली सुविधाएं.

Enums
MODALITY_UNSPECIFIED डिफ़ॉल्ट मान.
TEXT इससे पता चलता है कि मॉडल को टेक्स्ट दिखाना चाहिए.
IMAGE इससे पता चलता है कि मॉडल को इमेज दिखानी चाहिए.
AUDIO इससे पता चलता है कि मॉडल को ऑडियो जवाब देना चाहिए.

SpeechConfig

बोलने की सुविधा और ट्रांसक्रिप्शन के लिए कॉन्फ़िगरेशन.

Fields
voiceConfig object (VoiceConfig)

एक आवाज़ में आउटपुट देने के लिए कॉन्फ़िगरेशन.

multiSpeakerVoiceConfig object (MultiSpeakerVoiceConfig)

ज़रूरी नहीं. एक से ज़्यादा स्पीकर सेटअप करने के लिए कॉन्फ़िगरेशन. यह voiceConfig फ़ील्ड के साथ इस्तेमाल नहीं किया जा सकता.

languageCode string

ज़रूरी नहीं. आईईटीएफ़ BCP-47 भाषा कोड, जिसे उपयोगकर्ता ने ऐप्लिकेशन के लिए कॉन्फ़िगर किया है. इस कुकी का इस्तेमाल, बोली की पहचान करने और लेख को बोली में बदलने के लिए किया जाता है.

मान्य वैल्यू ये हैं: de-DE, en-AU, en-GB, en-IN, en-US, es-US, fr-FR, hi-IN, pt-BR, ar-XA, es-ES, fr-CA, id-ID, it-IT, ja-JP, tr-TR, vi-VN, bn-IN, gu-IN, kn-IN, ml-IN, mr-IN, ta-IN, te-IN, nl-NL, ko-KR, cmn-CN, pl-PL, ru-RU, और th-TH.

JSON के काेड में दिखाना
{
  "voiceConfig": {
    object (VoiceConfig)
  },
  "multiSpeakerVoiceConfig": {
    object (MultiSpeakerVoiceConfig)
  },
  "languageCode": string
}

VoiceConfig

आवाज़ का इस्तेमाल करने के लिए कॉन्फ़िगरेशन.

फ़ील्ड
voice_config Union type
स्पीकर के इस्तेमाल के लिए कॉन्फ़िगरेशन. voice_config इनमें से सिर्फ़ एक हो सकता है:
prebuiltVoiceConfig object (PrebuiltVoiceConfig)

पहले से तैयार की गई आवाज़ का इस्तेमाल करने के लिए कॉन्फ़िगरेशन.

JSON के काेड में दिखाना
{

  // voice_config
  "prebuiltVoiceConfig": {
    object (PrebuiltVoiceConfig)
  }
  // Union type
}

PrebuiltVoiceConfig

पहले से तैयार किए गए स्पीकर के इस्तेमाल के लिए कॉन्फ़िगरेशन.

Fields
voiceName string

इस्तेमाल की जाने वाली प्रीसेट आवाज़ का नाम.

JSON के काेड में दिखाना
{
  "voiceName": string
}

MultiSpeakerVoiceConfig

एक से ज़्यादा स्पीकर सेटअप करने के लिए कॉन्फ़िगरेशन.

Fields
speakerVoiceConfigs[] object (SpeakerVoiceConfig)

ज़रूरी है. स्पीकर की सभी चालू की गई आवाज़ें.

JSON के काेड में दिखाना
{
  "speakerVoiceConfigs": [
    {
      object (SpeakerVoiceConfig)
    }
  ]
}

SpeakerVoiceConfig

एक से ज़्यादा स्पीकर वाले सेटअप में, किसी एक स्पीकर के लिए कॉन्फ़िगरेशन.

Fields
speaker string

ज़रूरी है. इस्तेमाल किए जाने वाले स्पीकर का नाम. यह प्रॉम्प्ट में दिए गए नाम के जैसा होना चाहिए.

voiceConfig object (VoiceConfig)

ज़रूरी है. आवाज़ का इस्तेमाल करने के लिए कॉन्फ़िगरेशन.

JSON के काेड में दिखाना
{
  "speaker": string,
  "voiceConfig": {
    object (VoiceConfig)
  }
}

ThinkingConfig

सोचने से जुड़ी सुविधाओं के लिए कॉन्फ़िगरेशन.

Fields
includeThoughts boolean

इससे पता चलता है कि जवाब में सोच-विचार को शामिल करना है या नहीं. अगर सही है, तो जवाब सिर्फ़ तब दिखाए जाते हैं, जब वे उपलब्ध हों.

thinkingBudget integer

मॉडल को कितने थॉट टोकन जनरेट करने चाहिए.

thinkingLevel enum (ThinkingLevel)

ज़रूरी नहीं. यह विकल्प, जवाब देने से पहले मॉडल की इंटरनल रीज़निंग प्रोसेस की ज़्यादा से ज़्यादा डेप्थ को कंट्रोल करता है. डिफ़ॉल्ट वैल्यू, मॉडल पर निर्भर करती है. ज़्यादा जानकारी के लिए, सोचने के स्तर से जुड़ी गाइड देखें. Gemini 3 या इसके बाद के मॉडल के लिए सुझाया गया है. पिछले मॉडल के साथ इस्तेमाल करने पर गड़बड़ी होती है.

JSON के काेड में दिखाना
{
  "includeThoughts": boolean,
  "thinkingBudget": integer,
  "thinkingLevel": enum (ThinkingLevel)
}

ThinkingLevel

उपयोगकर्ता को पूर्णांक बजट के बजाय, enum का इस्तेमाल करके यह तय करने की अनुमति दें कि कितना सोचना है.

Enums
THINKING_LEVEL_UNSPECIFIED डिफ़ॉल्ट मान.
MINIMAL कम या बिलकुल भी नहीं सोचना.
LOW सोचने-समझने का लेवल कम है.
MEDIUM एआई के गहराई से विचार करने का लेवल मीडियम पर सेट है.
HIGH सोचने-समझने का लेवल ज़्यादा हो.

ImageConfig

इमेज जनरेट करने की सुविधाओं के लिए कॉन्फ़िगरेशन.

Fields
aspectRatio string

ज़रूरी नहीं. जनरेट की जाने वाली इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात). इस्तेमाल किए जा सकने वाले आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात): 1:1, 1:4, 4:1, 1:8, 8:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9 या 21:9.

अगर आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) नहीं बताया जाता है, तो मॉडल, दी गई किसी भी रेफ़रंस इमेज के आधार पर डिफ़ॉल्ट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) चुन लेगा.

imageSize string

ज़रूरी नहीं. इससे जनरेट की गई इमेज का साइज़ तय होता है. 512, 1K, 2K, 4K को वैल्यू के तौर पर इस्तेमाल किया जा सकता है. अगर यह वैल्यू नहीं दी जाती है, तो मॉडल डिफ़ॉल्ट वैल्यू 1K का इस्तेमाल करेगा.

JSON के काेड में दिखाना
{
  "aspectRatio": string,
  "imageSize": string
}

MediaResolution

इनपुट मीडिया के लिए मीडिया रिज़ॉल्यूशन.

Enums
MEDIA_RESOLUTION_UNSPECIFIED मीडिया का रिज़ॉल्यूशन सेट नहीं किया गया है.
MEDIA_RESOLUTION_LOW मीडिया का रिज़ॉल्यूशन कम पर सेट है (64 टोकन).
MEDIA_RESOLUTION_MEDIUM मीडिया का रिज़ॉल्यूशन मीडियम (256 टोकन) पर सेट किया गया है.
MEDIA_RESOLUTION_HIGH मीडिया रिज़ॉल्यूशन को ज़्यादा पर सेट किया गया है (ज़ूम करके रीफ़्रेम करने के लिए 256 टोकन).

ResponseFormatConfig

जवाब के आउटपुट फ़ॉर्मैट के लिए कॉन्फ़िगरेशन. यह एक फ़्लैट ऑब्जेक्ट है, जहां हर ज़रूरी नहीं है सब-फ़ील्ड, किसी खास आउटपुट मोड को कॉन्फ़िगर करता है.

Fields
text object (TextResponseFormat)

ज़रूरी नहीं. टेक्स्ट आउटपुट फ़ॉर्मैट कॉन्फ़िगरेशन.

audio object (AudioResponseFormat)

ज़रूरी नहीं. ऑडियो आउटपुट फ़ॉर्मैट का कॉन्फ़िगरेशन.

image object (ImageResponseFormat)

ज़रूरी नहीं. इमेज के आउटपुट फ़ॉर्मैट का कॉन्फ़िगरेशन.

JSON के काेड में दिखाना
{
  "text": {
    object (TextResponseFormat)
  },
  "audio": {
    object (AudioResponseFormat)
  },
  "image": {
    object (ImageResponseFormat)
  }
}

TextResponseFormat

टेक्स्ट आउटपुट फ़ॉर्मैट के लिए कॉन्फ़िगरेशन.

Fields
mimeType enum (MimeType)

ज़रूरी नहीं. टेक्स्ट आउटपुट का MIME टाइप.

schema value (Value format)

ज़रूरी नहीं. JSON स्कीमा, जिसके मुताबिक आउटपुट होना चाहिए. यह सिर्फ़ तब लागू होता है, जब mimeType APPLICATION_JSON हो.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "schema": value
}

MimeType

टेक्स्ट आउटपुट के लिए इस्तेमाल किए जा सकने वाले MIME टाइप.

Enums
MIME_TYPE_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
APPLICATION_JSON JSON आउटपुट फ़ॉर्मैट.
TEXT_PLAIN प्लेन टेक्स्ट आउटपुट फ़ॉर्मैट.

AudioResponseFormat

ऑडियो आउटपुट फ़ॉर्मैट के लिए कॉन्फ़िगरेशन.

Fields
mimeType enum (MimeType)

ज़रूरी नहीं. ऑडियो आउटपुट का MIME टाइप.

delivery enum (Delivery)

ज़रूरी नहीं. ऑडियो आउटपुट के लिए डिलीवरी मोड.

sampleRate integer

ज़रूरी नहीं. सैंपल रेट, हर्ट्ज़ में.

bitRate integer

ज़रूरी नहीं. बिट प्रति सेकंड (बीपीएस) में बिट रेट. यह सिर्फ़ कंप्रेस किए गए फ़ॉर्मैट (MP3, Opus) के लिए लागू होता है.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "delivery": enum (Delivery),
  "sampleRate": integer,
  "bitRate": integer
}

MimeType

ऑडियो आउटपुट के लिए इस्तेमाल किए जा सकने वाले एमआईएमई टाइप.

Enums
MIME_TYPE_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
AUDIO_MP3 MP3 ऑडियो फ़ॉर्मैट.
AUDIO_OGG_OPUS OGG Opus ऑडियो फ़ॉर्मैट.
AUDIO_L16 रॉ पीसीएम (L16) ऑडियो फ़ॉर्मैट.
AUDIO_WAV WAV ऑडियो फ़ॉर्मैट.
AUDIO_ALAW A-law ऑडियो फ़ॉर्मैट.
AUDIO_MULAW Mu-law ऑडियो फ़ॉर्मैट.

डिलीवरी

ऑडियो डिवाइस के लिए डिलीवरी मोड.

Enums
DELIVERY_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
INLINE जवाब में ऑडियो डेटा को इनलाइन दिखाया जाता है.
URI ऑडियो डेटा को यूआरआई के तौर पर दिखाया जाता है.

ImageResponseFormat

इमेज के आउटपुट फ़ॉर्मैट के लिए कॉन्फ़िगरेशन.

Fields
mimeType enum (MimeType)

ज़रूरी नहीं. इमेज आउटपुट का एमआईएमई टाइप.

delivery enum (Delivery)

ज़रूरी नहीं. इमेज के आउटपुट के लिए डिलीवरी मोड.

aspectRatio enum (AspectRatio)

ज़रूरी नहीं. इमेज आउटपुट का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात).

imageSize enum (ImageSize)

ज़रूरी नहीं. इमेज आउटपुट का साइज़.

JSON के काेड में दिखाना
{
  "mimeType": enum (MimeType),
  "delivery": enum (Delivery),
  "aspectRatio": enum (AspectRatio),
  "imageSize": enum (ImageSize)
}

MimeType

इमेज आउटपुट के लिए, काम करने वाले MIME टाइप.

Enums
MIME_TYPE_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
IMAGE_JPEG JPEG इमेज फ़ॉर्मैट.

डिलीवरी

इमेज आउटपुट के लिए डिलीवरी मोड.

Enums
DELIVERY_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
INLINE जवाब में इमेज का डेटा इनलाइन दिखाया जाता है.
URI इमेज का डेटा, यूआरआई के तौर पर दिखाया जाता है.

AspectRatio

इमेज आउटपुट के लिए काम करने वाले आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात).

Enums
ASPECT_RATIO_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
ASPECT_RATIO_ONE_BY_ONE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 1:1 होना चाहिए.
ASPECT_RATIO_TWO_BY_THREE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 2:3 होना चाहिए.
ASPECT_RATIO_THREE_BY_TWO आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 3:2 होना चाहिए.
ASPECT_RATIO_THREE_BY_FOUR आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 3:4 होना चाहिए.
ASPECT_RATIO_FOUR_BY_THREE 4:3 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) होना चाहिए.
ASPECT_RATIO_FOUR_BY_FIVE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 4:5 होना चाहिए.
ASPECT_RATIO_FIVE_BY_FOUR आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 5:4 होना चाहिए.
ASPECT_RATIO_NINE_BY_SIXTEEN 9:16 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात).
ASPECT_RATIO_SIXTEEN_BY_NINE 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) होना चाहिए.
ASPECT_RATIO_TWENTY_ONE_BY_NINE 21:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) हो.
ASPECT_RATIO_ONE_BY_EIGHT आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 1:8 होना चाहिए.
ASPECT_RATIO_EIGHT_BY_ONE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 8:1 होना चाहिए.
ASPECT_RATIO_ONE_BY_FOUR आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 1:4 होना चाहिए.
ASPECT_RATIO_FOUR_BY_ONE आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 4:1 होना चाहिए.

ImageSize

इमेज आउटपुट के लिए, इमेज के साइज़ काम करते हैं.

Enums
IMAGE_SIZE_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
IMAGE_SIZE_FIVE_TWELVE इमेज का साइज़ 512 पिक्सल होना चाहिए.
IMAGE_SIZE_ONE_K इमेज का साइज़ 1K होना चाहिए.
IMAGE_SIZE_TWO_K इमेज का साइज़ 2K होना चाहिए.
IMAGE_SIZE_FOUR_K 4K इमेज का साइज़.

TranslationConfig

अनुवाद की सुविधाओं के लिए कॉन्फ़िगरेशन.

Fields
targetLanguageCode string

ज़रूरी है. अनुवाद के लिए टारगेट भाषा. BCP-47 भाषा कोड (जैसे, "en", "es", "fr") को वैल्यू के तौर पर इस्तेमाल किया जा सकता है.

echoTargetLanguage boolean

ज़रूरी नहीं. अगर इस विकल्प को 'सही है' पर सेट किया जाता है, तो टारगेट की गई भाषा में बोले जाने पर मॉडल ऑडियो जनरेट करेगा. इसका मतलब है कि यह इनपुट को दोहराएगा. अगर यह वैल्यू 'गलत है', तो हम टारगेट की गई भाषा के लिए ऑडियो नहीं बनाएंगे.

JSON के काेड में दिखाना
{
  "targetLanguageCode": string,
  "echoTargetLanguage": boolean
}

RealtimeInputConfig

यह कुकी, BidiGenerateContent में रीयलटाइम इनपुट के व्यवहार को कॉन्फ़िगर करती है.

Fields
automaticActivityDetection object (AutomaticActivityDetection)

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

activityHandling enum (ActivityHandling)

ज़रूरी नहीं. इससे पता चलता है कि गतिविधि का क्या असर हुआ.

turnCoverage enum (TurnCoverage)

ज़रूरी नहीं. इससे यह तय होता है कि उपयोगकर्ता के टर्न में कौनसी जानकारी शामिल की जाएगी.

JSON के काेड में दिखाना
{
  "automaticActivityDetection": {
    object (AutomaticActivityDetection)
  },
  "activityHandling": enum (ActivityHandling),
  "turnCoverage": enum (TurnCoverage)
}

AutomaticActivityDetection

यह कुकी, गतिविधि का अपने-आप पता लगने की सुविधा को कॉन्फ़िगर करती है.

Fields
disabled boolean

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

startOfSpeechSensitivity enum (StartSensitivity)

ज़रूरी नहीं. इससे यह तय होता है कि बोली का पता चलने की संभावना कितनी है.

prefixPaddingMs integer

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

endOfSpeechSensitivity enum (EndSensitivity)

ज़रूरी नहीं. इससे यह तय होता है कि पहचानी गई आवाज़ के खत्म होने की संभावना कितनी है.

silenceDurationMs integer

ज़रूरी नहीं. बातचीत खत्म होने से पहले, बिना आवाज़ वाली गतिविधि (जैसे, चुप्पी) का पता चलने पर, उसकी ज़रूरी अवधि. इस वैल्यू के ज़्यादा होने पर, उपयोगकर्ता की गतिविधि में रुकावट डाले बिना, स्पीच के बीच ज़्यादा समय तक रुका जा सकता है. हालांकि, इससे मॉडल की लेटेन्सी बढ़ जाएगी.

JSON के काेड में दिखाना
{
  "disabled": boolean,
  "startOfSpeechSensitivity": enum (StartSensitivity),
  "prefixPaddingMs": integer,
  "endOfSpeechSensitivity": enum (EndSensitivity),
  "silenceDurationMs": integer
}

StartSensitivity

इस कुकी से यह तय होता है कि आवाज़ की पहचान कैसे की जाए.

Enums
START_SENSITIVITY_UNSPECIFIED डिफ़ॉल्ट वैल्यू START_SENSITIVITY_HIGH होती है.
START_SENSITIVITY_HIGH अपने-आप पहचान करने की सुविधा, बोली की शुरुआत का पता ज़्यादा बार लगाएगी.
START_SENSITIVITY_LOW अपने-आप पहचान करने की सुविधा, बोली की शुरुआत का पता कम बार लगाएगी.

EndSensitivity

इससे यह तय होता है कि बोली खत्म होने का पता कैसे लगाया जाए.

Enums
END_SENSITIVITY_UNSPECIFIED डिफ़ॉल्ट रूप से, END_SENSITIVITY_HIGH पर सेट होता है.
END_SENSITIVITY_HIGH अपने-आप बोली पहचानने की सुविधा, अक्सर बोली को खत्म कर देती है.
END_SENSITIVITY_LOW अपने-आप पहचान होने की सुविधा, बोली को कम बार खत्म करती है.

ActivityHandling

उपयोगकर्ता गतिविधि को मैनेज करने के अलग-अलग तरीके.

Enums
ACTIVITY_HANDLING_UNSPECIFIED अगर कोई जानकारी नहीं दी गई है, तो डिफ़ॉल्ट तरीका START_OF_ACTIVITY_INTERRUPTS होता है.
START_OF_ACTIVITY_INTERRUPTS अगर वैल्यू सही है, तो गतिविधि शुरू होने पर मॉडल की प्रतिक्रिया में रुकावट आएगी. इसे "बार्ज इन" भी कहा जाता है. बातचीत में रुकावट आने पर, मॉडल का मौजूदा जवाब बीच में ही रुक जाएगा. यह डिफ़ॉल्ट व्यवहार है.
NO_INTERRUPTION मॉडल के जवाब में कोई रुकावट नहीं आएगी.

TurnCoverage

उपयोगकर्ता के टर्न में कौनसे इनपुट शामिल किए गए हैं, इसके बारे में विकल्प.

Enums
TURN_COVERAGE_UNSPECIFIED अगर इसे तय नहीं किया जाता है, तो मॉडल के आधार पर डिफ़ॉल्ट तरीका चुना जाता है. उदाहरण के लिए, Gemini 2.5 के लिए डिफ़ॉल्ट सेटिंग TURN_INCLUDES_ONLY_ACTIVITY है, जबकि Gemini 3.1 और इसके बाद के वर्शन के लिए यह TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO है.
TURN_INCLUDES_ONLY_ACTIVITY इसमें पिछले टर्न के बाद की गतिविधि शामिल होती है.हालांकि, इसमें कोई गतिविधि न होने की जानकारी शामिल नहीं होती. जैसे, ऑडियो स्ट्रीम में कोई आवाज़ न होना.
TURN_INCLUDES_ALL_INPUT इसमें पिछली बारी के बाद से, रीयलटाइम में दिया गया सभी इनपुट शामिल होता है.इसमें कोई गतिविधि न होना भी शामिल है. जैसे, ऑडियो स्ट्रीम पर कोई आवाज़ न होना.
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO इसमें ऑडियो गतिविधि और पिछली बारी से अब तक के सभी वीडियो शामिल होते हैं. गतिविधि का अपने-आप पता लगने की सुविधा के तहत, ऑडियो गतिविधि का मतलब है बोली गई आवाज़. इसमें चुप्पी शामिल नहीं है.

SessionResumptionConfig

सेशन फिर से शुरू करने का कॉन्फ़िगरेशन.

इस मैसेज को सेशन कॉन्फ़िगरेशन में BidiGenerateContentSetup.session_resumption के तौर पर शामिल किया गया है. अगर कॉन्फ़िगर किया गया है, तो सर्वर SessionResumptionUpdate मैसेज भेजेगा.

Fields
handle string

पिछले सेशन का हैंडल. अगर यह कुकी मौजूद नहीं है, तो नया सेशन बनाया जाता है.

सेशन हैंडल, पिछले कनेक्शन में मौजूद SessionResumptionUpdate.token वैल्यू से मिलते हैं.

JSON के काेड में दिखाना
{
  "handle": string
}

ContextWindowCompressionConfig

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

फ़ील्ड
compression_mechanism Union type
कॉन्टेक्स्ट विंडो को कंप्रेस करने के लिए इस्तेमाल किया गया तरीका. compression_mechanism इनमें से सिर्फ़ एक हो सकता है:
slidingWindow object (SlidingWindow)

स्लाइडिंग-विंडो मैकेनिज़्म.

triggerTokens string (int64 format)

कॉन्टेक्स्ट विंडो कंप्रेस करने की सुविधा को ट्रिगर करने के लिए, टर्न शुरू होने से पहले ज़रूरी टोकन की संख्या.

इसका इस्तेमाल, क्वालिटी और लेटेन्सी के बीच संतुलन बनाने के लिए किया जा सकता है. ऐसा इसलिए, क्योंकि कॉन्टेक्स्ट विंडो छोटी होने पर, मॉडल के जवाब जल्दी मिल सकते हैं. हालांकि, कंप्रेस करने की किसी भी कार्रवाई से, कुछ समय के लिए लेटेन्सी बढ़ जाएगी. इसलिए, इन्हें बार-बार ट्रिगर नहीं किया जाना चाहिए.

अगर इसे सेट नहीं किया जाता है, तो डिफ़ॉल्ट रूप से यह मॉडल की कॉन्टेक्स्ट विंडो की सीमा का 80% होता है. इससे, अगले उपयोगकर्ता के अनुरोध/मॉडल के जवाब के लिए 20% टोकन बचते हैं.

JSON के काेड में दिखाना
{

  // compression_mechanism
  "slidingWindow": {
    object (SlidingWindow)
  }
  // Union type
  "triggerTokens": string
}

SlidingWindow

स्लाइडिंग विंडो का तरीका, कॉन्टेक्स्ट विंडो की शुरुआत में मौजूद कॉन्टेंट को हटाकर काम करता है. जवाब में शामिल कॉन्टेक्स्ट हमेशा USER की भूमिका वाले टर्न की शुरुआत से शुरू होगा. सिस्टम के निर्देश और कोई भी BidiGenerateContentSetup.prefix_turns, जवाब की शुरुआत में हमेशा मौजूद रहेगा.

Fields
targetTokens string (int64 format)

टोकन की टारगेट संख्या, जिसे बनाए रखना है. डिफ़ॉल्ट वैल्यू triggerTokens/2 है.

कॉन्टेक्स्ट विंडो के कुछ हिस्सों को हटाने से, कुछ समय के लिए लेटेन्सी बढ़ जाती है. इसलिए, इस वैल्यू को कैलिब्रेट किया जाना चाहिए, ताकि बार-बार कंप्रेशन की कार्रवाइयां न हों.

JSON के काेड में दिखाना
{
  "targetTokens": string
}

AudioTranscriptionConfig

ऑडियो को टेक्स्ट में बदलने की सुविधा का कॉन्फ़िगरेशन.

Fields
adaptationPhrases[]
(deprecated)
string

ज़रूरी नहीं. बोली के हिसाब से ढलने के लिए इस्तेमाल किए गए वाक्यांशों की सूची. इससे एएसआर मॉडल, इन खास शब्दों को बेहतर तरीके से पहचान पाता है.

customVocabulary[] string

ज़रूरी नहीं. कस्टम शब्दावली के वाक्यांशों की सूची. इससे स्पीच रिकग्निशन मॉडल को खास शब्दों (प्रॉडक्ट के नाम, प्रॉपर नाउन, तकनीकी शब्द) को पहचानने में मदद मिलती है.

language_config Union type
ऑडियो को टेक्स्ट में बदलने की सुविधा के लिए भाषा कॉन्फ़िगरेशन. एएसआर मॉडल के लिए, यह पैरामीटर ज़रूरी है. अगर इसे सेट नहीं किया जाता है, तो गड़बड़ी का मैसेज दिखेगा. language_config इनमें से सिर्फ़ एक हो सकता है:
languageAuto object (LanguageAuto)

ज़रूरी नहीं. मॉडल, भाषा का पता अपने-आप लगा लेगा.

languageHints object (LanguageHints)

ज़रूरी नहीं. ऑडियो में एक या उससे ज़्यादा भाषाओं के बारे में बताता है.

JSON के काेड में दिखाना
{
  "adaptationPhrases": [
    string
  ],
  "customVocabulary": [
    string
  ],

  // language_config
  "languageAuto": {
    object (LanguageAuto)
  },
  "languageHints": {
    object (LanguageHints)
  }
  // Union type
}

LanguageAuto

इस टाइप में कोई फ़ील्ड नहीं है.

इससे पता चलता है कि ऑडियो की भाषा का पता अपने-आप लगना चाहिए.

LanguageHints

इससे मॉडल को ऑडियो में मौजूद भाषाओं के बारे में जानकारी मिलती है.

Fields
languageCodes[] string

ज़रूरी है. BCP-47 भाषा कोड.

JSON के काेड में दिखाना
{
  "languageCodes": [
    string
  ]
}

HistoryConfig

इतिहास का कॉन्फ़िगरेशन.

इस मैसेज को सेशन कॉन्फ़िगरेशन में BidiGenerateContentSetup.history_config के तौर पर शामिल किया गया है. यह कुकी, इतिहास के मैसेज के एक्सचेंज को कॉन्फ़िगर करती है.

Fields
initialHistoryInClientContent boolean

ज़रूरी नहीं. अगर यह वैल्यू सही है, तो setupComplete भेजने के बाद सर्वर इंतज़ार करेगा. साथ ही, turnComplete के true होने तक, clientContent मैसेज को प्रोसेस करेगा. इस शुरुआती इतिहास से मॉडल कॉल ट्रिगर नहीं होगा और यह MODEL की भूमिका के साथ खत्म हो सकता है. turnComplete के true होने के बाद, क्लाइंट realtimeInput के ज़रिए रीयलटाइम बातचीत शुरू कर सकता है.

JSON के काेड में दिखाना
{
  "initialHistoryInClientContent": boolean
}

तरीका: auth_tokens.create

यह एक ऐसा टोकन बनाता है जिसका इस्तेमाल, BidiGenerateContent सेशन के व्यवहार को सीमित करने के लिए किया जा सकता है.

एंडपॉइंट

post https://generativelanguage.googleapis.com/v1beta/auth_tokens

अनुरोध का मुख्य भाग

अनुरोध के मुख्य भाग में AuthToken का उदाहरण है.

फ़ील्ड
expireTime string (Timestamp format)

ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. यह एक वैकल्पिक समय है. इस समय के बाद, जनरेट किए गए टोकन का इस्तेमाल करने पर, BidiGenerateContent सेशन में मौजूद मैसेज अस्वीकार कर दिए जाएंगे. (Gemini, इस समय के बाद सेशन को पहले से ही बंद कर सकता है.)

अगर इसे सेट नहीं किया जाता है, तो आने वाले समय में यह डिफ़ॉल्ट रूप से 30 मिनट पर सेट हो जाएगा. अगर यह वैल्यू सेट की जाती है, तो यह मौजूदा समय से 20 घंटे बाद से पहले की होनी चाहिए.

यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

newSessionExpireTime string (Timestamp format)

ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. यह वह समय है जिसके बाद, इस अनुरोध से मिले टोकन का इस्तेमाल करके बनाए गए नए Live API सेशन अस्वीकार कर दिए जाएंगे.

अगर इसे सेट नहीं किया जाता है, तो आने वाले समय में इसकी डिफ़ॉल्ट वैल्यू 60 सेकंड होगी. अगर यह वैल्यू सेट की जाती है, तो यह मौजूदा समय से 20 घंटे बाद से पहले की होनी चाहिए.

यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

fieldMask string (FieldMask format)

ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. अगर फ़ील्डमास्क खाली है और bidiGenerateContentSetup मौजूद नहीं है, तो BidiGenerateContentSetup मैसेज को Live API कनेक्शन से लिया जाता है.

अगर फ़ील्डमास्क खाली है और bidiGenerateContentSetup मौजूद है, तो इस अनुरोध में BidiGenerateContentSetup मैसेज, पूरी तरह से bidiGenerateContentSetup से लिया जाता है. लाइव एपीआई कनेक्शन से मिले सेटअप मैसेज को अनदेखा किया जाता है.

अगर fieldMask खाली नहीं है, तो bidiGenerateContentSetup में मौजूद फ़ील्ड, Live API कनेक्शन में सेटअप मैसेज के फ़ील्ड को बदल देंगे.

यह फ़ील्ड के पूरी तरह क्वालिफ़ाइड नामों की कॉमा लगाकर अलग की गई लिस्ट है. उदाहरण: "user.displayName,photo".

config Union type
नतीजे के तौर पर मिले टोकन के लिए, तरीके के हिसाब से कॉन्फ़िगरेशन. config इनमें से सिर्फ़ एक हो सकता है:
bidiGenerateContentSetup object (BidiGenerateContentSetup)

ज़रूरी नहीं. सिर्फ़ इनपुट के लिए. इम्यूटेबल. BidiGenerateContent के लिए कॉन्फ़िगरेशन.

uses integer

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

जवाब का मुख्य भाग

अनुरोध पूरा होने पर, जवाब के मुख्य हिस्से में AuthToken का नया इंस्टेंस शामिल किया जाता है.