media_resolution पैरामीटर से यह कंट्रोल किया जाता है कि Gemini API, इमेज, वीडियो, ऑडियो, और PDF दस्तावेज़ जैसे मीडिया इनपुट को कैसे प्रोसेस करे. इसके लिए, यह पैरामीटर मीडिया इनपुट के लिए तय किए गए टोकन की ज़्यादा से ज़्यादा संख्या तय करता है. इससे आपको जवाब की क्वालिटी, लेटेन्सी, और लागत के बीच संतुलन बनाए रखने में मदद मिलती है. विज़ुअल और दस्तावेज़ इनपुट के लिए, रिज़ॉल्यूशन सेटिंग के आधार पर टोकन तय किए जाते हैं. वहीं, ऑडियो इनपुट के लिए, सभी रिज़ॉल्यूशन लेवल पर हर सेकंड के हिसाब से टोकन तय किए जाते हैं. अलग-अलग सेटिंग, डिफ़ॉल्ट वैल्यू, और टोकन के साथ उनके संबंध के बारे में जानने के लिए, टोकन की संख्या सेक्शन देखें.
मीडिया रिज़ॉल्यूशन को दो तरीकों से कॉन्फ़िगर किया जा सकता है:
हर हिस्से के लिए (Gemini 4 और Gemini 3 मॉडल)
ग्लोबल लेवल पर,
generateContentके पूरे अनुरोध के लिए (सभी मल्टीमोडल मॉडल)
हर हिस्से के लिए मीडिया रिज़ॉल्यूशन (Gemini 4 और Gemini 3)
Gemini 4 और Gemini 3 की मदद से, अपने अनुरोध में मौजूद अलग-अलग मीडिया ऑब्जेक्ट के लिए मीडिया रिज़ॉल्यूशन सेट किया जा सकता है. इससे टोकन के इस्तेमाल को बेहतर तरीके से ऑप्टिमाइज़ किया जा सकता है. एक ही अनुरोध में, रिज़ॉल्यूशन लेवल को मिक्स किया जा सकता है. उदाहरण के लिए, किसी जटिल डायग्राम के लिए हाई रिज़ॉल्यूशन और किसी कॉन्टेक्स्ट वाली इमेज के लिए लो रिज़ॉल्यूशन का इस्तेमाल करना. यह सेटिंग, किसी खास हिस्से के लिए ग्लोबल कॉन्फ़िगरेशन को बदल देती है. डिफ़ॉल्ट सेटिंग के लिए, टोकन की संख्या सेक्शन देखें.
Python
from google import genai
from google.genai import types
# The media_resolution parameter for parts is available in the v1beta API version.
client = genai.Client(
http_options={
'api_version': 'v1beta',
}
)
# Replace with your image data
with open('path/to/image1.jpg', 'rb') as f:
image_bytes_1 = f.read()
# Create parts with different resolutions
image_part_high = types.Part.from_bytes(
data=image_bytes_1,
mime_type='image/jpeg',
media_resolution=types.MediaResolution.MEDIA_RESOLUTION_HIGH
)
model_name = 'gemini-4-argon'
response = client.models.generate_content(
model=model_name,
contents=["Describe these images:", image_part_high]
)
print(response.text)
JavaScript
// Example: Setting per-part media resolution in JavaScript
import { GoogleGenAI, MediaResolution, Part } from '@google/genai';
import * as fs from 'fs';
import { Buffer } from 'buffer'; // Node.js
const ai = new GoogleGenAI({ httpOptions: { apiVersion: 'v1beta' } });
// Helper function to convert local file to a Part object
function fileToGenerativePart(path, mimeType, mediaResolution) {
return {
inlineData: { data: Buffer.from(fs.readFileSync(path)).toString('base64'), mimeType },
mediaResolution: { 'level': mediaResolution }
};
}
async function run() {
// Create parts with different resolutions
const imagePartHigh = fileToGenerativePart('img.png', 'image/png', Part.MediaResolutionLevel.MEDIA_RESOLUTION_HIGH);
const model_name = 'gemini-4-argon';
const response = await ai.models.generateContent({
model: model_name,
contents: ['Describe these images:', imagePartHigh]
// Global config can still be set, but per-part settings will override
// config: {
// mediaResolution: MediaResolution.MEDIA_RESOLUTION_MEDIUM
// }
});
console.log(response.text);
}
run();
आराम का समय
# Replace with paths to your images
IMAGE_PATH="path/to/image.jpg"
# Base64 encode the images
BASE64_IMAGE1=$(base64 -w 0 "$IMAGE_PATH")
MODEL_ID="gemini-4-argon"
echo '{
"contents": [{
"parts": [
{"text": "Describe these images:"},
{
"inline_data": {
"mime_type": "image/jpeg",
"data": "'"$BASE64_IMAGE1"'",
},
"media_resolution": {"level": "MEDIA_RESOLUTION_HIGH"}
}
]
}]
}' > request.json
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/${MODEL_ID}:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d @request.json
ग्लोबल मीडिया रिज़ॉल्यूशन
GenerationConfig का इस्तेमाल करके, किसी अनुरोध में मौजूद सभी मीडिया पार्ट के लिए डिफ़ॉल्ट रिज़ॉल्यूशन सेट किया जा सकता है. यह सुविधा, सभी मल्टीमॉडल मॉडल के साथ काम करती है. अगर किसी अनुरोध में ग्लोबल और हर हिस्से के लिए सेटिंग, दोनों शामिल हैं, तो उस आइटम के लिए हर हिस्से की सेटिंग को प्राथमिकता दी जाती है.
Python
from google import genai
from google.genai import types
client = genai.Client()
# Prepare standard image part
with open('image.jpg', 'rb') as f:
image_bytes = f.read()
image_part = types.Part.from_bytes(data=image_bytes, mime_type='image/jpeg')
# Set global configuration
config = types.GenerateContentConfig(
media_resolution=types.MediaResolution.MEDIA_RESOLUTION_HIGH
)
response = client.models.generate_content(
model='gemini-3.8-flash',
contents=["Describe this image:", image_part],
config=config
)
print(response.text)
JavaScript
import { GoogleGenAI, MediaResolution } from '@google/genai';
import * as fs from 'fs';
const ai = new GoogleGenAI({ });
async function run() {
// ... (Image loading logic) ...
const response = await ai.models.generateContent({
model: 'gemini-3.8-flash',
contents: ["Describe this image:", imagePart],
config: {
mediaResolution: MediaResolution.MEDIA_RESOLUTION_HIGH
}
});
console.log(response.text);
}
run();
REST
# ... (Base64 encoding logic) ...
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [...],
"generation_config": {
"media_resolution": "MEDIA_RESOLUTION_HIGH"
}
}'
उपलब्ध रिज़ॉल्यूशन वैल्यू
Gemini API, मीडिया रिज़ॉल्यूशन के लिए ये लेवल तय करता है:
MEDIA_RESOLUTION_UNSPECIFIED: यह डिफ़ॉल्ट सेटिंग है. इस लेवल के लिए टोकन की संख्या, Gemini 3 और Gemini के पिछले मॉडल के बीच काफ़ी अलग-अलग होती है.MEDIA_RESOLUTION_LOW: इसमें कम टोकन इस्तेमाल होते हैं. इस वजह से, प्रोसेसिंग तेज़ी से होती है और लागत कम आती है. हालांकि, इसमें कम जानकारी मिलती है.MEDIA_RESOLUTION_MEDIUM: इसमें जानकारी, लागत, और इंतज़ार के समय के बीच तालमेल बिठाया जाता है.MEDIA_RESOLUTION_HIGH: इसमें ज़्यादा टोकन होते हैं. इससे मॉडल को काम करने के लिए ज़्यादा जानकारी मिलती है. हालांकि, इसमें इंतज़ार का समय और लागत बढ़ जाती है.MEDIA_RESOLUTION_ULTRA_HIGH(सिर्फ़ हर पार्ट के लिए): टोकन की सबसे ज़्यादा संख्या. यह कंप्यूटर के इस्तेमाल जैसे खास कामों के लिए ज़रूरी है.
ध्यान दें कि MEDIA_RESOLUTION_HIGH, ज़्यादातर इस्तेमाल के मामलों में सबसे अच्छी परफ़ॉर्मेंस देता है.
इनमें से हर लेवल के लिए जनरेट किए गए टोकन की सटीक संख्या, मीडिया किस तरह का है (इमेज, वीडियो, ऑडियो, PDF) और मॉडल के वर्शन, दोनों पर निर्भर करती है.
टोकन की संख्या
यहां दी गई टेबल में, हर मॉडल फ़ैमिली के लिए, media_resolution वैल्यू और मीडिया टाइप के हिसाब से टोकन की अनुमानित संख्या की खास जानकारी दी गई है.
Gemini 3 के मॉडल
| MediaResolution | इमेज | वीडियो | ऑडियो | |
MEDIA_RESOLUTION_UNSPECIFIED (डिफ़ॉल्ट)
|
1120 | 70 | 25 (हर सेकंड) | 560 |
MEDIA_RESOLUTION_LOW
|
280 | 70 | 25 (हर सेकंड) | 280 + नेटिव टेक्स्ट |
MEDIA_RESOLUTION_MEDIUM
|
560 | 70 | 25 (हर सेकंड) | 560 + नेटिव टेक्स्ट |
MEDIA_RESOLUTION_HIGH
|
1120 | 280 | 25 (हर सेकंड) | 1120 + नेटिव टेक्स्ट |
MEDIA_RESOLUTION_ULTRA_HIGH
|
2240 | लागू नहीं | लागू नहीं | लागू नहीं |
Gemini 2.5 के मॉडल
| MediaResolution | इमेज | वीडियो | ऑडियो | PDF (स्कैन किया गया) | PDF (नेटिव) |
MEDIA_RESOLUTION_UNSPECIFIED (डिफ़ॉल्ट)
|
256 + पैन और स्कैन (~2048) | 256 | 32 (हर सेकंड) | 256 + ओसीआर | 256 + नेटिव टेक्स्ट |
MEDIA_RESOLUTION_LOW
|
64 | 64 | 32 (हर सेकंड) | 64 + ओसीआर | 64 + नेटिव टेक्स्ट |
MEDIA_RESOLUTION_MEDIUM
|
256 | 256 | 32 (हर सेकंड) | 256 + ओसीआर | 256 + नेटिव टेक्स्ट |
MEDIA_RESOLUTION_HIGH
|
256 + पैन और स्कैन | 256 | 32 (हर सेकंड) | 256 + ओसीआर | 256 + नेटिव टेक्स्ट |
सही रिज़ॉल्यूशन चुनना
- डिफ़ॉल्ट (
UNSPECIFIED): डिफ़ॉल्ट सेटिंग से शुरू करें. इसे इस तरह से ट्यून किया गया है कि यह ज़्यादातर मामलों में क्वालिटी, इंतज़ार का समय, और लागत के बीच अच्छा संतुलन बनाए रखता है. LOW: इसका इस्तेमाल उन स्थितियों में करें जहां लागत और इंतज़ार का समय सबसे अहम हो और बारीकियों पर ध्यान देना कम ज़रूरी हो.MEDIUM/HIGH: रिज़ॉल्यूशन तब बढ़ाएं, जब टास्क के लिए मीडिया में मौजूद बारीकियों को समझना ज़रूरी हो. आम तौर पर, इसकी ज़रूरत मुश्किल विज़ुअल विश्लेषण, चार्ट पढ़ने या ज़्यादा जानकारी वाले दस्तावेज़ को समझने के लिए होती है.ULTRA HIGH- यह सिर्फ़ हर हिस्से की सेटिंग के लिए उपलब्ध है. इन्हें इस्तेमाल के कुछ खास उदाहरणों के लिए सुझाया जाता है. जैसे, कंप्यूटर का इस्तेमाल या जहां जांच से पता चलता है किHIGHके मुकाबले इनमें साफ़ तौर पर सुधार हुआ है.- हर हिस्से के लिए कंट्रोल (Gemini 4 और Gemini 3): इससे टोकन का इस्तेमाल ऑप्टिमाइज़ होता है. उदाहरण के लिए, एक से ज़्यादा इमेज वाले प्रॉम्प्ट में, मुश्किल डायग्राम के लिए
HIGHका इस्तेमाल करें. वहीं, कॉन्टेक्स्ट के हिसाब से आसान इमेज के लिएLOWयाMEDIUMका इस्तेमाल करें.
सुझाई गई सेटिंग
यहां दी गई सूची में, हर मीडिया टाइप के लिए सुझाए गए मीडिया रिज़ॉल्यूशन की सेटिंग दी गई हैं.
| मीडिया किस तरह का है | सुझाई गई सेटिंग | ज़्यादा से ज़्यादा टोकन | इस्तेमाल करने के बारे में सलाह |
| इमेज | MEDIA_RESOLUTION_HIGH
|
1120 | ज़्यादातर इमेज विश्लेषण के टास्क के लिए, इस विकल्प का सुझाव दिया जाता है, ताकि अच्छी क्वालिटी मिल सके. |
MEDIA_RESOLUTION_MEDIUM
|
560 | दस्तावेज़ को समझने के लिए सबसे सही; क्वालिटी आम तौर पर medium पर पहुंच जाती है. स्टैंडर्ड दस्तावेज़ों के लिए, high से ज़्यादा रिज़ॉल्यूशन बढ़ाने पर, ओसीआर के नतीजों में शायद ही कोई सुधार होता है.
|
|
| वीडियो (सामान्य) | MEDIA_RESOLUTION_LOW (या MEDIA_RESOLUTION_MEDIUM)
|
70 (हर फ़्रेम के लिए) | ध्यान दें: वीडियो के लिए, low और medium सेटिंग को एक जैसा (70 टोकन) माना जाता है, ताकि कॉन्टेक्स्ट का बेहतर तरीके से इस्तेमाल किया जा सके. यह तरीका, कार्रवाई की पहचान करने और जानकारी देने वाले ज़्यादातर टास्क के लिए काफ़ी है.
|
| वीडियो (इसमें ज़्यादातर टेक्स्ट होता है) | MEDIA_RESOLUTION_HIGH
|
280 (हर फ़्रेम के लिए) | इसकी ज़रूरत सिर्फ़ तब होती है, जब इस्तेमाल के उदाहरण में वीडियो फ़्रेम में मौजूद छोटे-छोटे टेक्स्ट (ओसीआर) या छोटी-छोटी जानकारी को पढ़ना हो. |
| ऑडियो | MEDIA_RESOLUTION_UNSPECIFIED (डिफ़ॉल्ट)
|
Gemini 3 के लिए 25 (हर सेकंड); Gemini 2.5 के लिए 32 (हर सेकंड) | ऑडियो को हर सेकंड के हिसाब से टोकन में बदला जाता है. यह दर, रिज़ॉल्यूशन की सभी सेटिंग (unspecified, low, medium, और high) के लिए तय होती है.
|
अपने ऐप्लिकेशन पर रिज़ॉल्यूशन की अलग-अलग सेटिंग के असर की जांच करें और उसका आकलन करें. इससे आपको क्वालिटी, इंतज़ार का समय, और लागत के बीच सबसे सही संतुलन बनाने में मदद मिलेगी.
वीडियो प्रोसेसिंग मोड के साथ संबंध
media_resolution और प्रोसेसिंग पैरामीटर, वीडियो इनपुट के अलग-अलग पहलुओं को कंट्रोल करते हैं:
media_resolution, हर फ़्रेम के रिज़ॉल्यूशन (हर फ़्रेम में टोकन की संख्या) को कंट्रोल करता है.processing/media_processingकंट्रोल से यह तय होता है कि वीडियो का कौनसा कॉन्टेंट संदर्भ में लोड किया जाएगा.
एक ही वीडियो इनपुट पर, दोनों को सेट किया जा सकता है. उदाहरण के लिए, किसी लंबी वीडियो के लिए टोकन के कुल इस्तेमाल को कम करने के लिए, कम रिज़ॉल्यूशन वाले मीडिया के साथ एजेंटिक प्रोसेसिंग का इस्तेमाल किया जा सकता है.
वीडियो प्रोसेसिंग मोड के बारे में ज़्यादा जानने के लिए, एजेंटिक वीडियो अंडरस्टैंडिंग गाइड देखें.
वर्शन के साथ काम करने वाली सुविधाओं की खास जानकारी
MediaResolutionenum, मीडिया इनपुट की सुविधा के साथ काम करने वाले सभी मॉडल के लिए उपलब्ध है.- हर इनम लेवल से जुड़े टोकन की संख्या, Gemini 4 / Gemini 3 मॉडल और Gemini के पुराने वर्शन के बीच अलग-अलग होती है.
Partऑब्जेक्ट परmedia_resolutionसेट करने की सुविधा, Gemini 4 और Gemini 3 मॉडल पर काम करती है.
अगले चरण
- Gemini API की मल्टीमॉडल क्षमताओं के बारे में ज़्यादा जानने के लिए, इमेज की बारीक़ी से पहचान, वीडियो की बारीक़ी से पहचान, ऑडियो की बारीक़ी से पहचान, और दस्तावेज़ की बारीक़ी से पहचान करने से जुड़ी गाइड देखें.