Параметр 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();
REST
# 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 | Изображение | Видео | Аудио | PDF. |
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 + Pan & Scan (~2048) | 256 | 32 (в секунду) | 256 + OCR | 256 + нативный текст |
MEDIA_RESOLUTION_LOW
|
64 | 64 | 32 (в секунду) | 64 + OCR | 64 + нативный текст |
MEDIA_RESOLUTION_MEDIUM
|
256 | 256 | 32 (в секунду) | 256 + OCR | 256 + нативный текст |
MEDIA_RESOLUTION_HIGH
|
256 + панорамирование и сканирование | 256 | 32 (в секунду) | 256 + OCR | 256 + нативный текст |
Как выбрать разрешение
- По умолчанию (
UNSPECIFIED). Начните с настроек по умолчанию. Она обеспечивает оптимальный баланс качества, задержки и стоимости для большинства распространенных сценариев использования. LOW. Используйте этот вариант, если для вас важнее всего стоимость и задержка, а не детализация.MEDIUM/HIGH. Увеличьте разрешение, если для выполнения задачи требуется понять сложные детали медиаконтента. Это часто необходимо для сложного визуального анализа, чтения диаграмм или понимания плотных документов.ULTRA HIGH– доступно только для настройки отдельных частей. Рекомендуется для определенных случаев использования, например при работе на компьютере или если тестирование показывает, что этот режим значительно лучше, чемHIGH.- Управление отдельными частями (Gemini 4 и 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) или мелких деталей в кадрах видео. |
| Аудио | MEDIA_RESOLUTION_UNSPECIFIED (по умолчанию)
|
25 (в секунду) для Gemini 3; 32 (в секунду) для Gemini 2.5 | Токенизация аудио выполняется по фиксированной ставке за секунду для всех поддерживаемых настроек разрешения (unspecified, low, medium и high).
|
Всегда тестируйте и оценивайте влияние различных настроек разрешения на ваше приложение, чтобы найти наилучший компромисс между качеством, задержкой и стоимостью.
Связь с режимами обработки видео
Параметры media_resolution и обработки управляют разными аспектами видеовхода:
media_resolutionопределяет разрешение каждого кадра (количество токенов на кадр).processing/media_processingпозволяет выбрать, какой контент из видео будет загружен в контекст.
Оба параметра можно задать для одного и того же видеовхода. Например, вы можете использовать обработку с помощью агента с низким разрешением медиафайла, чтобы минимизировать общее использование токенов для длинного видео.
Подробнее о режимах обработки видео…
Сводка по совместимости версий
- Перечисление
MediaResolutionдоступно для всех моделей, поддерживающих медиаконтент. - Количество токенов, связанных с каждым уровнем перечисления, различается в моделях Gemini 4 и Gemini 3 и более ранних версиях Gemini.
- Настройка
media_resolutionдля отдельных объектовPartподдерживается в моделях Gemini 4 и Gemini 3.
Дальнейшие действия
- Подробнее о мультимодальных возможностях Gemini API рассказывается в руководствах по пониманию изображений, видео, аудио и документов.