Résolution des contenus multimédias

Le paramètre media_resolution contrôle la façon dont l'API Gemini traite les entrées multimédias telles que les images, les vidéos et les documents PDF en déterminant le nombre maximal de jetons alloués aux entrées multimédias. Vous pouvez ainsi équilibrer la qualité de la réponse par rapport à la latence et au coût. Pour connaître les différents paramètres, les valeurs par défaut et leur correspondance avec les jetons, consultez la section Nombre de jetons.

Vous pouvez configurer la résolution des contenus multimédias de deux manières :

  • Par partie (Gemini 3 uniquement)

  • Globalement pour une requête generateContent entière (tous les modèles multimodaux)

Résolution des contenus multimédias par partie (Gemini 3 uniquement)

Gemini 3 vous permet de définir la résolution des contenus multimédias pour des objets multimédias individuels dans votre requête, ce qui vous permet d'optimiser l'utilisation des jetons. Vous pouvez combiner différents niveaux de résolution dans une seule requête. Par exemple, vous pouvez utiliser une haute résolution pour un diagramme complexe et une faible résolution pour une image contextuelle simple. Ce paramètre remplace toute configuration globale pour une partie spécifique. Pour connaître les paramètres par défaut, consultez la section Nombre de jetons.

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.1-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.1-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.1-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

Résolution globale des contenus multimédias

Vous pouvez définir une résolution par défaut pour toutes les parties multimédias d'une requête à l'aide de GenerationConfig. Cette fonctionnalité est compatible avec tous les modèles multimodaux. Si une requête inclut à la fois des paramètres globaux et des paramètres par partie, le paramètre par partie est prioritaire pour cet élément spécifique.

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-flash-preview',
    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-flash-preview',
      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-flash-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [...],
    "generation_config": {
      "media_resolution": "MEDIA_RESOLUTION_HIGH"
    }
  }'

Valeurs de résolution disponibles

L'API Gemini définit les niveaux suivants pour la résolution des contenus multimédias :

  • MEDIA_RESOLUTION_UNSPECIFIED : paramètre par défaut. Le nombre de jetons pour ce niveau varie considérablement entre Gemini 3 et les modèles Gemini antérieurs.
  • MEDIA_RESOLUTION_LOW: nombre de jetons inférieur, ce qui permet un traitement plus rapide et un coût plus faible, mais avec moins de détails.
  • MEDIA_RESOLUTION_MEDIUM : équilibre entre détails, coût et latence.
  • MEDIA_RESOLUTION_HIGH: nombre de jetons plus élevé, ce qui fournit plus de détails au modèle, mais augmente la latence et le coût.
  • MEDIA_RESOLUTION_ULTRA_HIGH (par partie uniquement) : nombre de jetons le plus élevé, requis pour des cas d'utilisation spécifiques tels que l'utilisation d'un ordinateur.

Notez que MEDIA_RESOLUTION_HIGH offre des performances optimales pour la plupart des cas d'utilisation.

Le nombre exact de jetons générés pour chacun de ces niveaux dépend à la fois du type de contenu (image, vidéo, PDF) et de la version du modèle.

Nombre de jetons

Les tableaux ci-dessous récapitulent le nombre approximatif de jetons pour chaque valeur media_resolution et type de contenu par famille de modèles.

Modèles Gemini 3

MediaResolution Image Vidéo PDF
MEDIA_RESOLUTION_UNSPECIFIED (par défaut) 1120 70 560
MEDIA_RESOLUTION_LOW 280 70 280 + texte natif
MEDIA_RESOLUTION_MEDIUM 560 70 560 + texte natif
MEDIA_RESOLUTION_HIGH 1120 280 1120 + texte natif
MEDIA_RESOLUTION_ULTRA_HIGH 2240 ND ND

Modèles Gemini 2.5

MediaResolution Image Vidéo PDF (numérisé) PDF (natif)
MEDIA_RESOLUTION_UNSPECIFIED (par défaut) 256 + panoramique et numérisation (~2048) 256 256 + OCR 256 + texte natif
MEDIA_RESOLUTION_LOW 64 64 64 + OCR 64 + texte natif
MEDIA_RESOLUTION_MEDIUM 256 256 256 + OCR 256 + texte natif
MEDIA_RESOLUTION_HIGH 256 + panoramique et numérisation 256 256 + OCR 256 + texte natif

Choisir la résolution adaptée

  • Par défaut (UNSPECIFIED) : commencez par la valeur par défaut. Elle est optimisée pour un bon équilibre entre qualité, latence et coût pour la plupart des cas d'utilisation courants.
  • LOW : utilisez cette valeur dans les scénarios où le coût et la latence sont primordiaux, et où les détails précis sont moins importants.
  • MEDIUM / HIGH : augmentez la résolution lorsque la tâche nécessite de comprendre des détails complexes dans le contenu multimédia. Cela est souvent nécessaire pour une analyse visuelle complexe, la lecture de graphiques ou la compréhension de documents denses.
  • ULTRA HIGH : disponible uniquement pour le paramètre par partie. Recommandé pour des cas d'utilisation spécifiques tels que l'utilisation d'un ordinateur ou lorsque les tests montrent une amélioration nette par rapport à HIGH.
  • Contrôle par partie (Gemini 3) : optimise l'utilisation des jetons. Par exemple, dans un prompt comportant plusieurs images, utilisez HIGH pour un diagramme complexe et LOW ou MEDIUM pour des images contextuelles plus simples.

Paramètres recommandés

La liste suivante indique les paramètres de résolution des contenus multimédias recommandés pour chaque type de contenu compatible.

Type de contenu Paramètre recommandé Nombre maximal de jetons Conseils d'utilisation
Images MEDIA_RESOLUTION_HIGH 1120 Recommandé pour la plupart des tâches d'analyse d'images afin de garantir une qualité maximale.
PDF MEDIA_RESOLUTION_MEDIUM 560 Optimal pour la compréhension des documents. La qualité atteint généralement un niveau de saturation à medium. Passer à high améliore rarement les résultats de l'OCR pour les documents standards.
Vidéo (général) MEDIA_RESOLUTION_LOW (ou MEDIA_RESOLUTION_MEDIUM) 70 (par image) Remarque : Pour les vidéos, les paramètres low et medium sont traités de manière identique (70 jetons) afin d'optimiser l'utilisation du contexte. Cela est suffisant pour la plupart des tâches de reconnaissance et de description des actions.
Vidéo (avec beaucoup de texte) MEDIA_RESOLUTION_HIGH 280 (par image) Requis uniquement lorsque le cas d'utilisation implique la lecture de texte dense (OCR) ou de petits détails dans les images vidéo.

Testez et évaluez toujours l'impact des différents paramètres de résolution sur votre application spécifique afin de trouver le meilleur compromis entre qualité, latence et coût.

Récapitulatif de la compatibilité des versions

  • L'énumération MediaResolution est disponible pour tous les modèles compatibles avec l'entrée multimédia.
  • Le nombre de jetons associé à chaque niveau d'énumération diffère entre les modèles Gemini 3 et les versions Gemini antérieures.
  • La définition de media_resolution sur des objets Part individuels est exclusive aux modèles Gemini 3.

Étapes suivantes