media_resolution প্যারামিটারটি নিয়ন্ত্রণ করে যে জেমিনি API কীভাবে ছবি, ভিডিও এবং পিডিএফ ডকুমেন্টের মতো মিডিয়া ইনপুট প্রক্রিয়া করে, মিডিয়া ইনপুটগুলির জন্য বরাদ্দকৃত সর্বাধিক সংখ্যক টোকেন নির্ধারণ করে, যা আপনাকে লেটেন্সি এবং খরচের সাথে প্রতিক্রিয়ার মানের ভারসাম্য বজায় রাখতে দেয়। বিভিন্ন সেটিংস, ডিফল্ট মান এবং টোকেনের সাথে কীভাবে সেগুলি সামঞ্জস্যপূর্ণ তা জানতে, টোকেন গণনা বিভাগটি দেখুন।
আপনি দুটি উপায়ে মিডিয়া রেজোলিউশন কনফিগার করতে পারেন:
প্রতি অংশে (শুধুমাত্র মিথুন ৩)
বিশ্বব্যাপী একটি সম্পূর্ণ
generateContentঅনুরোধের জন্য (সমস্ত মাল্টিমোডাল মডেল)
পার-পার্ট মিডিয়া রেজোলিউশন (শুধুমাত্র জেমিনি 3)
জেমিনি ৩ আপনাকে আপনার অনুরোধের মধ্যে থাকা পৃথক মিডিয়া অবজেক্টের জন্য মিডিয়া রেজোলিউশন সেট করতে দেয়, যা টোকেন ব্যবহারের সূক্ষ্ম অপ্টিমাইজেশন প্রদান করে। আপনি একটি একক অনুরোধে রেজোলিউশন স্তর মিশ্রিত করতে পারেন। উদাহরণস্বরূপ, একটি জটিল চিত্রের জন্য উচ্চ রেজোলিউশন এবং একটি সাধারণ প্রাসঙ্গিক চিত্রের জন্য নিম্ন রেজোলিউশন ব্যবহার করে। এই সেটিংটি একটি নির্দিষ্ট অংশের জন্য যেকোনো বিশ্বব্যাপী কনফিগারেশনকে ওভাররাইড করে। ডিফল্ট সেটিংসের জন্য, টোকেন গণনা বিভাগটি দেখুন।
পাইথন
from google import genai
from google.genai import types
# The media_resolution parameter for parts is currently only available in the v1alpha API version. (experimental)
client = genai.Client(
http_options={
'api_version': 'v1alpha',
}
)
# 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-3-pro-preview'
response = client.models.generate_content(
model=model_name,
contents=["Describe these images:", image_part_high]
)
print(response.text)
জাভাস্ক্রিপ্ট
// 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: 'v1alpha' } });
// 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-3-pro-preview';
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-3-pro-preview"
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/v1alpha/models/${MODEL_ID}:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d @request.json
বিশ্বব্যাপী মিডিয়া রেজোলিউশন
আপনি GenerationConfig ব্যবহার করে একটি অনুরোধে সমস্ত মিডিয়া অংশের জন্য একটি ডিফল্ট রেজোলিউশন সেট করতে পারেন। এটি সমস্ত মাল্টিমোডাল মডেল দ্বারা সমর্থিত। যদি একটি অনুরোধে গ্লোবাল এবং পার-পার্ট উভয় সেটিংস অন্তর্ভুক্ত থাকে, তাহলে সেই নির্দিষ্ট আইটেমের জন্য পার-পার্ট সেটিং অগ্রাধিকার পায়।
পাইথন
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-2.5-flash',
contents=["Describe this image:", image_part],
config=config
)
print(response.text)
জাভাস্ক্রিপ্ট
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-2.5-flash',
contents: ["Describe this image:", imagePart],
config: {
mediaResolution: MediaResolution.MEDIA_RESOLUTION_HIGH
}
});
console.log(response.text);
}
run();
বিশ্রাম
# ... (Base64 encoding logic) ...
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [...],
"generation_config": {
"media_resolution": "MEDIA_RESOLUTION_HIGH"
}
}'
উপলব্ধ রেজোলিউশন মান
জেমিনি এপিআই মিডিয়া রেজোলিউশনের জন্য নিম্নলিখিত স্তরগুলি সংজ্ঞায়িত করে:
-
MEDIA_RESOLUTION_UNSPECIFIED: ডিফল্ট সেটিং। এই স্তরের টোকেন গণনা জেমিনি 3 এবং পূর্ববর্তী জেমিনি মডেলগুলির মধ্যে উল্লেখযোগ্যভাবে পরিবর্তিত হয়। -
MEDIA_RESOLUTION_LOW: টোকেনের সংখ্যা কম, ফলে দ্রুত প্রক্রিয়াকরণ এবং কম খরচ হয়, কিন্তু কম বিশদ বিবরণ থাকে। -
MEDIA_RESOLUTION_MEDIUM: বিস্তারিত, খরচ এবং বিলম্বের মধ্যে একটি ভারসাম্য। -
MEDIA_RESOLUTION_HIGH: টোকেনের সংখ্যা বেশি, যা মডেলটিকে আরও বিস্তারিতভাবে কাজ করতে সাহায্য করে, বর্ধিত বিলম্ব এবং খরচের বিনিময়ে। - ( শীঘ্রই আসছে )
MEDIA_RESOLUTION_ULTRA_HIGH: কম্পিউটার ব্যবহারের মতো নির্দিষ্ট ব্যবহারের ক্ষেত্রে সর্বোচ্চ টোকেন গণনা প্রয়োজন।
এই প্রতিটি স্তরের জন্য উৎপন্ন টোকেনের সঠিক সংখ্যা মিডিয়া টাইপ (ছবি, ভিডিও, পিডিএফ) এবং মডেল সংস্করণ উভয়ের উপর নির্ভর করে।
টোকেন গণনা
নীচের সারণীতে প্রতিটি media_resolution মান এবং মডেল পরিবারের জন্য মিডিয়া ধরণের আনুমানিক টোকেন গণনার সংক্ষিপ্তসার দেওয়া হয়েছে।
জেমিনি ৩ মডেল
| মিডিয়া রেজোলিউশন | ভাবমূর্তি | ভিডিও | পিডিএফ |
MEDIA_RESOLUTION_UNSPECIFIED (ডিফল্ট) | ১১২০ | ৭০ | ৫৬০ |
MEDIA_RESOLUTION_LOW | ২৮০ | ৭০ | ২৮০ + নেটিভ টেক্সট |
MEDIA_RESOLUTION_MEDIUM | ৫৬০ | ৭০ | ৫৬০ + নেটিভ টেক্সট |
MEDIA_RESOLUTION_HIGH | ১১২০ | ২৮০ | ১১২০ + নেটিভ টেক্সট |
জেমিনি ২.৫ মডেল
| মিডিয়া রেজোলিউশন | ভাবমূর্তি | ভিডিও | পিডিএফ (স্ক্যান করা) | পিডিএফ (স্থানীয়) |
MEDIA_RESOLUTION_UNSPECIFIED (ডিফল্ট) | ২৫৬ + প্যান এবং স্ক্যান (~২০৪৮) | ২৫৬ | ২৫৬ + ওসিআর | ২৫৬ + নেটিভ টেক্সট |
MEDIA_RESOLUTION_LOW | ৬৪ | ৬৪ | ৬৪ + ওসিআর | ৬৪ + নেটিভ টেক্সট |
MEDIA_RESOLUTION_MEDIUM | ২৫৬ | ২৫৬ | ২৫৬ + ওসিআর | ২৫৬ + নেটিভ টেক্সট |
MEDIA_RESOLUTION_HIGH | ২৫৬ + প্যান এবং স্ক্যান | ২৫৬ | ২৫৬ + ওসিআর | ২৫৬ + নেটিভ টেক্সট |
সঠিক রেজোলিউশন নির্বাচন করা
- ডিফল্ট (
UNSPECIFIED): ডিফল্ট দিয়ে শুরু করুন। এটি বেশিরভাগ সাধারণ ব্যবহারের ক্ষেত্রে গুণমান, বিলম্ব এবং খরচের একটি ভাল ভারসাম্যের জন্য তৈরি। -
LOW: এমন পরিস্থিতিতে ব্যবহার করুন যেখানে খরচ এবং বিলম্বিতা সর্বাধিক গুরুত্বপূর্ণ, এবং সূক্ষ্ম বিবরণ কম গুরুত্বপূর্ণ। -
MEDIUM/HIGH: যখন কাজের জন্য মিডিয়ার মধ্যে জটিল বিবরণ বোঝার প্রয়োজন হয় তখন রেজোলিউশন বাড়ান। জটিল ভিজ্যুয়াল বিশ্লেষণ, চার্ট পড়া, অথবা নথির ঘন বোধগম্যতার জন্য এটি প্রায়শই প্রয়োজন হয়। - পার-পার্ট কন্ট্রোল (জেমিনি ৩): টোকেন ব্যবহার অপ্টিমাইজ করার জন্য এটি ব্যবহার করুন। উদাহরণস্বরূপ, একাধিক ছবি সহ একটি প্রম্পটে, একটি জটিল ডায়াগ্রামের জন্য
HIGHএবং সহজ প্রাসঙ্গিক ছবির জন্যLOWবাMEDIUMব্যবহার করুন।
প্রস্তাবিত সেটিংস
প্রতিটি সমর্থিত মিডিয়া ধরণের জন্য প্রস্তাবিত মিডিয়া রেজোলিউশন সেটিংস নীচে তালিকাভুক্ত করা হয়েছে।
| মিডিয়া টাইপ | প্রস্তাবিত সেটিং | সর্বোচ্চ টোকেন | ব্যবহারের নির্দেশিকা |
| ছবি | MEDIA_RESOLUTION_HIGH | ১১২০ | সর্বাধিক গুণমান নিশ্চিত করার জন্য বেশিরভাগ চিত্র বিশ্লেষণ কাজের জন্য প্রস্তাবিত। |
| পিডিএফ | MEDIA_RESOLUTION_MEDIUM | ৫৬০ | নথি বোঝার জন্য সর্বোত্তম; মান সাধারণত medium তাপমাত্রায় পরিপূর্ণ হয়। high স্তরে বৃদ্ধি করলে স্ট্যান্ডার্ড নথির জন্য OCR ফলাফল খুব কমই উন্নত হয়। |
| ভিডিও (সাধারণ) | MEDIA_RESOLUTION_LOW (অথবা MEDIA_RESOLUTION_MEDIUM ) | ৭০ (প্রতি ফ্রেমে) | দ্রষ্টব্য: ভিডিওর ক্ষেত্রে, প্রসঙ্গ ব্যবহার অপ্টিমাইজ করার জন্য low এবং medium সেটিংস একইভাবে (৭০টি টোকেন) ব্যবহার করা হয়। বেশিরভাগ অ্যাকশন শনাক্তকরণ এবং বর্ণনামূলক কাজের জন্য এটি যথেষ্ট। |
| ভিডিও (লেখার পরিধি বেশি) | MEDIA_RESOLUTION_HIGH | ২৮০ (প্রতি ফ্রেমে) | শুধুমাত্র তখনই প্রয়োজন যখন ব্যবহারের ক্ষেত্রে ঘন টেক্সট (OCR) বা ভিডিও ফ্রেমের মধ্যে ছোট ছোট বিবরণ পড়া জড়িত থাকে। |
গুণমান, বিলম্ব এবং খরচের মধ্যে সর্বোত্তম বিনিময় খুঁজে পেতে আপনার নির্দিষ্ট অ্যাপ্লিকেশনের উপর বিভিন্ন রেজোলিউশন সেটিংসের প্রভাব সর্বদা পরীক্ষা এবং মূল্যায়ন করুন।
সংস্করণের সামঞ্জস্যের সারাংশ
- মিডিয়া ইনপুট সমর্থনকারী সকল মডেলের জন্য
MediaResolutionএনাম উপলব্ধ। - প্রতিটি এনাম লেভেলের সাথে সম্পর্কিত টোকেন গণনা জেমিনি 3 মডেল এবং পূর্ববর্তী জেমিনি সংস্করণগুলির মধ্যে ভিন্ন ।
- পৃথক
Partঅবজেক্টেmedia_resolutionসেট করা জেমিনি 3 মডেলের জন্য একচেটিয়া ।
পরবর্তী পদক্ষেপ
- জেমিনি API-এর মাল্টিমোডাল ক্ষমতা সম্পর্কে আরও জানুন ইমেজ আন্ডারস্ট্যান্ডিং , ভিডিও আন্ডারস্ট্যান্ডিং এবং ডকুমেন্ট আন্ডারস্ট্যান্ডিং গাইডগুলিতে।