Cómo desactivar la función de reescritura de instrucciones de Veo en Vertex AI

Veo ofrece una herramienta de mejora de instrucciones basada en LLM, también conocida como reformulador de instrucciones. El reescritor de instrucciones ofrece la opción de reescribir tus instrucciones para agregar descripciones de video, movimientos de cámara, transcripciones y efectos de sonido. Las instrucciones más detalladas dan como resultado videos de mayor calidad.

Si inhabilitas la mejora de instrucciones, es posible que se vea afectada la calidad de los videos y la similitud del resultado con la instrucción que proporcionaste. Esta función está habilitada de forma predeterminada para veo-2.0-generate-001.

La API solo entrega una instrucción reescrita en la respuesta si la instrucción original tiene menos de 30 palabras.

Si deseas obtener más información para escribir instrucciones de texto eficaces para la generación de videos, consulta la guía de instrucciones de Veo.

Antes de comenzar

  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. Configura la autenticación para tu entorno.

    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

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a gcloud CLI.

      Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .

    Cómo desactivar la función de reescritura de instrucciones

    Para desactivar la mejora de instrucciones, haz lo siguiente:

    Console

    1. En la Google Cloud consola, ve a la página Vertex AI Studio > Media Studio.

      Ir a Media Studio

    2. Haz clic en Veo.

    3. En Configuración, haz clic en el botón de activación para habilitar la mejora de instrucciones.

    4. En el cuadro Escribe tu instrucción, ingresa tu instrucción y, luego, haz clic en Generar.

    Python

    Instalar

    pip install --upgrade google-genai

    Para obtener más información, consulta la documentación de referencia del SDK.

    Establece variables de entorno para usar el SDK de IA generativa 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

    Después de configurar tu entorno, puedes usar REST para probar una instrucción de texto. En el siguiente ejemplo, se envía una solicitud al extremo del modelo de publicador.

    Para obtener más información sobre la API de Veo, consulta la API de Veo en Vertex AI.

    1. Usa el siguiente comando para enviar una solicitud de generación de video. Esta solicitud inicia una operación de larga duración y almacena el resultado en un bucket de Cloud Storage que especifiques.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: El Google Cloud ID del proyecto.
    • MODEL_ID: ID del modelo que se usará. Valores disponibles:
      • veo-2.0-generate-001
    • TEXT_PROMPT: Es la instrucción de texto que se usa para guiar la generación de video.
    • OUTPUT_STORAGE_URI: Opcional: Es el bucket de Cloud Storage en el que se almacenarán los videos de salida. Si no se proporciona, los bytes del video se devuelven en la respuesta. Por ejemplo: gs://video-bucket/output/.
    • RESPONSE_COUNT: Es la cantidad de archivos de video que deseas generar. Valores de números enteros aceptados: de 1 a 4.
    • DURATION: Es la duración de los archivos de video que deseas generar. Los valores de números enteros aceptados son del 5 al 8.
    • ENHANCED_PROMPT: Indica si se deben usar instrucciones mejoradas. Puedes usar una de las siguientes opciones:
      • True: (predeterminado) Usa Gemini para mejorar tus instrucciones.
      • False: No uses Gemini para mejorar tus instrucciones.
    • Parámetros opcionales adicionales

      Usa las siguientes variables opcionales según tu caso de uso. Agrega algunos o todos los siguientes parámetros en el objeto "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: Opcional: Es un valor de cadena que describe la relación de aspecto de los videos generados. Puedes usar los siguientes valores:
        • "16:9" para horizontal
        • "9:16" para vertical

        El valor predeterminado es "16:9".

      • NEGATIVE_PROMPT: Opcional: Es un valor de cadena que describe el contenido que deseas evitar que genere el modelo.
      • PERSON_SAFETY_SETTING: Opcional: Es un valor de cadena que controla el parámetro de configuración de seguridad para generar personas o rostros. Puedes usar los siguientes valores:
        • "allow_adult": Solo permite la generación de personas y rostros adultos.
        • "disallow": No genera personas ni rostros.

        El valor predeterminado es "allow_adult".

      • RESOLUTION: Opcional: Es un valor de cadena que controla la resolución del video generado. Solo es compatible con los modelos de Veo 3. Puedes usar los siguientes valores:
        • "720p"
        • "1080p"

        El valor predeterminado es "720p".

      • RESPONSE_COUNT: Opcional. Es un valor entero que describe la cantidad de videos que se generarán. El rango de valores aceptado es de 1 a 4.
      • SEED_NUMBER: Opcional. Es un valor uint32 que el modelo usa para generar videos determinísticos. Especificar un número de origen con tu solicitud sin cambiar otros parámetros guía al modelo para que produzca los mismos videos. El rango de valores aceptado es de 0 a 4294967295.

    Método HTTP y URL:

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

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    $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
    Esta solicitud devuelve un nombre de operación completo con un ID de operación único. Usa este nombre de operación completo para sondear el estado de la solicitud de generación de video.
    {
      "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
    }
    

    ¿Qué sigue?