Medienauflösung

Mit dem Parameter media_resolution wird gesteuert, wie die Gemini API Media-Eingaben wie Bilder, Videos und PDF-Dokumente verarbeitet. Dazu wird die maximale Anzahl von Tokens für Media-Eingaben festgelegt. So können Sie die Antwortqualität mit Latenz und Kosten in Einklang bringen. Informationen zu den verschiedenen Einstellungen, Standardwerten und der Zuordnung zu Tokens finden Sie im Abschnitt Tokenanzahl.

Sie haben zwei Möglichkeiten, die Media-Auflösung zu konfigurieren:

  • Pro Teil (nur Gemini 3)

  • Global für eine gesamte generateContent-Anfrage (alle multimodalen Modelle)

Media-Auflösung pro Teil (nur Gemini 3)

Mit Gemini 3 können Sie die Media-Auflösung für einzelne Media-Objekte in Ihrer Anfrage festlegen und so die Tokennutzung optimieren. Sie können Auflösungsstufen in einer einzelnen Anfrage kombinieren. So können Sie beispielsweise für ein komplexes Diagramm eine hohe Auflösung und für ein einfaches Kontextbild eine niedrige Auflösung verwenden. Diese Einstellung überschreibt alle globalen Konfigurationen für einen bestimmten Teil. Informationen zu den Standardeinstellungen finden Sie im Abschnitt Tokenanzahl.

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

Globale Media-Auflösung

Mit GenerationConfig können Sie eine Standardauflösung für alle Medienteile in einer Anfrage festlegen. Das wird von allen multimodalen Modellen unterstützt. Wenn eine Anfrage sowohl globale als auch einstellungsbezogene Einstellungen enthält, hat die einstellungsbezogene Einstellung für das jeweilige Element Vorrang.

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"
    }
  }'

Verfügbare Auflösungswerte

In der Gemini API werden die folgenden Stufen für die Media-Auflösung definiert:

  • MEDIA_RESOLUTION_UNSPECIFIED: Die Standardeinstellung. Die Anzahl der Tokens für diese Stufe variiert erheblich zwischen Gemini 3 und früheren Gemini-Modellen.
  • MEDIA_RESOLUTION_LOW: Geringere Anzahl von Tokens, was zu einer schnelleren Verarbeitung und niedrigeren Kosten führt, aber weniger Details liefert.
  • MEDIA_RESOLUTION_MEDIUM: Ein ausgewogenes Verhältnis zwischen Detailgrad, Kosten und Latenz.
  • MEDIA_RESOLUTION_HIGH: Eine höhere Anzahl von Tokens, die dem Modell mehr Details zur Verfügung stellt, mit denen es arbeiten kann. Dies führt jedoch zu einer höheren Latenz und höheren Kosten.
  • (Demnächst verfügbar) MEDIA_RESOLUTION_ULTRA_HIGH: Höchste Anzahl an Tokens, die für bestimmte Anwendungsfälle wie die Computernutzung erforderlich sind.

Die genaue Anzahl der für jede dieser Ebenen generierten Tokens hängt sowohl vom Medientyp (Bild, Video, PDF) als auch von der Modellversion ab.

Tokenanzahl

In den folgenden Tabellen sind die ungefähren Tokenanzahlen für jeden media_resolution-Wert und Medientyp pro Modellfamilie zusammengefasst.

Gemini 3-Modelle

MediaResolution Bild Video PDF
MEDIA_RESOLUTION_UNSPECIFIED (Standard) 1.120 70 560
MEDIA_RESOLUTION_LOW 280 70 280 + nativer Text
MEDIA_RESOLUTION_MEDIUM 560 70 560 + nativer Text
MEDIA_RESOLUTION_HIGH 1.120 280 1.120 + nativer Text

Gemini 2.5-Modelle

MediaResolution Bild Video PDF (gescannt) PDF (nativ)
MEDIA_RESOLUTION_UNSPECIFIED (Standard) 256 + Pan & Scan (~2048) 256 256 + OCR 256 + nativer Text
MEDIA_RESOLUTION_LOW 64 64 64 + OCR 64 + nativer Text
MEDIA_RESOLUTION_MEDIUM 256 256 256 + OCR 256 + nativer Text
MEDIA_RESOLUTION_HIGH 256 + Pan & Scan 256 256 + OCR 256 + nativer Text

Die richtige Auflösung auswählen

  • Standard (UNSPECIFIED): Beginnen Sie mit der Standardeinstellung. Es ist für die meisten gängigen Anwendungsfälle auf ein gutes Gleichgewicht zwischen Qualität, Latenz und Kosten abgestimmt.
  • LOW:Für Szenarien, in denen Kosten und Latenz von größter Bedeutung sind und detaillierte Informationen weniger wichtig sind.
  • MEDIUM / HIGH:Erhöhe die Auflösung, wenn für die Aufgabe das Erkennen komplexer Details in den Media erforderlich ist. Das ist oft für komplexe visuelle Analysen, das Lesen von Diagrammen oder das Verstehen von umfangreichen Dokumenten erforderlich.
  • Steuerung pro Teil (Gemini 3): Damit lässt sich die Tokennutzung optimieren. Verwenden Sie beispielsweise in einem Prompt mit mehreren Bildern HIGH für ein komplexes Diagramm und LOW oder MEDIUM für einfachere Kontextbilder.

Empfohlene Einstellungen

In den folgenden Listen sind die empfohlenen Einstellungen für die Media-Auflösung für jeden unterstützten Medientyp aufgeführt.

Medientyp Empfohlene Einstellung Maximale Anzahl an Tokens Usage Guidance
Bilder MEDIA_RESOLUTION_HIGH 1.120 Für die meisten Bildanalyseaufgaben empfohlen, um maximale Qualität zu gewährleisten.
PDFs MEDIA_RESOLUTION_MEDIUM 560 Optimal für das Verständnis von Dokumenten; die Qualität erreicht in der Regel bei medium ihren Sättigungspunkt. Eine Erhöhung auf high führt bei Standarddokumenten selten zu besseren OCR-Ergebnissen.
Video (Allgemein) MEDIA_RESOLUTION_LOW oder MEDIA_RESOLUTION_MEDIUM 70 (pro Frame) Hinweis:Für Video werden die Einstellungen für low und medium identisch behandelt (70 Tokens), um die Kontextnutzung zu optimieren. Das ist für die meisten Aufgaben zur Aktionserkennung und ‑beschreibung ausreichend.
Video (viel Text) MEDIA_RESOLUTION_HIGH 280 (pro Frame) Nur erforderlich, wenn der Anwendungsfall das Lesen von dichtem Text (OCR) oder kleinen Details in Videoframes umfasst.

Testen und bewerten Sie immer die Auswirkungen verschiedener Auflösungseinstellungen auf Ihre spezifische Anwendung, um das beste Verhältnis zwischen Qualität, Latenz und Kosten zu finden.

Zusammenfassung der Versionskompatibilität

  • Die MediaResolution-Enumeration ist für alle Modelle verfügbar, die Media-Eingabe unterstützen.
  • Die Tokenanzahl, die mit jeder Enum-Ebene verknüpft ist, unterscheidet sich zwischen Gemini 3-Modellen und früheren Gemini-Versionen.
  • Das Festlegen von media_resolution für einzelne Part-Objekte ist ausschließlich Gemini 3-Modellen vorbehalten.

Nächste Schritte