Videos verstehen

Sie können Gemini-Anfragen Videos hinzufügen, um Aufgaben auszuführen, bei denen die Inhalte der enthaltenen Videos berücksichtigt werden müssen. Auf dieser Seite erfahren Sie, wie Sie mithilfe der Google Cloud Console und der Agent Platform API Videos zu Ihren Anfragen an Gemini in der Gemini Enterprise Agent Platform hinzufügen.

Unterstützte Modelle

In der folgenden Tabelle sind die Modelle aufgeführt, die Videoverständnis unterstützen:

Modelle Mediendetails MIME-Typen
  • Maximale Videolänge (mit Audio): 10 Sekunden
  • Maximale Videolänge (ohne Audio): 10 Sekunden
  • Maximale Anzahl von Videos pro Prompt: 3
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
  • Maximale Videolänge (mit Audio): 10 Sekunden
  • Maximale Videolänge (ohne Audio): 10 Sekunden
  • Maximale Anzahl von Videos pro Prompt: 3
  • Unterstützte Seitenverhältnisse: 16:9, 9:16
  • Unterstützte Auflösungen: 360p, 720p, 1080p, 4K
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
  • Maximale Anzahl von Eingabevideodateien pro Prompt: 10
  • Maximale Anzahl von YouTube-URLs pro Prompt: 1
  • Maximale Videolänge (ohne Audio): Wie vom Kontextfenster mit 128.000 Tokens unterstützt (ca. 25 Minuten).
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
  • Maximale Videolänge (mit Audio): ca. 45 Minuten
  • Maximale Videolänge (ohne Audio): ca. 1 Stunde
  • Maximale Anzahl von Videos pro Prompt: 10
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
  • Standardeingabeauflösung: 768 × 768 (1 FPS)
  • Mindestauflösung für die Ausgabe des Live-Avatars: 704 × 1280 (Hochformat) oder 1280 × 704 (Querformat) bei 24 fps
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
  • Maximale Videolänge (mit Audio): ca. 45 Minuten
  • Maximale Videolänge (ohne Audio): ca. 1 Stunde
  • Maximale Anzahl von Videos pro Prompt: 10
  • Standardauflösungstokens pro Frame: 70
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
  • Maximale Anzahl von Eingabevideodateien pro Prompt: 10
  • Maximale Anzahl von YouTube-URLs pro Prompt: 1
  • Maximale Videolänge (ohne Audio): Wie vom Kontextfenster mit 65.536 Tokens unterstützt (ca. 12 Minuten).
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp
  • Standardauflösung: 768 × 768
  • video/x-flv
  • video/quicktime
  • video/mpeg
  • video/mpegs
  • video/mpg
  • video/mp4
  • video/webm
  • video/wmv
  • video/3gpp

Eine Liste der von Gemini-Modellen unterstützten Sprachen finden Sie in den Modellinformationen der Google-Modelle. Weitere Informationen zum Entwerfen multimodaler Prompts finden Sie unter Multimodale Prompts entwerfen. Wenn Sie nach einer Möglichkeit suchen, Gemini direkt über Ihre mobilen und Ihre Web-Apps zu verwenden, finden Sie weitere Informationen in den Firebase AI Logic-Client-SDKs für Swift-, Android-, Web-, Flutter- und Unity-Apps.

Videos zu einer Anfrage hinzufügen

Sie können Ihrer Anfrage an Gemini ein einzelnes Video oder mehrere Videos hinzufügen. Die Videos können Audio enthalten.

Einzelnes Video

Der Beispielcode auf den folgenden Tabs zeigt eine andere Methode zum Erkennen der Inhalte im Video. Dieses Beispiel funktioniert mit allen Gemini Multimodal-Modellen.

Console

So senden Sie einen multimodalen Prompt mit der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console im Bereich „Agent Platform“ die Seite Agent Studio auf.

    Zu Agent Studio

  2. Klicken Sie auf Prompt erstellen.

  3. Optional – Konfigurieren Sie Modell und Parameter:

    • Modell: Wählen Sie ein Modell aus.
  4. Optional: Klicken Sie zum Konfigurieren erweiterter Parameter auf Erweitert und konfigurieren Sie so:

    Klicken Sie, um erweiterte Konfigurationen zu maximieren.

    • Top-K: Sie können den Schieberegler oder das Textfeld verwenden, um einen Wert für Top-K einzugeben.

      Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von 1 bedeutet, dass das nächste ausgewählte Token unter den Tokens im Modell-Vokabular (auch als gierige Decodierung bezeichnet) am wahrscheinlichsten ist, während ein „Top-K“ von 3 bedeutet, dass das nächste Token mithilfe der Temperatur aus den drei wahrscheinlichsten Tokens ausgewählt wird.

      Für jeden Tokenauswahlschritt werden die „Top-K“-Tokens mit den höchsten Wahrscheinlichkeiten stichprobenartig erfasst. Anschließend werden Tokens weiter auf der Grundlage von „Top-P“ gefiltert, wobei das endgültige Token mithilfe von Temperaturproben ausgewählt wird.

      Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.

    • Top-P: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für „Top-P“ einzugeben. Tokens werden vom wahrscheinlichsten bis zum am wenigsten wahrscheinlichen Token ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem Wert von „Top-P“ entspricht. Für die Ergebnisse der geringsten Variablen legen Sie Top-P auf 0 fest.
    • Maximale Anzahl von Antworten: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für die Anzahl der zu generierenden Antworten einzugeben.
    • Streamingantworten: Wenn Sie diese Option aktivieren, werden Antworten ausgedruckt, sobald sie generiert werden.
    • Schwellenwert für Sicherheitsfilter: Wählen Sie den Schwellenwert aus, mit dem Sie festlegen, wie wahrscheinlich es ist, dass Sie Antworten sehen, die möglicherweise schädlich sind.
    • Fundierung aktivieren: Die Funktion „Fundierung“ wird für multimodale Prompts nicht unterstützt.
    • Region: Wählen Sie die Region aus, die Sie verwenden möchten.
    • Temperatur: Geben Sie über den Schieberegler oder das Textfeld einen Temperaturwert ein.

          
      The temperature is used for sampling during response generation, which occurs when topP
      and topK are applied. Temperature controls the degree of randomness in token selection.
      Lower temperatures are good for prompts that require a less open-ended or creative response, while
      higher temperatures can lead to more diverse or creative results. A temperature of 0
      means that the highest probability tokens are always selected. In this case, responses for a given
      prompt are mostly deterministic, but a small amount of variation is still possible.
      
      

      If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature. If the model enters infinite generation, increasing the temperature to at least 0.1 may lead to improved results.

      1.0 is the recommended starting value for temperature. </li> <li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.

      Specify a lower value for shorter responses and a higher value for potentially longer responses.

      </li> <li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences.</li> </ul>

  5. Klicken Sie auf Medien einfügen und wählen Sie eine Quelle für die Datei aus.

    Hochladen

    Wählen Sie die Datei aus, die Sie hochladen möchten, und klicken Sie auf Öffnen.

    Über URL

    Geben Sie die URL der Datei ein, die Sie verwenden möchten, und klicken Sie auf Einfügen.

    YouTube

    Geben Sie die URL des YouTube-Videos ein, das Sie verwenden möchten, und klicken Sie auf Einfügen.

    Sie können jedes öffentliche Video oder ein Video verwenden, das dem Konto gehört, mit dem Sie sich in der Google Cloud -Konsole angemeldet haben.

    Cloud Storage

    Wählen Sie den Bucket und dann die Datei aus dem Bucket aus, die Sie importieren möchten, und klicken Sie auf Auswählen.

    Google Drive

    1. Wählen Sie ein Konto aus und erteilen Sie Agent Studio die Einwilligung, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Sie können mehrere Dateien mit einer Gesamtgröße von bis zu 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
    2. Klicken Sie auf die Datei, die Sie hinzufügen möchten.
    3. Klicken Sie auf Auswählen.

      Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt. Außerdem wird die Gesamtzahl der Tokens angezeigt. Wenn Ihre Prompt-Daten das Tokenlimit überschreiten, werden die Tokens abgeschnitten und nicht bei der Verarbeitung Ihrer Daten berücksichtigt.

  6. Geben Sie Ihren Prompt in den Bereich Prompt ein.

  7. Optional: Wenn Sie Token-ID zu Text und Token-IDs sehen möchten, klicken Sie im Bereich Prompt auf die Anzahl der Tokens.

  8. Klicken Sie auf Senden.

  9. Optional: Klicken Sie auf Speichern, um den Prompt unter Meine Prompts zu speichern.

  10. Optional: Klicken Sie auf Mit Code erstellen > Code abrufen, um den Python-Code oder einen curl-Befehl für den Prompt abzurufen.

Python

Installieren

pip install --upgrade google-genai

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=[
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
            mime_type="video/mp4",
        ),
        "What is in the video?",
    ],
)
print(response.text)
# Example response:
# The video shows several people surfing in an ocean with a coastline in the background. The camera ...

Go

Go installieren oder aktualisieren

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateWithMuteVideo shows how to generate text using a video with no sound as the input.
func generateWithMuteVideo(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.5-flash"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: "What is in the video?"},
			{FileData: &genai.FileData{
				FileURI:  "gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
				MIMEType: "video/mp4",
			}},
		},
			Role: genai.RoleUser},
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)

	// Example response:
	// The video shows several surfers riding waves in an ocean setting. The waves are ...

	return nil
}

Java

Java installieren oder aktualisieren

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True


import com.google.genai.Client;
import com.google.genai.types.Content;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;
import com.google.genai.types.Part;

public class TextGenerationWithMuteVideo {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    generateContent(modelId);
  }

  // Generates text with mute video input
  public static String generateContent(String modelId) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      GenerateContentResponse response =
          client.models.generateContent(
              modelId,
              Content.fromParts(
                  Part.fromUri(
                      "gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
                      "video/mp4"),
                  Part.fromText("What is in this video?")),
              null);

      System.out.print(response.text());
      // Example response:
      // This video features **surfers in the ocean**.
      //
      // The main focus is on **one individual who catches and rides a wave**, executing various
      // turns and maneuvers as the wave breaks and dissipates into whitewater...
      return response.text();
    }
  }
}

Node.js

Installieren

npm install @google/genai

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

const {GoogleGenAI} = require('@google/genai');

const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';

async function generateText(
  projectId = GOOGLE_CLOUD_PROJECT,
  location = GOOGLE_CLOUD_LOCATION
) {
  const client = new GoogleGenAI({
    vertexai: true,
    project: projectId,
    location: location,
  });

  const response = await client.models.generateContent({
    model: 'gemini-2.5-flash-lite',
    contents: [
      {
        role: 'user',
        parts: [
          {
            fileData: {
              mimeType: 'video/mp4',
              fileUri:
                'gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4',
            },
          },
          {
            text: 'What is in the video?',
          },
        ],
      },
    ],
    config: {
      mediaResolution: 'MEDIA_RESOLUTION_LOW',
    },
  });

  console.log(response.text);

  // Example response:
  // The video shows several people surfing in an ocean with a coastline in the background. The camera ...

  return response.text;
}

REST

Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher-Modellendpunkt gesendet.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID. .
  • FILE_URI: Der URI oder die URL der Datei, die in den Prompt aufgenommen werden soll. Unter anderem sind folgende Werte zulässig:
    • Cloud Storage-Bucket-URI: Das Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud -Projekt befinden, von dem die Anfrage gesendet wird.
    • HTTP-URL: Die Datei-URL muss öffentlich lesbar sein. Sie können eine Videodatei, eine Audiodatei und bis zu 10 Bilddateien pro Anfrage angeben. Audio- und Videodateien sowie Dokumente dürfen nicht größer als 15 MB sein.
    • YouTube-Video-URL: Das YouTube-Video muss entweder dem Konto gehören, mit dem Sie sich in der Google Cloud Console angemeldet haben, oder öffentlich sein. Pro Anfrage wird nur eine YouTube-Video-URL unterstützt.

    Wenn Sie einen fileURI angeben, müssen Sie auch den Medientyp (mimeType) der Datei angeben. Wenn VPC Service Controls aktiviert ist, wird die Angabe einer Mediendatei-URL für fileURI nicht unterstützt.

    Wenn Sie keine Videodatei in Cloud Storage haben, können Sie die folgende öffentlich zugängliche Datei verwenden: gs://cloud-samples-data/video/animals.mp4 mit dem MIME-Typ video/mp4. Öffnen Sie die Beispiel-MP4-Datei, um dieses Video anzusehen.

  • MIME_TYPE: Der Medientyp der Datei, die in den Feldern data oder fileUri angegeben wurde. Unter anderem sind folgende Werte zulässig:

    Zum Maximieren von MIME-Typen klicken

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll. Beispiel:What is in the video?

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent" | Select-Object -Expand Content

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Beachten Sie Folgendes in der URL für dieses Beispiel:
  • Mit der Methode generateContent können Sie anfordern, dass die Antwort zurückgegeben wird, nachdem sie vollständig generiert wurde. Um die Wahrnehmung von Latenz für menschliche Zielgruppen zu verringern, streame die Antwort, während sie mithilfe der Methode streamGenerateContent erzeugt wird.
  • Die multimodale Modell-ID befindet sich am Ende der URL vor der Methode (z. B. gemini-3.5-flash). Dieses Beispiel unterstützt möglicherweise auch andere Modelle.
  • Wenn Sie einen regionalen API-Endpunkt verwenden (z. B. us-central1), bestimmt die Region aus der Endpunkt-URL, wo die Anfrage verarbeitet wird. Alle in Konflikt stehenden Standorte im Ressourcenpfad werden ignoriert.

Video mit Audio

Im Folgenden wird gezeigt, wie Sie eine Videodatei mit Audio zusammenfassen und Kapitel mit Zeitstempeln zurückgeben können. Dieses Beispiel funktioniert mit allen multimodalen Gemini-Modellen, die Video mit Audio unterstützen.

Python

Installieren

pip install --upgrade google-genai

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=[
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/video/ad_copy_from_video.mp4",
            mime_type="video/mp4",
        ),
        "What is in the video?",
    ],
)
print(response.text)
# Example response:
# The video shows several people surfing in an ocean with a coastline in the background. The camera ...

REST

Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher-Modellendpunkt gesendet.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: .
  • FILE_URI: Der URI oder die URL der Datei, die in den Prompt aufgenommen werden soll. Unter anderem sind folgende Werte zulässig:
    • Cloud Storage-Bucket-URI: Das Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud -Projekt befinden, von dem die Anfrage gesendet wird.
    • HTTP-URL: Die Datei-URL muss öffentlich lesbar sein. Sie können eine Videodatei, eine Audiodatei und bis zu 10 Bilddateien pro Anfrage angeben. Audio- und Videodateien sowie Dokumente dürfen nicht größer als 15 MB sein.
    • YouTube-Video-URL: Das YouTube-Video muss entweder dem Konto gehören, mit dem Sie sich in der Google Cloud Console angemeldet haben, oder öffentlich sein. Pro Anfrage wird nur eine YouTube-Video-URL unterstützt.

    Wenn Sie einen fileURI angeben, müssen Sie auch den Medientyp (mimeType) der Datei angeben. Wenn VPC Service Controls aktiviert ist, wird die Angabe einer Mediendatei-URL für fileURI nicht unterstützt.

    Wenn Sie keine Videodatei in Cloud Storage haben, können Sie die folgende öffentlich zugängliche Datei verwenden: gs://cloud-samples-data/generative-ai/video/pixel8.mp4 mit dem MIME-Typ video/mp4. Öffnen Sie die Beispiel-MP4-Datei, um dieses Video anzusehen.

  • MIME_TYPE: Der Medientyp der Datei, die in den Feldern data oder fileUri angegeben wurde. Unter anderem sind folgende Werte zulässig:

    Zum Maximieren von MIME-Typen klicken

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT
    Die Textanleitung, die in den Prompt eingefügt werden soll. Beispiel: Provide a description of the video. The description should also contain anything important which people say in the video.

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.5-flash:generateContent"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.5-flash:generateContent" | Select-Object -Expand Content

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Beachten Sie Folgendes in der URL für dieses Beispiel:
  • Mit der Methode generateContent können Sie anfordern, dass die Antwort zurückgegeben wird, nachdem sie vollständig generiert wurde. Um die Wahrnehmung von Latenz für menschliche Zielgruppen zu verringern, streame die Antwort, während sie mithilfe der Methode streamGenerateContent erzeugt wird.
  • Die multimodale Modell-ID befindet sich am Ende der URL vor der Methode (z. B. gemini-3.5-flash). Dieses Beispiel unterstützt möglicherweise auch andere Modelle.
  • Wenn Sie einen regionalen API-Endpunkt verwenden (z. B. us-central1), bestimmt die Region aus der Endpunkt-URL, wo die Anfrage verarbeitet wird. Alle in Konflikt stehenden Standorte im Ressourcenpfad werden ignoriert.

Console

So senden Sie einen multimodalen Prompt mit der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console im Bereich „Agent Platform“ die Seite Agent Studio auf.

    Zu Agent Studio

  2. Klicken Sie auf Prompt erstellen.

  3. Optional – Konfigurieren Sie Modell und Parameter:

    • Modell: Wählen Sie ein Modell aus.
  4. Optional: Klicken Sie zum Konfigurieren erweiterter Parameter auf Erweitert und konfigurieren Sie so:

    Klicken Sie, um erweiterte Konfigurationen zu maximieren.

    • Top-K: Sie können den Schieberegler oder das Textfeld verwenden, um einen Wert für Top-K einzugeben.

      Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von 1 bedeutet, dass das nächste ausgewählte Token unter den Tokens im Modell-Vokabular (auch als gierige Decodierung bezeichnet) am wahrscheinlichsten ist, während ein „Top-K“ von 3 bedeutet, dass das nächste Token mithilfe der Temperatur aus den drei wahrscheinlichsten Tokens ausgewählt wird.

      Für jeden Tokenauswahlschritt werden die „Top-K“-Tokens mit den höchsten Wahrscheinlichkeiten stichprobenartig erfasst. Anschließend werden Tokens weiter auf der Grundlage von „Top-P“ gefiltert, wobei das endgültige Token mithilfe von Temperaturproben ausgewählt wird.

      Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.

    • Top-P: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für „Top-P“ einzugeben. Tokens werden vom wahrscheinlichsten bis zum am wenigsten wahrscheinlichen Token ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem Wert von „Top-P“ entspricht. Für die Ergebnisse der geringsten Variablen legen Sie Top-P auf 0 fest.
    • Maximale Anzahl von Antworten: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für die Anzahl der zu generierenden Antworten einzugeben.
    • Streamingantworten: Wenn Sie diese Option aktivieren, werden Antworten ausgedruckt, sobald sie generiert werden.
    • Schwellenwert für Sicherheitsfilter: Wählen Sie den Schwellenwert aus, mit dem Sie festlegen, wie wahrscheinlich es ist, dass Sie Antworten sehen, die möglicherweise schädlich sind.
    • Fundierung aktivieren: Die Funktion „Fundierung“ wird für multimodale Prompts nicht unterstützt.
    • Region: Wählen Sie die Region aus, die Sie verwenden möchten.
    • Temperatur: Geben Sie über den Schieberegler oder das Textfeld einen Temperaturwert ein.

          
      The temperature is used for sampling during response generation, which occurs when topP
      and topK are applied. Temperature controls the degree of randomness in token selection.
      Lower temperatures are good for prompts that require a less open-ended or creative response, while
      higher temperatures can lead to more diverse or creative results. A temperature of 0
      means that the highest probability tokens are always selected. In this case, responses for a given
      prompt are mostly deterministic, but a small amount of variation is still possible.
      
      

      If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature. If the model enters infinite generation, increasing the temperature to at least 0.1 may lead to improved results.

      1.0 is the recommended starting value for temperature. </li> <li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.

      Specify a lower value for shorter responses and a higher value for potentially longer responses.

      </li> <li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences.</li> </ul>

  5. Klicken Sie auf Medien einfügen und wählen Sie eine Quelle für die Datei aus.

    Hochladen

    Wählen Sie die Datei aus, die Sie hochladen möchten, und klicken Sie auf Öffnen.

    Über URL

    Geben Sie die URL der Datei ein, die Sie verwenden möchten, und klicken Sie auf Einfügen.

    YouTube

    Geben Sie die URL des YouTube-Videos ein, das Sie verwenden möchten, und klicken Sie auf Einfügen.

    Sie können jedes öffentliche Video oder ein Video verwenden, das dem Konto gehört, mit dem Sie sich in der Google Cloud -Konsole angemeldet haben.

    Cloud Storage

    Wählen Sie den Bucket und dann die Datei aus dem Bucket aus, die Sie importieren möchten, und klicken Sie auf Auswählen.

    Google Drive

    1. Wählen Sie ein Konto aus und erteilen Sie Agent Studio die Einwilligung, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Sie können mehrere Dateien mit einer Gesamtgröße von bis zu 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
    2. Klicken Sie auf die Datei, die Sie hinzufügen möchten.
    3. Klicken Sie auf Auswählen.

      Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt. Außerdem wird die Gesamtzahl der Tokens angezeigt. Wenn Ihre Prompt-Daten das Tokenlimit überschreiten, werden die Tokens abgeschnitten und nicht bei der Verarbeitung Ihrer Daten berücksichtigt.

  6. Geben Sie Ihren Prompt in den Bereich Prompt ein.

  7. Optional: Wenn Sie Token-ID zu Text und Token-IDs sehen möchten, klicken Sie im Bereich Prompt auf die Anzahl der Tokens.

  8. Klicken Sie auf Senden.

  9. Optional: Klicken Sie auf Speichern, um den Prompt unter Meine Prompts zu speichern.

  10. Optional: Klicken Sie auf Mit Code erstellen > Code abrufen, um den Python-Code oder einen curl-Befehl für den Prompt abzurufen.

Videoverarbeitung anpassen

Sie können die Videoverarbeitung in der Gemini for Google Cloud API anpassen, indem Sie Clipping-Intervalle festlegen oder eine benutzerdefinierte Frameraten-Stichprobenerhebung angeben.

Clipping-Intervalle festlegen

Sie können Videos zuschneiden, indem Sie videoMetadata mit Start- und Endversatz angeben.

Benutzerdefinierte Framerate festlegen

Sie können eine benutzerdefinierte Framerate-Stichprobenerhebung festlegen, indem Sie ein fps-Argument an videoMetadata übergeben.

Standardmäßig wird 1 Bild pro Sekunde (FPS) aus dem Video entnommen. Für lange Videos sollten Sie einen niedrigen FPS-Wert (< 1) festlegen. Das ist besonders nützlich für Videos, die größtenteils statisch sind, z. B. Vorlesungen. Wenn Sie mehr Details in sich schnell ändernden Bildern erfassen möchten, sollten Sie einen höheren FPS-Wert festlegen.

Agentisches Videoverständnis

Mit agentischem Videoverständnis kann das Modell dynamisch durch Videoinhalte navigieren, anstatt jeden Frame statisch verarbeiten zu müssen. Agentisches Videoverständnis verwendet weniger Tokens als die statische Verarbeitung und kann die Antwortqualität verbessern. Dies kann zu geringeren Kosten und schnelleren Antworten bei Arbeitslasten mit Videos im Langformat führen.

Sie können agentisches Videoverständnis und statische Verarbeitung für verschiedene Videos in derselben Anfrage verwenden. Wenn Sie beispielsweise Videos im Langformat (z. B. eine einstündige Vorlesung) und Kurzvideos (z. B. YouTube Shorts) haben, können Sie das agentische Videoverständnis für die Videos im Langformat verwenden, um kontextrelevante Informationen zu finden, und die statische Verarbeitung für die Kurzvideos, um eine Präzision auf Frame-Ebene zu erreichen.

Der Videokontext muss über mehrere Runden in einer Unterhaltung hinweg beibehalten werden. Wenn Sie die agentische Verarbeitung mit der GenerateContent API verwenden, kann die Antwort opake Schritte (step_list) enthalten, die den Videokontext codieren. Sie müssen diese Schritte in die folgende Runde aufnehmen, um den Kontext beizubehalten. Wenn Sie sie weglassen, geht der Videokontext verloren und das Modell kann Folgefragen zum Video nicht beantworten, ohne es noch einmal zu verarbeiten.

Unterstützte Modelle und Dateitypen

Agentisches Videoverständnis wird in den folgenden Modellen unterstützt:

Klicken, um unterstützte Modelle einzublenden

Sie können die folgenden Quellen verwenden, wenn Sie agentisches Videoverständnis nutzen:

  • YouTube-URLs
  • Cloud Storage-URIs
  • Base64-codierte Inline-Videodateien

Wann sollte agentisches Videoverständnis verwendet werden?

Verwenden Sie agentisches Videoverständnis (media_processing = "AGENTIC") für die folgenden Arbeitslasten:

  • Fragen und Antworten sowie Suche in Videos im Langformat: Sie können gezielte Fragen stellen oder bestimmte Ereignisse in stundenlangen Vorlesungen, Besprechungen, Aufzeichnungen oder Video-Tutorials finden, ohne jeden Frame in voller Auflösung zu tokenisieren.
  • Detaillierte visuelle Prüfung: Sie können in einem längeren Video zu bestimmten Zeitstempeln oder visuellen Details zoomen, z. B. um kleinen Text auf dem Bildschirm, Folien oder Änderungen auf einer Anzeigetafel zu lesen.
  • Vergleich mehrerer Videos: Sie können mehrere Videos in einer einzigen Anfrage vergleichen. Sie können für jedes Video in derselben Anfrage unterschiedliche Verarbeitungsmodi verwenden.
  • Videobasierte KI-Agenten: Erstellen Sie KI-Agenten, die Videoinhalte analysieren und mehrstufige Unterhaltungen unterstützen. Der Videokontext wird über mehrere Turns hinweg beibehalten, ohne dass er neu verarbeitet werden muss.
  • Kostenoptimierung für lange Videoarbeitslasten: Reduzieren Sie den Tokenverbrauch für Anwendungen mit Videos im Langformat, bei denen nur ein Teil der Segmente für den Prompt relevant ist.

Behalten Sie die statische Standardverarbeitung (media_processing = "STATIC") bei, wenn:

  • Kurze Clips verarbeiten: Bei kurzen Videos wird durch die statische Verarbeitung der Aufwand für die Navigation durch mehrstufige Tools vermieden. Außerdem werden in der Regel weniger Tokens bei geringerer Latenz verwendet.
  • Einheitliche Verarbeitung des gesamten Videos: Ihre Arbeitslast erfordert eine einheitliche Frame-by-Frame-Analyse des gesamten Clips und keine gezielte Prüfung bestimmter Segmente.

Agentisches Videoverständnis verwenden

Sie können das agentische Videoverständnis über die GenerateContent API verwenden. Verwenden Sie media_processing = "AGENTIC" in der Anfrage:

Python

from google import genai
from google.genai import types

client = genai.Client()

# Example: Controlling media_processing explicitly
video_part = types.Part(
  file_data=types.FileData(
      file_uri="gs://my-bucket-name/sports_clip.mp4",
      mime_type="video/mp4",
  ),
  media_processing="agentic" # Options: "agentic", "static"
)

response = client.models.generate_content(
  model="gemini-3.7-flash",
  contents=[
      video_part,
      "Analyze the player's footwork right before the shot."
  ]
)
print(response.text)

REST

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/global/publishers/google/models/gemini-3.7-flash:generateContent \
-d '{
  "contents": [
    {
      "role": "USER",
      "parts": [
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "gs://my-bucket/lecture.mp4"
          },
          "mediaProcessing": "AGENTIC"
        },
        {
          "text": "Summarize the key takeaways."
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingLevel": "MEDIUM"
  }
}'

Agentisches Videoverständnis ist standardmäßig auf STATIC festgelegt oder für alle unterstützten Modelle deaktiviert.

Medienauflösung anpassen

Sie können MediaResolution anpassen, um Ihre Videos mit weniger Tokens zu verarbeiten.

Optionale Modellparameter festlegen

Jedes Modell hat eine Reihe optionaler Parameter, die Sie festlegen können. Weitere Informationen finden Sie unter Parameter für die Inhaltsgenerierung.

Video-Tokenisierung

Bei Gemini 3 wird für die Video-Tokenisierung eine variable Sequenzlänge verwendet, die die in früheren Modellen verwendete Pan-and-Scan-Methode ersetzt, um die Qualität und Latenz zu verbessern.

Sie können eine Medienauflösung für Videoeingaben angeben. Diese wirkt sich darauf aus, wie Videos tokenisiert werden und wie viele Tokens für jedes Video verwendet werden. Sie können media_resolution in generationConfig so festlegen, dass es für alle Medien in der Anfrage gilt, oder für einzelne Audioeinspielungen, wodurch die Einstellung auf oberster Ebene überschrieben wird. Die Standardauflösung für Videos beträgt 70 Tokens pro Frame.

Für Gemini 3-Modelle sind die folgenden Auflösungen verfügbar:

  • MEDIA_RESOLUTION_HIGH: 280 Tokens pro Frame
  • MEDIA_RESOLUTION_MEDIUM: 70 Tokens pro Frame
  • MEDIA_RESOLUTION_LOW: 70 Tokens pro Frame
  • MEDIA_RESOLUTION_UNSPECIFIED: 70 Tokens pro Frame (Standard)

Bei Modellen vor Gemini 3 wird jeder Frame mit 258 Tokens pro Frame für die Standardauflösung oder 66 Tokens pro Frame für die niedrige Auflösung tokenisiert.

In diesem Codebeispiel wird gezeigt, wie Sie media_resolution anpassen:

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
  model="gemini-3.1-pro-preview",
  contents=[
      types.Part(
          file_data=types.FileData(
              file_uri="gs://cloud-samples-data/generative-ai/image/a-man-and-a-dog.png",
              mime_type="image/jpeg",
          ),
          media_resolution=types.PartMediaResolution(
              level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_HIGH
          ),
      ),
      Part(
          file_data=types.FileData(
              file_uri="gs://cloud-samples-data/generative-ai/video/behind_the_scenes_pixel.mp4",
              mime_type="video/mp4",
          ),
          media_resolution=types.PartMediaResolution(
              level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_LOW
          ),
      ),
      "When does the image appear in the video? What is the context?",
  ],
)
print(response.text)

Best Practices

Beachten Sie bei der Verwendung von Videos die folgenden Best Practices und Informationen, um die besten Ergebnisse zu erzielen:

  • Wenn Ihr Prompt ein einzelnes Video enthält, platzieren Sie das Video vor dem Text-Prompt.
  • Wenn Sie Zeitstempel in einem Video mit Audio lokalisieren möchten, bitten Sie das Modell, Zeitstempel im Format zu generieren, das unter „Zeitstempelformat“ beschrieben ist.

Beachten Sie bei Gemini 3-Modellen außerdem Folgendes:

  • Verwenden Sie eine höhere Abtastrate (Bilder pro Sekunde) für Videos, die eine detaillierte zeitliche Analyse erfordern, z. B. für das Verständnis von schnellen Aktionen oder die Bewegungserkennung bei hoher Geschwindigkeit.

Beschränkungen

Multimodale Gemini-Modelle sind zwar in vielen multimodalen Anwendungsfällen nützlich, aber es ist wichtig, die Einschränkungen der Modelle zu verstehen:

  • Inhaltsmoderation: Die Modelle weigern sich, Antworten zu Videos zu geben, die gegen unsere Sicherheitsrichtlinien verstoßen.
  • Nichtsprachliche Geräuscherkennung: Die Modelle, die Audio unterstützen, können dazu führen, dass Töne, die keine Sprache sind, falsch erkannt werden.

Technische Details zu Videos

  • Verarbeitung mit der File API: Bei Verwendung der File API werden Videos mit 1 Bild pro Sekunde (FPS) und Audio mit 1 Kbit/s (einzelner Kanal) verarbeitet. Zeitstempel werden jede Sekunde hinzugefügt.

    • Diese Raten können sich in Zukunft ändern, um die Inferenz zu verbessern.
  • Zeitstempelformat: Wenn Sie sich in Ihrem Prompt auf bestimmte Momente in einem Video beziehen, hängt das Zeitstempelformat von der Framerate (Bilder pro Sekunde, FPS) Ihres Videos ab:

    • Für Abtastraten von 1 FPS oder weniger: Verwenden Sie das Format MM:SS, wobei die ersten beiden Ziffern für Minuten und die letzten beiden Ziffern für Sekunden stehen. Wenn Sie Offsets haben, die größer als 1 Stunde sind, verwenden Sie das Format H:MM:SS.

    • Für Abtastraten über 1 FPS: Verwenden Sie das Format MM:SS.sss oder, wenn Sie Offsets von mehr als 1 Stunde haben, das Format H:MM:SS.sss, das so beschrieben wird:

      • Die erste Ziffer steht für die Stunde.
      • Die zweiten beiden Ziffern stehen für die Minuten.
      • Die dritten beiden Ziffern stehen für Sekunden.
      • Die letzten drei Ziffern stehen für Sekundenbruchteile.
  • Best Practices:

    • Verwenden Sie für optimale Ergebnisse nur ein Video pro Prompt-Anfrage.

    • Wenn Sie Text und ein einzelnes Video kombinieren, platzieren Sie den Text-Prompt nach dem Videoteil im contents-Array.

    • Beachten Sie, dass bei schnellen Actionsequenzen aufgrund der Abtastrate von 1 FPS Details verloren gehen können. Verlangsame solche Clips gegebenenfalls.

Nächste Schritte