Параметр media_resolution управляет обработкой входных медиафайлов API Gemini, таких как изображения, видео и PDF-документы, определяя максимальное количество токенов, выделяемых для медиавходов. Это позволяет сбалансировать качество ответа с задержкой и стоимостью. Различные настройки, значения по умолчанию и их соответствие токенам см. в разделе « Количество токенов» .
Разрешение мультимедиа можно настроить двумя способами:
За каждую деталь (только для Gemini 3)
В глобальном масштабе для всего запроса
generateContent(все мультимодальные модели)
Разрешение медиафайлов по отдельным частям (только для Gemini 3)
Gemini 3 позволяет задавать разрешение для отдельных медиаобъектов в вашем запросе, обеспечивая тонкую оптимизацию использования токенов. Вы можете смешивать уровни разрешения в одном запросе. Например, использовать высокое разрешение для сложной диаграммы и низкое разрешение для простого контекстного изображения. Этот параметр переопределяет любую глобальную конфигурацию для конкретной части. Настройки по умолчанию см. в разделе «Количество токенов» .
Python
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)
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: '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 можно задать разрешение по умолчанию для всех частей медиафайла в запросе. Эта функция поддерживается всеми многомодальными моделями. Если запрос содержит как глобальные, так и настройки для каждой части , то для конкретного элемента приоритет имеет настройка для каждой части.
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-2.5-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-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"
}
}'
Доступные значения разрешения
API Gemini определяет следующие уровни разрешения медиафайлов:
-
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 | 560 |
MEDIA_RESOLUTION_LOW | 280 | 70 | 280 + Исходный текст |
MEDIA_RESOLUTION_MEDIUM | 560 | 70 | 560 + Исходный текст |
MEDIA_RESOLUTION_HIGH | 1120 | 280 | 1120 + Исходный текст |
MEDIA_RESOLUTION_ULTRA_HIGH | 2240 | Н/Д | Н/Д |
Модели Gemini 2.5
| MediaResolution | Изображение | Видео | PDF (сканированный) | PDF (в исходном формате) |
MEDIA_RESOLUTION_UNSPECIFIED (По умолчанию) | 256 + Pan & Scan (~2048) | 256 | 256 + OCR | 256 + Исходный текст |
MEDIA_RESOLUTION_LOW | 64 | 64 | 64 + OCR | 64 + Исходный текст |
MEDIA_RESOLUTION_MEDIUM | 256 | 256 | 256 + OCR | 256 + Исходный текст |
MEDIA_RESOLUTION_HIGH | 256 + Панорамирование и сканирование | 256 | 256 + OCR | 256 + Исходный текст |
Выбор правильного разрешения
- Значение по умолчанию (
UNSPECIFIED): Начните с значения по умолчанию. Оно настроено для обеспечения оптимального баланса качества, задержки и стоимости для большинства распространенных сценариев использования. -
LOW: Используйте в сценариях, где стоимость и задержка имеют первостепенное значение, а детализация менее критична. -
MEDIUM/HIGH: Повышайте разрешение, когда задача требует понимания мельчайших деталей в медиаконтенте. Это часто необходимо для сложного визуального анализа, чтения диаграмм или понимания объемных документов. -
ULTRA HIGH— доступен только для настройки отдельных компонентов. Рекомендуется для определенных сценариев использования, например, при работе за компьютером или в случаях, когда тестирование показывает явное улучшение по сравнению сHIGH. - Управление по частям (Gemini 3): Оптимизирует использование токенов. Например, в запросе с несколькими изображениями используйте
HIGHдля сложной диаграммы иLOWилиMEDIUMдля более простых контекстных изображений.
Рекомендуемые настройки
Ниже приведен список рекомендуемых настроек разрешения для каждого поддерживаемого типа мультимедиа.
| Тип носителя | Рекомендуемые настройки | Максимальное количество токенов | Руководство по применению |
| Изображения | MEDIA_RESOLUTION_HIGH | 1120 | Рекомендуется для большинства задач анализа изображений, обеспечивающих максимальное качество. |
| PDF-файлы | MEDIA_RESOLUTION_MEDIUM | 560 | Оптимальный уровень для понимания документов; качество обычно достигает насыщения на medium . Повышение до high редко улучшает результаты распознавания текста для стандартных документов. |
| Видео (Общее) | MEDIA_RESOLUTION_LOW (или MEDIA_RESOLUTION_MEDIUM ) | 70 (за кадр) | Примечание: Для видео low и medium настройки обрабатываются одинаково (70 токенов) для оптимизации использования контекста. Этого достаточно для большинства задач распознавания и описания действий. |
| Видео (с большим количеством текста) | MEDIA_RESOLUTION_HIGH | 280 (за кадр) | Требуется только в тех случаях, когда сценарий использования включает распознавание текста с высоким разрешением (OCR) или чтение мелких деталей в видеокадрах. |
Всегда тестируйте и оценивайте влияние различных настроек разрешения на конкретное приложение, чтобы найти оптимальный компромисс между качеством, задержкой и стоимостью.
Сводка совместимости версий
- Перечисление
MediaResolutionдоступно для всех моделей, поддерживающих ввод мультимедиа. - Количество токенов, связанных с каждым уровнем перечисления, различается между моделями Gemini 3 и более ранними версиями Gemini.
- Настройка
media_resolutionдля отдельных объектовPartдоступна только в моделях Gemini 3 .
Следующие шаги
- Подробнее о многомодальных возможностях API Gemini можно узнать в руководствах по распознаванию изображений , распознаванию видео и распознаванию документов .