שימוש ב-Veo כדי להאריך סרטונים

אתם יכולים להשתמש ב-Veo ב-Gemini Enterprise Agent Platform כדי להאריך סרטונים לפרק זמן של שנייה אחת עד 30 שניות. אתם יכולים להאריך סרטונים באמצעות Cloud de Confiance המסוף או ה-API של Agent Platform.

המודלים הבאים תומכים בהארכת סרטונים:

מידע על כתיבת הנחיות טקסט יעילות ליצירת סרטונים זמין במדריך ההנחיות ל-Veo.

לפני שמתחילים

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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

  2. Enable the Agent Platform 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

  3. מגדירים אימות לסביבה.

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS

    REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

מגבלות

הסרטונים שמוזנים כפופים למגבלות הבאות כשמשתמשים ב-Veo extend:

  • קובץ הקלט חייב להיות בפורמט MP4.
  • האורך צריך להיות בין שנייה אחת ל-30 שניות.
  • קצב הפריימים חייב להיות 24 פריימים לשנייה.
  • הרזולוציה צריכה להיות אחת מהאפשרויות הבאות: 720p,‏ 1080p או 4k.
  • יחס הגובה-רוחב של סרטוני הקלט יכול להיות 9:16 או 16:9.

הסרטונים שנוצרים כפופים למגבלות הבאות:

  • קובץ הפלט הוא MP4.
  • האורך המורחב הוא 7 שניות.
  • קצב הפריימים הוא 24 פריימים לשנייה.
  • הרזולוציה יכולה להיות 720p,‏ 1080p או 4k.
  • יחס הגובה-רוחב של סרטוני הפלט יכול להיות 9:16 או 16:9.

הארכת סרטון

בדוגמאות הבאות אפשר לראות איך אפשר להאריך סרטון ב-Veo:

המסוף

  1. במסוף Cloud de Confiance , נכנסים לדף Agent Platform > Media Studio.

    Media Studio

  2. לוחצים על סרטון.

  3. בתפריט משימה, בוחרים באפשרות הרחבת וידאו.

  4. בתפריט מודל, בוחרים מודל מבין האפשרויות שמוצגות.

  5. בקטע סרטון קלט, לוחצים על הוספה.

  6. בתיבה הנחיה, מזינים הנחייה טקסטואלית שמתארת את הסרטונים שרוצים ליצור.

  7. אופציונלי: משנים את הפרמטרים הבאים:

    • מספר התוצאות: מזיזים את פס ההזזה או מזינים ערך בין 1 ל-4.

    • אורך הסרטון: בוחרים אורך סרטון מהתפריט.

    • ספריית פלט: לוחצים על עיון כדי ליצור או לבחור קטגוריה של Cloud Storage לאחסון הקבצים שנוצרו.

  8. לוחצים על Run.

Python

התקנה

pip install --upgrade google-genai

מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם 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_ENTERPRISE=True

import time
from google import genai
from google.genai.types import GenerateVideosConfig, Video

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-3.1-generate-preview",
    prompt="a butterfly flies in and lands on the flower",
    video=Video(
        uri="gs://cloud-samples-data/generative-ai/video/flower.mp4",
        mime_type="video/mp4",
    ),
    config=GenerateVideosConfig(
        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

מידע נוסף על Veo API:

  1. משתמשים בפקודה הבאה כדי לשלוח בקשה ליצירת סרטון. הבקשה הזו מתחילה פעולה ממושכת ומאחסנת את הפלט בקטגוריה של Cloud Storage שאתם מציינים.

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫PROJECT_ID: מחרוזת שמייצגת את מזהה הפרויקט ב- Cloud de Confiance by S3NS .
    • ‫MODEL_ID: מחרוזת שמייצגת את מזהה המודל לשימוש. כדי לציין את הפריים הראשון או האחרון בסרטון, משתמשים באחת מהאפשרויות הבאות:
      • ‫Veo 2: veo-2.0-generate-001
      • Veo 3: veo-3.1-generate-001
      • Veo 3: veo-3.1-fast-generate-001
    • ‫TEXT_PROMPT: הנחיית הטקסט שמשמשת להנחיית יצירת הסרטון.
    • ‫PATH_TO_VIDEO: מחרוזת שמייצגת את הנתיב ב-Cloud Storage לסרטון Veo שאתם רוצים להאריך את משך השימוש בו. לדוגמה: "gs://video-bucket/input/veo-video.mp4".
    • ‫OUTPUT_STORAGE_URI: אופציונלי: מחרוזת שמייצגת את קטגוריה של Cloud Storage לאחסון סרטוני הפלט. אם לא מציינים דלי, בייטים של סרטונים מוחזרים בתגובה. לדוגמה: "gs://video-bucket/output/".
    • ‫RESPONSE_COUNT: מספר קובצי הווידאו שיווצרו. טווח הערכים הקבילים הוא 1-4.
    • פרמטרים אופציונליים נוספים

      אפשר להשתמש במשתנים האופציונליים הבאים בהתאם לתרחיש השימוש. מוסיפים חלק מהפרמטרים הבאים או את כולם לאובייקט "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"
        • ‫"4k" (רק במודלים של Veo 3.1 בגרסת טרום-השקה)

        ערך ברירת המחדל הוא "720p".

      • ‫RESPONSE_COUNT: אופציונלי. ערך מספרי שלם שמתאר את מספר הסרטונים שרוצים ליצור. הטווח הקביל של הערכים הוא 1-4.
      • ‫SEED_NUMBER: אופציונלי. ערך uint32 שהמודל משתמש בו כדי ליצור סרטונים דטרמיניסטיים. אם מציינים מספר התחלתי בבקשה בלי לשנות פרמטרים אחרים, המודל ייצור את אותם סרטונים. הטווח הקביל של הערכים הוא 0-4294967295.

    ה-method של ה-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",
           "video": {
             "gcsUri": "PATH_TO_VIDEO",
             "mimeType": "video/mp4"
           }
        }
      ],
      "parameters": {
        "storageUri": "OUTPUT_STORAGE_URI",
        "sampleCount": RESPONSE_COUNT
      }
    }
    

    כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

    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
    הבקשה הזו מחזירה שם פעולה מלא עם מזהה פעולה ייחודי. משתמשים בשם המלא של הפעולה כדי לבדוק את הסטטוס של הבקשה ליצירת הסרטון.
    {
      "name":
      "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
    }
    

  2. אופציונלי: בודקים את הסטטוס של הפעולה הממושכת ליצירת הסרטון.

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
    • ‫MODEL_ID: מזהה המודל שבו רוצים להשתמש.
    • ‫OPERATION_ID: המזהה הייחודי של הפעולה שהוחזר בבקשה המקורית ליצירת סרטון.

    ה-method של ה-HTTP וכתובת ה-URL:

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

    גוף בקשת JSON:

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

    כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

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

    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:fetchPredictOperation" | Select-Object -Expand Content
    הבקשה הזו מחזירה מידע על הפעולה, כולל אם הפעולה עדיין פועלת או שהיא הסתיימה.

המאמרים הבאים