Vertex AI のプロンプト リライターで Veo を無効にする

Veo には、プロンプト書き換えツールとも呼ばれる LLM ベースのプロンプト機能強化ツールが用意されています。プロンプトの書き換えツールでは、プロンプトを書き換えて、動画の説明、カメラの動き、文字起こし、効果音をプロンプトに追加できます。通常、より詳細なプロンプトを使用すると、より高品質の動画が生成されます。

プロンプトの強化を無効にすると、動画の品質と、出力が指定したプロンプトにどれだけ似ているかに影響する可能性があります。この機能は veo-2.0-generate-001 ではデフォルトで有効になっています。

書き換えられたプロンプトは、元のプロンプトの長さが 30 語未満の場合にのみ、API レスポンスによって返されます。

動画生成用の効果的なテキスト プロンプトの作成方法については、Veo プロンプト ガイドをご覧ください。

始める前に

  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. 環境の認証を設定します。

    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.

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。

      gcloud init

      外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

    詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

    プロンプトの書き換えをオフにする

    プロンプトの拡張機能をオフにする手順は次のとおりです。

    コンソール

    1. Google Cloud コンソールで、[Vertex AI Studio] > [Media Studio] ページに移動します。

      Media Studio に移動

    2. [Veo] をクリックします。

    3. [設定] で、[プロンプトの強化を有効にする] 切り替えボタンをクリックします。

    4. [プロンプトを入力] ボックスにプロンプトを入力し、 [生成] をクリックします。

    Python

    インストール

    pip install --upgrade google-genai

    詳しくは、SDK リファレンス ドキュメントをご覧ください。

    Vertex AI で Gen AI SDK を使用するための環境変数を設定します。

    # 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 GenerateVideosConfig
    
    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-001",
        prompt="a cat reading a book",
        config=GenerateVideosConfig(
            aspect_ratio="16:9",
            output_gcs_uri=output_gcs_uri,
            number_of_videos=1,
            duration_seconds=5,
            person_generation="dont_allow",
            enhance_prompt=False,
        ),
    )
    
    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

    環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。

    Veo API の詳細については、Vertex AI の Veo API をご覧ください。

    1. 動画生成リクエストを送信するには、次のコマンドを使用します。このリクエストにより長時間実行オペレーションが開始され、指定した Cloud Storage バケットに出力が保存されます。

    リクエストのデータを使用する前に、次のように置き換えます。

    • PROJECT_ID: 実際の Google Cloud プロジェクト ID
    • MODEL_ID: 使用するモデル ID。使用可能な値:
      • veo-2.0-generate-001
    • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
    • OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケット。指定しない場合、動画のバイト数がレスポンスで返されます。例: gs://video-bucket/output/
    • RESPONSE_COUNT: 生成する動画ファイルの数。指定できるのは整数値(1~4)です。
    • DURATION: 生成する動画ファイルの長さ。指定できる整数値は 5~8 です。
    • ENHANCED_PROMPT: 拡張プロンプトを使用するかどうか。次のいずれかを使用できます。
      • True:(デフォルト)Gemini を使用してプロンプトを強化します。
      • False: Gemini を使用してプロンプトを強化しないでください。
    • その他のオプション パラメータ

      ユースケースに応じて、次のオプションの変数を使用します。"parameters": {} オブジェクトに次のパラメータの一部またはすべてを追加します。

      "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: 省略可。生成された動画のアスペクト比を説明する文字列値。次の値を使用できます。
        • 横向きの "16:9"
        • "9:16"(縦向き)

        デフォルト値は "16:9" です。

      • NEGATIVE_PROMPT: 省略可。モデルが生成しないようにするコンテンツを記述した文字列値。
      • PERSON_SAFETY_SETTING: 省略可。人物や顔の生成の安全性設定を制御する文字列値。次の値を使用できます。
        • "allow_adult": 成人の人物とその顔のみが生成されるようにします。
        • "disallow": 人物や顔を生成しません。

        デフォルト値は "allow_adult" です。

      • RESOLUTION: 省略可: 生成された動画の解像度を制御する文字列値。Veo 3 モデルのみでサポートされています。次の値を使用できます。
        • "720p"
        • "1080p"

        デフォルト値は "720p" です。

      • RESPONSE_COUNT: 省略可。生成する動画の数を表す整数値。指定できる値の範囲は 14 です。
      • SEED_NUMBER: 省略可。モデルが確定的な動画を生成するために使用する uint32 値。他のパラメータを変更せずにリクエストにシード番号を指定すると、モデルは同じ動画を生成するように導かれます。指定できる値の範囲は 04294967295 です。

    HTTP メソッドと URL:

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

    リクエストの本文(JSON):

    {
      "instances": [
        {
          "prompt": "TEXT_PROMPT"
        }
      ],
      "parameters": {
        "storageUri": "OUTPUT_STORAGE_URI",
        "sampleCount": "RESPONSE_COUNT",
        "durationSeconds": "DURATION",
        "enhancePrompt": ENHANCED_PROMPT
      }
    }
    

    リクエストを送信するには、次のいずれかのオプションを選択します。

    curl

    リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

    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:predictLongRunning"

    PowerShell

    リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

    $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:predictLongRunning" | Select-Object -Expand Content
    このリクエストは、一意のオペレーション ID を含む完全なオペレーション名を返します。この完全なオペレーション名を使用して、動画生成リクエストのステータスをポーリングします。
    {
      "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
    }
    

    次のステップ