Objekte in Veo-Videos einfügen

Mit Veo in Vertex AI können Sie Objekte in Videos einfügen. Dazu müssen Sie eine Maske und ein Bildobjekt angeben und dann einen Prompt für das Modell erstellen, der eine Beschreibung der gewünschten Ausgabe enthält.

Weitere Informationen zum Schreiben effektiver Text-Prompts für die Videogenerierung finden Sie im Veo-Leitfaden zu Prompts.

Veo in einem Colab ausprobieren

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. Richten Sie die Authentifizierung für Ihre Umgebung ein.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    Python

    Wenn Sie die Python -Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      Installieren Sie die Google Cloud CLI.

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

      If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI.

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

    Objekt in ein Video einfügen

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Vertex AI Studio > Media generieren auf.

      Media Studio

    2. Klicken Sie auf Veo.

    3. Optional: Konfigurieren Sie im Bereich Einstellungen die folgenden Einstellungen:

      • Modell: Wählen Sie Veo 2 Preview aus.

      • Seitenverhältnis: Wählen Sie entweder 16:9 oder 9:16 aus.

      • Anzahl der Ergebnisse: Stellen Sie den Schieberegler ein oder geben Sie einen Wert zwischen 1 und 4 ein.

      • Videolänge: Wähle im Menü die gewünschte Videolänge aus.

      • Ausgabeordner: Klicken Sie auf Durchsuchen, um einen Cloud Storage-Bucket zum Speichern von Ausgabedateien zu erstellen oder auszuwählen.

    4. Optional: Wählen Sie im Bereich Sicherheit eine der folgenden Einstellungen für die Generierung von Personen aus:

      • Zulassen (nur Erwachsene): Standardwert. Nur erwachsene Personen oder Gesichter generieren. Es dürfen keine Bilder von Jugendlichen oder Kindern oder Gesichter von Jugendlichen oder Kindern generiert werden.

      • Nicht zulassen: Es werden keine Personen oder Gesichter generiert.

    5. Optional: Geben Sie im Abschnitt Erweiterte Optionen einen Seed-Wert ein, um die Videogenerierung zu randomisieren.

    6. Klicken Sie auf Bild oder Video hochladen.

    7. Wählen Sie ein lokales Video zum Hochladen aus und klicken Sie auf Auswählen.

    8. Führen Sie einen der folgenden Schritte aus:

      • Eigene Maske hochladen:

        1. Erstellen Sie eine Maske auf Ihrem Computer.

        2. Klicken Sie auf Maske hochladen. Wählen Sie im angezeigten Dialogfeld eine Maske zum Hochladen aus.

      • Maske definieren:Verwenden Sie in der Bearbeitungssymbolleiste die Maskentools (Feld, Pinsel oder masked_transitions-Invertierungstool), um den Bereich oder die Bereiche anzugeben, in denen Inhalte hinzugefügt werden sollen.

    9. Geben Sie im Feld Prompt schreiben einen Prompt ein, in dem Sie die Elemente beschreiben, die Sie Ihrem Video hinzufügen möchten, und klicken Sie dann auf  Generieren.

    Python

    Installieren

    pip install --upgrade google-genai

    Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

    Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:

    # 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_VERTEXAI=True

    import time
    from google import genai
    from google.genai.types import GenerateVideosSource, GenerateVideosConfig, Image, Video, VideoGenerationMask, VideoGenerationMaskMode
    
    client = genai.Client()
    
    # TODO(developer): Update and un-comment below line
    # output_gcs_uri = "gs://your-bucket/your-prefix"
    
    operation = client.models.generate_videos(
        model="veo-2.0-generate-preview",
        source=GenerateVideosSource(
            prompt="a sheep",
            video=Video(uri="gs://cloud-samples-data/generative-ai/video/truck.mp4", mime_type="video/mp4")
        ),
        config=GenerateVideosConfig(
            mask=VideoGenerationMask(
                image=Image(
                    gcs_uri="gs://cloud-samples-data/generative-ai/image/truck-inpainting-dynamic-mask.png",
                    mime_type="image/png",
                ),
                mask_mode=VideoGenerationMaskMode.INSERT,
            ),
            output_gcs_uri=output_gcs_uri,
        ),
    )
    
    while not operation.done:
        time.sleep(15)
        operation = client.operations.get(operation)
        print(operation)
    
    if operation.response:
        print(operation.result.generated_videos[0].video.uri)
    
    # Example response:
    # gs://your-bucket/your-prefix

    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 gesendet Modellendpunkt zu erstellen.

    Weitere Informationen zur Veo API finden Sie in der Referenzdokumentation zur Veo on Vertex AI API.

    1. Verwenden Sie den folgenden Befehl, um eine Anfrage zur Videogenerierung zu senden. Mit dieser Anfrage wird ein Vorgang mit langer Ausführungszeit gestartet und die Ausgabe in einem von Ihnen angegebenen Cloud Storage-Bucket gespeichert.

      Ersetzen Sie diese Werte in den folgenden Anfragedaten:

      • PROJECT_ID: Ihre Google Cloud Projekt-ID.
      • TEXT_PROMPT: Der Text-Prompt, der zur Steuerung der Videogenerierung verwendet wird.
      • MASK_STORAGE_URI Der Cloud Storage-Bucket-URI-Pfad zum Maskenobjekt.
      • MASK_MIME_TYPE Der MIME-Typ der Bildmaske. Nur einer der Folgenden:

        • image/png
        • image/jpeg
        • image/webp
      • VIDEO_INPUT_STORAGE_URI Der Cloud Storage-Bucket-URI-Pfad des Videoeingabeobjekts.
      • VIDEO_MIME_TYPE Der MIME-Typ des Videoobjekts. Nur einer der Folgenden:

        • video/mov
        • video/mpeg
        • video/mp4
        • video/mpg
        • video/avi
        • video/wmv
        • video/mpegps
        • video/flv
      • OUTPUT_STORAGE_URI: Optional: Der Cloud Storage-Bucket, in dem die Ausgabevideos gespeichert werden sollen. Wenn nicht angegeben, wird in der Antwort ein Base64-Byte-codiertes Video zurückgegeben. Beispiel: gs://video-bucket/output/.
      • RESPONSE_COUNT: Die Anzahl der Videodateien, die Sie generieren möchten. Zulässige Ganzzahlwerte: 1–4.
      • Zusätzliche optionale Parameter

        Je nach Anwendungsfall können Sie die folgenden optionalen Variablen verwenden. Fügen Sie dem "parameters": {}-Objekt einige oder alle der folgenden Parameter hinzu.

        "parameters": {
          "aspectRatio": "ASPECT_RATIO",
          "negativePrompt": "NEGATIVE_PROMPT",
          "personGeneration": "PERSON_SAFETY_SETTING",
          // "resolution": RESOLUTION, // Veo 3 models only
          "sampleCount": RESPONSE_COUNT,
          "seed": SEED_NUMBER
        }
        • ASPECT_RATIO: Optional: Ein Stringwert, der das Seitenverhältnis der generierten Videos beschreibt. Sie können die folgenden Werte verwenden:
          • "16:9" für Landschaft
          • "9:16" für Hochformat

          Der Standardwert ist "16:9".

        • NEGATIVE_PROMPT (optional): Ein Stringwert, der Inhalte beschreibt, die das Modell nicht generieren soll.
        • PERSON_SAFETY_SETTING: Optional: Ein Stringwert, der die Sicherheitseinstellung für die Generierung von Personen oder Gesichtern steuert. Sie können die folgenden Werte verwenden:
          • "allow_adult": Nur Generierung von Erwachsenen und Gesichtern zulassen.
          • "disallow": Es werden keine Personen oder Gesichter generiert.

          Der Standardwert ist "allow_adult".

        • RESOLUTION: Optional: Ein Stringwert, der die Auflösung des generierten Videos steuert. Wird nur von Veo 3-Modellen unterstützt. Sie können die folgenden Werte verwenden:
          • "720p"
          • "1080p"

          Der Standardwert ist "720p".

        • RESPONSE_COUNT: Optional. Ein Ganzzahlwert, der die Anzahl der zu generierenden Videos angibt. Der akzeptierte Wertebereich ist 14.
        • SEED_NUMBER: Optional. Ein uint32-Wert, den das Modell zum Generieren deterministischer Videos verwendet. Wenn Sie eine Quell-Nummer in Ihrer Anfrage angeben, ohne andere Parameter zu ändern, wird das Modell angewiesen, dieselben Videos zu erstellen. Der akzeptierte Wertebereich ist 04294967295.

      HTTP-Methode und URL:

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-preview:predictLongRunning

      JSON-Text der Anfrage:

      {
        "instances": [
          {
            "prompt": "TEXT_PROMPT",
            // The following fields can be repeated for up to three total
            // images.
            "mask": {
              "gcsURI": "MASK_STORAGE_URI",
              "mimeType": "MASK_MIME_TYPE",
              "maskMode": "insert"
            },
            "video": {
              "gcsURI": "VIDEO_INPUT_STORAGE_URI",
              "mimeType": "VIDEO_MIME_TYPE"
            }
          }
        ],
        "parameters": {
          "storageUri": "OUTPUT_STORAGE_URI",
          "sampleCount": RESPONSE_COUNT,
        }
      }
      

      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 und führen Sie den folgenden Befehl aus:

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      -d @request.json \
      "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-preview:predictLongRunning"

      PowerShell

      Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

      $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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-preview:predictLongRunning" | Select-Object -Expand Content
      Diese Anfrage gibt einen vollständigen Vorgangsnamen mit einer eindeutigen Vorgangs-ID zurück. Verwenden Sie diesen vollständigen Vorgangsnamen, um den Status der Videogenerierungsanfrage abzufragen.
      {
        "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
      }
      

    2. Optional: Prüfen Sie den Status des Vorgangs mit langer Ausführungszeit für die Videogenerierung.

      Ersetzen Sie diese Werte in den folgenden Anfragedaten:

      • PROJECT_ID: Ihre Google Cloud Projekt-ID.
      • MODEL_ID: Die zu verwendende Modell-ID.
      • OPERATION_ID: Die eindeutige Vorgangs-ID, die in der ursprünglichen Anfrage zum Generieren von Videos zurückgegeben wurde.

      HTTP-Methode und URL:

      POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation

      JSON-Text der Anfrage:

      {
        "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
      }
      

      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 und führen Sie den folgenden Befehl aus:

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

      PowerShell

      Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

      $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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation" | Select-Object -Expand Content
      Diese Anfrage gibt Informationen zum Vorgang zurück, einschließlich der Frage, ob der Vorgang noch ausgeführt wird oder abgeschlossen ist.

    Nächste Schritte