Disattivare la riscrittura dei prompt di Veo su Vertex AI

Veo offre uno strumento di miglioramento dei prompt basato su LLM, noto anche come riscrittura dei prompt. Il prompt rewriter offre la possibilità di riscrivere i prompt per aggiungere descrizione del video, movimenti della videocamera, trascrizione ed effetti sonori al prompt. Prompt più dettagliati generano video di qualità superiore.

Se disattivi il miglioramento dei prompt, la qualità dei video e la somiglianza dell'output con il prompt fornito potrebbero risentirne. Questa funzionalità è attivata per impostazione predefinita per veo-2.0-generate-001.

Un prompt riscritto viene fornito dalla risposta dell'API solo se il prompt originale è composto da meno di 30 parole.

Per saperne di più su come scrivere prompt di testo efficaci per la generazione di video, consulta la guida ai prompt di Veo.

Prima di iniziare

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  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 role (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 role (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. Configura l'autenticazione per il tuo ambiente.

    Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Disattivare il riscrittore di prompt

Per disattivare il miglioramento dei prompt:

Console

  1. Nella console Google Cloud , vai alla pagina Vertex AI Studio > Media Studio.

    Vai a Media Studio

  2. Fai clic su Veo.

  3. In Impostazioni, fai clic sul pulsante di attivazione/disattivazione Miglioramento prompt.

  4. Nella casella Scrivi il prompt, inserisci il prompt e poi fai clic su Genera.

Python

Installa

pip install --upgrade google-genai

Per saperne di più, consulta la documentazione di riferimento dell'SDK.

Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con Vertex AI:

# 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

Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.

Per saperne di più sull'API Veo, consulta le seguenti risorse:

  1. Utilizza il seguente comando per inviare una richiesta di generazione di video. Questa richiesta avvia un'operazione a lunga esecuzione e archivia l'output in un bucket Cloud Storage specificato.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • MODEL_ID: l'ID del modello da utilizzare. Valori disponibili:
    • veo-2.0-generate-001
  • TEXT_PROMPT: il prompt di testo utilizzato per guidare la generazione di video.
  • OUTPUT_STORAGE_URI: (Facoltativo) Il bucket Cloud Storage in cui archiviare i video di output. Se non vengono forniti, i byte video vengono restituiti nella risposta. Ad esempio: gs://video-bucket/output/.
  • RESPONSE_COUNT: il numero di file video che vuoi generare. Valori interi accettati: 1-4.
  • DURATION: La durata dei file video che vuoi generare. I valori interi accettati sono compresi tra 5 e 8.
  • ENHANCED_PROMPT: se utilizzare o meno i prompt avanzati. Puoi utilizzare uno dei seguenti:
    • True: (impostazione predefinita) utilizza Gemini per migliorare i tuoi prompt.
    • False: non utilizzare Gemini per migliorare i tuoi prompt.
  • Parametri facoltativi aggiuntivi

    Utilizza le seguenti variabili facoltative a seconda del tuo caso d'uso. Aggiungi alcuni o tutti i seguenti parametri nell'oggetto "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: (Facoltativo) Un valore stringa che descrive le proporzioni dei video generati. Puoi utilizzare i seguenti valori:
      • "16:9" per l'orientamento orizzontale
      • "9:16" per la modalità verticale

      Il valore predefinito è "16:9"

    • NEGATIVE_PROMPT: (Facoltativo) un valore stringa che descrive i contenuti che vuoi impedire al modello di generare.
    • PERSON_SAFETY_SETTING: (Facoltativo) Un valore stringa che controlla l'impostazione di sicurezza per la generazione di persone o volti. Puoi utilizzare i seguenti valori:
      • "allow_adult": Consente solo la generazione di persone e volti adulti.
      • "disallow": non genera persone o volti.

      Il valore predefinito è "allow_adult".

    • RESOLUTION: (Facoltativo) Un valore stringa che controlla la risoluzione del video generato. Supportato solo dai modelli Veo 3. Puoi utilizzare i seguenti valori:
      • "720p"
      • "1080p"
      • "4k" (solo modelli di anteprima Veo 3.1)

      Il valore predefinito è "720p".

    • RESPONSE_COUNT: Facoltativo. Un valore intero che descrive il numero di video da generare. L'intervallo di valori accettato è 1-4.
    • SEED_NUMBER: Facoltativo. Un valore uint32 che il modello utilizza per generare video deterministici. Se specifichi un numero seed nella richiesta senza modificare altri parametri, il modello genererà gli stessi video. L'intervallo di valori accettati è 0-4294967295.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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
Questa richiesta restituisce un nome di operazione completo con un ID operazione univoco. Utilizza questo nome completo dell'operazione per eseguire il polling dello stato della richiesta di generazione del video.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Passaggi successivi