הארכת סרטונים

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

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

‫Gemini Omni Flash

כדי להרחיב את רשימת המודלים הנתמכים, לוחצים כאן

Veo

לחצו כדי להרחיב את רשימת המודלים הנתמכים

מידע על כתיבת פרומפטים טקסטואליים יעילים ליצירת סרטונים זמין במדריך לכתיבת פרומפטים.

התנסות ב-Gemini Omni Flash ב-Colab

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

  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, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

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

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

    המסוף

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

    REST

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

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

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

המגבלות של Veo

כשמשתמשים ב-Veo כדי להאריך סרטונים, הסרטונים שמעלים כפופים למגבלות הבאות:

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

כשמשתמשים ב-Veo כדי להאריך סרטונים, הסרטונים שנוצרים כפופים למגבלות הבאות:

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

הארכת סרטונים באמצעות Gemini Omni Flash

כדי להאריך סרטונים באמצעות Gemini Omni Flash:

REST

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

  • סינכרוני: ללא שמירת מצב: יוצרים סרטון בבקשה אחת בלי לשמר את מצב האינטראקציה בשרת.
  • סינכרוני: עם שמירת מצב: מגדירים את store לערך true כדי לשמר את מצב האינטראקציה, וכך אפשר לאחזר את התוצאה מאוחר יותר או להפנות למזהה האינטראקציה לעריכת וידאו בכמה שלבים.
  • סינכרוני: סטרימינג עם שמירת מצב: מגדירים את store וגם את stream לערך true כדי לקבל את תהליך החשיבה של המודל באופן מצטבר בזמן שהוא נוצר, ואחריו את סרטון הפלט.
  • אסינכרוני: מגדירים את background לערך true כדי להריץ את יצירת הסרטון ברקע ולאחזר את התוצאה מאוחר יותר באמצעות מזהה האינטראקציה.

אינטראקציות אסינכרוניות ואינטראקציות שנשמרו נשמרות למשך עד 14 ימים.

מידע נוסף על השימוש ב-Gemini Omni Flash API זמין במאמר Interactions API.

סינכרוני: בלי שמירת מצב

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

  • ‫PROJECT_ID: מחרוזת שמייצגת את מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • ‫MODEL_ID: מחרוזת שמייצגת את מזהה המודל לשימוש. אלה הערכים הקבילים:
    • "gemini-omni-1.1-flash-preview"
  • ‫TEXT_PROMPT: הפרומפט הטקסטואלי שמשמש להנחיית יצירת הסרטון.
  • ‫CLOUD_STORAGE_INPUT_URI: מחרוזת שמייצגת את הקטגוריה של Cloud Storage שמכילה את המדיה של הקלט. לדוגמה: "gs://video-bucket/input/".
  • ‫CLOUD_STORAGE_OUTPUT_URI: אופציונלי: מחרוזת שמייצגת את הקטגוריה של Cloud Storage שבה יישמרו סרטוני הפלט. אם לא מציינים את מספר הבייטים, הם מוחזרים בתגובה. לדוגמה: "gs://video-bucket/output/".
  • ‫ASPECT_RATIO: אופציונלי: מחרוזת שמייצגת את יחס הגובה-רוחב הצפוי של סרטון הפלט. אם לא מציינים יחס גובה-רוחב, הוא נקבע לפי ההנחיה. אלה הערכים הקבילים:
    • "16:9"
    • "9:16"
  • ‫DURATION: מחרוזת שמייצגת את האורך של קובצי הווידאו שנוצרו. המחרוזות המותרות הן מספרים שלמים בין 3 ל-10, ואחריהם האות "s" לציון שניות. לדוגמה, "10s".

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

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

גוף בקשת JSON:

{
  "model": "MODEL_ID",
  "input": [
    {
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "image",
      "uri": "CLOUD_STORAGE_INPUT_URI",
      "mime_type": "image/png"
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "duration": "DURATION"
    }
  ],
  "generation_config": {
    "video_config": {
      "task": "extend"
    }
  }
}

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

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
התשובה מכילה אינטראקציה שכוללת את המחשבות של המודל וסרטון פלט.
{
  "id":"INTERACTION_ID",
  "model":"gemini-omni-flash-preview",
  "status":"completed",
  "usage":{
    "total_tokens":479,
    "total_input_tokens":26,
    "input_tokens_by_modality":[
      {
        "modality":"text",
        "tokens":26
      },
      {
        "modality":"image",
        "tokens":124
      }
    ],
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 28832
      }
    ],
    "total_output_tokens":28832,
    "total_thought_tokens":453
  },
  "steps":[
    {
      "type":"thought",
      "summary":[
        {
          "type":"text",
          "text":"MODEL THOUGHTS"
        }
      ],
    },
    { 
      "type":"model_output",
      "content":[
        {
          "type":"video",
          "uri":"gs://some/output_path/123.mp4",
          "mime_type":"video/mp4" 
        }
      ]
    }
  ],
  "object":"interaction",
  "role":"model",
  "created":"2026-05-29T02:17:56Z",
  "updated":"2026-05-29T02:17:56Z",
}

סינכרוני: עם שמירת מצב (stateful)

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

  • ‫PROJECT_ID: מחרוזת שמייצגת את מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • ‫MODEL_ID: מחרוזת שמייצגת את מזהה המודל שבו רוצים להשתמש. אלה הערכים הקבילים:
    • "gemini-omni-1.1-flash-preview"
  • ‫TEXT_PROMPT: הפרומפט הטקסטואלי שמשמש להנחיית יצירת הסרטון.
  • ‫CLOUD_STORAGE_INPUT_URI: מחרוזת שמייצגת את הקטגוריה של Cloud Storage שמכילה את המדיה של הקלט. לדוגמה: "gs://video-bucket/input/".
  • ‫CLOUD_STORAGE_OUTPUT_URI: אופציונלי: מחרוזת שמייצגת את הקטגוריה של Cloud Storage שבה יישמרו סרטוני הפלט. אם לא מציינים את מספר הבייטים, הם מוחזרים בתגובה. לדוגמה: "gs://video-bucket/output/".
  • ‫ASPECT_RATIO: אופציונלי: מחרוזת שמייצגת את יחס הגובה-רוחב הצפוי של סרטון הפלט. אם לא מציינים יחס גובה-רוחב, הוא נקבע לפי ההנחיה. אלה הערכים הקבילים:
    • "16:9"
    • "9:16"
  • ‫DURATION: מחרוזת שמייצגת את האורך של קובצי הווידאו שנוצרו. המחרוזות המותרות הן מספרים שלמים בין 3 ל-10, ואחריהם האות "s" לציון שניות. לדוגמה, "10s".

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

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

גוף בקשת JSON:

{
  "model": "MODEL_ID",
  "background": false,
  "store": true,
  "stream": false,
  "input": [
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "TEXT_PROMPT"
        },
        {
          "type": "image",
          "uri": "CLOUD_STORAGE_INPUT_URI",
          "mime_type": "image/png"
        }
      ]
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "duration": "DURATION"
    }
  ]
}

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

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
התשובה מכילה אינטראקציה שכוללת את המחשבות של המודל וסרטון פלט.
{
  "id":"INTERACTION_ID",
  "model":"gemini-omni-flash-preview",
  "status":"completed",
  "usage":{
    "total_tokens":479,
    "total_input_tokens":26,
    "input_tokens_by_modality":[
      {
        "modality":"text",
        "tokens":26
      },
      {
        "modality":"image",
        "tokens":124
      }
    ],
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 28832
      }
    ],
    "total_output_tokens":28832,
    "total_thought_tokens":453
  },
  "steps":[
    {
      "type":"thought",
      "summary":[
        {
          "type":"text",
          "text":"MODEL THOUGHTS"
        }
      ],
    },
    { 
      "type":"model_output",
      "content":[
        {
          "type":"video",
          "uri":"gs://some/output_path/123.mp4",
          "mime_type":"video/mp4" 
        }
      ]
    }
  ],
  "object":"interaction",
  "role":"model",
  "created":"2026-05-29T02:17:56Z",
  "updated":"2026-05-29T02:17:56Z",
}
כדי לקבל את הסרטון שנוצר, משתמשים ב-INTERACTION_ID:

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

  • ‫PROJECT_ID: מחרוזת שמייצגת את מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • ‫INTERACTION_ID: מזהה האינטראקציה מהבקשה האסינכרונית.

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

GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID

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

curl

מריצים את הפקודה הבאה:

curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"

PowerShell

מריצים את הפקודה הבאה:

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID" | Select-Object -Expand Content
התגובה תהיה בפורמט דומה לזה:
{
  "id":"INTERACTION_ID",
  "model":"gemini-omni-flash-preview",
  "status":"completed",
  "usage":{
    "total_tokens":479,
    "total_input_tokens":26,
    "input_tokens_by_modality":[
      {
        "modality":"text",
        "tokens":26
      },
      {
        "modality":"image",
        "tokens":124
      }
    ],
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 28832
      }
    ],
    "total_output_tokens":28832,
    "total_thought_tokens":453
  },
  "steps":[
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "5 second, 9:16 video. Use the image as the first frame."
        },
        {
          "type": "image",
          "uri": "gs://some/path",
          "mime_type": "image/png"
        }
      ]
    },
    {
      "type":"thought"
      "summary":[
        {
          "type":"text",
          "text":"MODEL THOUGHTS"
        }
      ],
    },
    { 
      "type":"model_output",
      "content":[
        {
          "type":"video",
          "data":"VIDEO DATA",
          "mime_type":"video/mp4" 
        }
      ]
    }
  ],
  "object":"interaction"
  "role":"model",
  "created":"2026-05-29T02:17:56Z",
  "updated":"2026-05-29T02:17:56Z",
}

סינכרוני: סטרימינג עם שמירת מצב

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

  • ‫PROJECT_ID: מחרוזת שמייצגת את מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • ‫MODEL_ID: מחרוזת שמייצגת את מזהה המודל שבו רוצים להשתמש. אלה הערכים הקבילים:
    • "gemini-omni-1.1-flash-preview"
  • ‫TEXT_PROMPT: הפרומפט הטקסטואלי שמשמש להנחיית יצירת הסרטון.
  • ‫CLOUD_STORAGE_INPUT_URI: מחרוזת שמייצגת את הקטגוריה של Cloud Storage שמכילה את המדיה של הקלט. לדוגמה: "gs://video-bucket/input/".
  • ‫CLOUD_STORAGE_OUTPUT_URI: אופציונלי: מחרוזת שמייצגת את הקטגוריה של Cloud Storage שבה יישמרו סרטוני הפלט. אם לא מציינים את מספר הבייטים, הם מוחזרים בתגובה. לדוגמה: "gs://video-bucket/output/".
  • ‫ASPECT_RATIO: אופציונלי: מחרוזת שמייצגת את יחס הגובה-רוחב הצפוי של סרטון הפלט. אם לא מציינים יחס גובה-רוחב, הוא נקבע לפי ההנחיה. אלה הערכים הקבילים:
    • "16:9"
    • "9:16"
  • ‫DURATION: מחרוזת שמייצגת את האורך של קובצי הווידאו שנוצרו. המחרוזות המותרות הן מספרים שלמים בין 3 ל-10, ואחריהם האות "s" לציון שניות. לדוגמה, "10s".

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

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

גוף בקשת JSON:

{
  "model": "MODEL_ID",
  "background": false,
  "store": true,
  "stream": true,
  "input": [
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "TEXT_PROMPT"
        },
        {
          "type": "image",
          "uri": "CLOUD_STORAGE_INPUT_URI",
          "mime_type": "image/png"
        }
      ]
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "duration": "DURATION"
    }
  ]
}

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

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
התשובה מכילה אינטראקציה שכוללת את המחשבות של המודל וסרטון פלט.
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}

event: interaction.status_update
data: {"interaction_id":"INTERACTION_ID","status":"in_progress","event_type":"interaction.status_update"}

event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}

event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.delta
data: {"index":0,"delta":{"signature":"...","type":"thought_signature"},"event_type":"step.delta"}

event: step.stop
data: {"index":0,"event_type":"step.stop"}

event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}

event: step.delta
data: {"index":1,"delta":{"mime_type":"video/mp4","uri":"gs://some/output_path/123.mp4","type":"video"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.stop
data: {"index":1,"event_type":"step.stop"}

event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":17812,"total_input_tokens":21,"input_tokens_by_modality":[{"modality":"text","tokens":21}],"total_output_tokens":17376,"output_tokens_by_modality":[{"modality":"video","tokens":17376}],"total_thought_tokens":415},"created":"2026-08-12T21:26:20Z","updated":"2026-08-12T21:26:20Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-flash-preview"},"event_id":"EVENT_ID","event_type":"interaction.completed"}

event: done
data: [DONE]
כדי להזרים את האינטראקציה המאוחסנת ואת הסרטון שנוצר, משתמשים ב-INTERACTION_ID עם ‎ `?stream=true` ‎:

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

  • ‫PROJECT_ID: מחרוזת שמייצגת את מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • ‫INTERACTION_ID: מזהה האינטראקציה מהבקשה.

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

GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true

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

curl

מריצים את הפקודה הבאה:

curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true"

PowerShell

מריצים את הפקודה הבאה:

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true" | Select-Object -Expand Content
התגובה היא זרם של אירועים שנשלחים מהשרת (SSE) בפורמט שדומה לזה:
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}

event: interaction.status_update
data: {"interaction_id":"INTERACTION_ID","status":"in_progress","event_type":"interaction.status_update"}

event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}

event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.delta
data: {"index":0,"delta":{"signature":"...","type":"thought_signature"},"event_type":"step.delta"}

event: step.stop
data: {"index":0,"event_type":"step.stop"}

event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}

event: step.delta
data: {"index":1,"delta":{"mime_type":"video/mp4","uri":"gs://some/output_path/123.mp4","type":"video"},"event_id":"EVENT_ID","event_type":"step.delta"}

event: step.stop
data: {"index":1,"event_type":"step.stop"}

event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":17664,"total_input_tokens":21,"input_tokens_by_modality":[{"modality":"text","tokens":21}],"total_output_tokens":17376,"output_tokens_by_modality":[{"modality":"video","tokens":17376}],"total_thought_tokens":267},"created":"2026-08-12T21:33:08Z","updated":"2026-08-12T21:33:08Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-flash-preview"},"event_id":"EVENT_ID","event_type":"interaction.completed"}

event: done
data: [DONE]

אסינכרוני

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

  • ‫PROJECT_ID: מחרוזת שמייצגת את מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • ‫MODEL_ID: מחרוזת שמייצגת את מזהה המודל שבו רוצים להשתמש. אלה הערכים הקבילים:
    • "gemini-omni-1.1-flash-preview"
  • ‫TEXT_PROMPT: הפרומפט הטקסטואלי שמשמש להנחיית יצירת הסרטון.
  • ‫CLOUD_STORAGE_INPUT_URI: מחרוזת שמייצגת את הקטגוריה של Cloud Storage שמכילה את המדיה של הקלט. לדוגמה: "gs://video-bucket/input/".
  • ‫CLOUD_STORAGE_OUTPUT_URI: אופציונלי: מחרוזת שמייצגת את הקטגוריה של Cloud Storage שבה יישמרו סרטוני הפלט. אם לא מציינים את מספר הבייטים, הם מוחזרים בתגובה. לדוגמה: "gs://video-bucket/output/".
  • ‫ASPECT_RATIO: אופציונלי: מחרוזת שמייצגת את יחס הגובה-רוחב הצפוי של סרטון הפלט. אם לא מציינים יחס גובה-רוחב, הוא נקבע לפי ההנחיה. אלה הערכים הקבילים:
    • "16:9"
    • "9:16"
  • ‫DURATION: מחרוזת שמייצגת את האורך של קובצי הווידאו שנוצרו. המחרוזות המותרות הן מספרים שלמים בין 3 ל-10, ואחריהם האות "s" לציון שניות. לדוגמה, "10s".

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

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

גוף בקשת JSON:

{
  "model": "MODEL_ID",
  "input": [
    {
      "background": true,
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "image",
      "uri": "CLOUD_STORAGE_INPUT_URI",
      "mime_type": "image/png"
    }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
      "aspect_ratio": "ASPECT_RATIO",
      "duration": "DURATION"
    }
  ],
  "generation_config": {
    "video_config": {
      "task": "extend"
    }
  }
}

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

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
התשובה מכילה מזהה אינטראקציה, שבו תשתמשו כדי לקבל את הסרטון שיצרתם.
{
  "id":"INTERACTION_ID",
  "status":"in_progress",
  "object":"interaction"
}
אחר כך, משתמשים ב-INTERACTION_ID כדי לקבל את הסרטון שנוצר:

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

  • ‫PROJECT_ID: מחרוזת שמייצגת את מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • ‫INTERACTION_ID: מזהה האינטראקציה מהבקשה האסינכרונית.

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

GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID

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

curl

מריצים את הפקודה הבאה:

curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"

PowerShell

מריצים את הפקודה הבאה:

$headers = @{ "Authorization" = "Bearer TOKEN" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID" | Select-Object -Expand Content
התגובה תהיה בפורמט דומה לזה:
{
  "id":"INTERACTION_ID",
  "model":"gemini-omni-flash-preview",
  "status":"completed",
  "usage":{
    "total_tokens":479,
    "total_input_tokens":26,
    "input_tokens_by_modality":[
      {
        "modality":"text",
        "tokens":26
      },
      {
        "modality":"image",
        "tokens":124
      }
    ],
    "output_tokens_by_modality": [
      {
        "modality": "video",
        "tokens": 28832
      }
    ],
    "total_output_tokens":28832,
    "total_thought_tokens":453
  },
  "steps":[
    {
      "type": "user_input",
      "content": [
        {
          "type": "text",
          "text": "5 second, 9:16 video. Use the image as the first frame."
        },
        {
          "type": "image",
          "uri": "gs://some/path",
          "mime_type": "image/png"
        }
      ]
    },
    {
      "type":"thought"
      "summary":[
        {
          "type":"text",
          "text":"MODEL THOUGHTS"
        }
      ],
    },
    { 
      "type":"model_output",
      "content":[
        {
          "type":"video",
          "data":"VIDEO DATA",
          "mime_type":"video/mp4" 
        }
      ]
    }
  ],
  "object":"interaction"
  "role":"model",
  "created":"2026-05-29T02:17:56Z",
  "updated":"2026-05-29T02:17:56Z",
}

איך מאריכים סרטונים באמצעות Veo

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

המסוף

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

    Media Studio

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

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

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

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

  6. בתיבה Prompt, כותבים פרומפט טקסטואלי שמתאר את הסרטונים שרוצים ליצור.

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

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

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

  1. לוחצים על 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 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
    בעקבות הבקשה הזו מתקבל מידע על הפעולה, כולל אם הפעולה עדיין פועלת או שהיא הסתיימה.

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