Il parametro media_resolution controlla il modo in cui l'API Gemini elabora gli input multimediali come immagini, video e documenti PDF determinando il numero massimo di token allocati per gli input multimediali, consentendoti di bilanciare la qualità della risposta con la latenza e il costo. Per impostazioni, valori predefiniti e corrispondenze con i token diversi, consulta la sezione Conteggi token.
Puoi configurare la risoluzione dei contenuti multimediali in due modi:
Per parte (solo Gemini 3)
A livello globale per un'intera richiesta
generateContent(tutti i modelli multimodali)
Risoluzione dei contenuti multimediali per parte (solo Gemini 3)
Gemini 3 ti consente di impostare la risoluzione dei contenuti multimediali per i singoli oggetti multimediali all'interno della richiesta, offrendo un'ottimizzazione granulare dell'utilizzo dei token. Puoi combinare livelli di risoluzione in un'unica richiesta. Ad esempio, utilizza l'alta risoluzione per un diagramma complesso e la bassa risoluzione per un'immagine contestuale semplice. Questa impostazione sostituisce qualsiasi configurazione globale per una parte specifica. Per le impostazioni predefinite, consulta la sezione Conteggi dei token.
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();
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-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
Risoluzione globale dei contenuti multimediali
Puoi impostare una risoluzione predefinita per tutte le parti multimediali di una richiesta utilizzando
GenerationConfig. Questa funzionalità è supportata da tutti i modelli multimodali. Se una richiesta
include sia impostazioni globali che per parte, l'impostazione per parte ha la precedenza per l'elemento specifico.
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();
REST
# ... (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"
}
}'
Valori di risoluzione disponibili
L'API Gemini definisce i seguenti livelli per la risoluzione dei contenuti multimediali:
MEDIA_RESOLUTION_UNSPECIFIED: l'impostazione predefinita. Il conteggio dei token per questo livello varia in modo significativo tra Gemini 3 e i modelli Gemini precedenti.MEDIA_RESOLUTION_LOW: numero di token inferiore, con conseguente elaborazione più rapida e costi inferiori, ma con meno dettagli.MEDIA_RESOLUTION_MEDIUM: un equilibrio tra dettagli, costi e latenza.MEDIA_RESOLUTION_HIGH: un numero maggiore di token, che fornisce più dettagli con cui il modello può lavorare, a scapito di una maggiore latenza e costi più elevati.- (Disponibile a breve)
MEDIA_RESOLUTION_ULTRA_HIGH: il numero più alto di token richiesto per casi d'uso specifici, come l'utilizzo del computer.
Il numero esatto di token generati per ciascuno di questi livelli dipende sia dal tipo di media (immagine, video, PDF) sia dalla versione del modello.
Conteggi dei token
Le tabelle riportate di seguito riepilogano i conteggi approssimativi dei token per ciascun
valore media_resolution e tipo di media per famiglia di modelli.
Modelli Gemini 3
| MediaResolution | Image | Video | |
MEDIA_RESOLUTION_UNSPECIFIED (valore predefinito)
|
1120 | 70 | 560 |
MEDIA_RESOLUTION_LOW
|
280 | 70 | 280 + Native Text |
MEDIA_RESOLUTION_MEDIUM
|
560 | 70 | 560 + testo nativo |
MEDIA_RESOLUTION_HIGH
|
1120 | 280 | 1120 + Native Text |
Modelli Gemini 2.5
| MediaResolution | Image | Video | PDF (scansionato) | PDF (nativo) |
MEDIA_RESOLUTION_UNSPECIFIED (valore predefinito)
|
256 + Pan & Scan (~2048) | 256 | 256 + OCR | 256 + Testo nativo |
MEDIA_RESOLUTION_LOW
|
64 | 64 | 64 + OCR | 64 + Testo nativo |
MEDIA_RESOLUTION_MEDIUM
|
256 | 256 | 256 + OCR | 256 + Testo nativo |
MEDIA_RESOLUTION_HIGH
|
256 + Pan & Scan | 256 | 256 + OCR | 256 + Testo nativo |
Scegliere la risoluzione giusta
- Predefinito (
UNSPECIFIED): inizia con il valore predefinito. È ottimizzato per un buon equilibrio tra qualità, latenza e costi per i casi d'uso più comuni. LOW: utilizza questa opzione per gli scenari in cui costi e latenza sono fondamentali e i dettagli granulari sono meno importanti.MEDIUM/HIGH: aumenta la risoluzione quando l'attività richiede la comprensione di dettagli complessi all'interno dei contenuti multimediali. Spesso è necessario per analisi visive complesse, lettura di grafici o comprensione di documenti densi.- Controllo per parte (Gemini 3): utilizza questa funzionalità per ottimizzare l'utilizzo dei token. Ad esempio, in un prompt con più immagini, utilizza
HIGHper un diagramma complesso eLOWoMEDIUMper immagini contestuali più semplici.
Impostazioni consigliate
Di seguito sono elencate le impostazioni di risoluzione multimediale consigliate per ciascun tipo di media supportato.
| Tipo di media | Impostazione consigliata | Max Tokens | Indicazioni per l'utilizzo |
| Immagini | MEDIA_RESOLUTION_HIGH
|
1120 | Consigliato per la maggior parte delle attività di analisi delle immagini per garantire la massima qualità. |
MEDIA_RESOLUTION_MEDIUM
|
560 | Ottimale per la comprensione dei documenti; la qualità in genere satura a medium. L'aumento a high raramente migliora i risultati dell'OCR per i documenti standard.
|
|
| Video (Generale) | MEDIA_RESOLUTION_LOW (o MEDIA_RESOLUTION_MEDIUM)
|
70 (per frame) | Nota:per i video, le impostazioni low e medium vengono trattate in modo identico (70 token) per ottimizzare l'utilizzo del contesto. Questo è sufficiente per la maggior parte delle attività di riconoscimento e descrizione delle azioni.
|
| Video (con molto testo) | MEDIA_RESOLUTION_HIGH
|
280 (per fotogramma) | Obbligatorio solo quando il caso d'uso prevede la lettura di testo denso (OCR) o piccoli dettagli all'interno dei fotogrammi video. |
Esegui sempre test e valuta l'impatto di diverse impostazioni di risoluzione sulla tua applicazione specifica per trovare il miglior compromesso tra qualità, latenza e costi.
Riepilogo della compatibilità delle versioni
- L'enumerazione
MediaResolutionè disponibile per tutti i modelli che supportano l'input multimediale. - Il conteggio dei token associati a ogni livello di enumerazione varia tra i modelli Gemini 3 e le versioni precedenti di Gemini.
- L'impostazione
media_resolutionsui singoli oggettiPartè esclusiva dei modelli Gemini 3.
Passaggi successivi
- Scopri di più sulle funzionalità multimodali dell'API Gemini nelle guide comprensione delle immagini, comprensione dei video e comprensione dei documenti.