이미지에서 동영상 생성

Gemini Enterprise Agent Platform에서 Gemini Omni 또는 Veo를 사용하여 기존 이미지를 첫 번째 프레임으로 사용하여 새 동영상을 생성할 수 있습니다. Gemini Enterprise Agent Platform Media Studio를 통해 또는 Gemini Enterprise Agent Platform 동영상 생성 API를 사용하여 이미지 첫 프레임에서 동영상으로 변환할 수 있습니다.

다음 모델은 이미지에서 동영상 생성을 지원합니다.

Gemini Omni

클릭하여 지원되는 모델 펼치기

Veo

클릭하여 지원되는 모델 펼치기

동영상 생성에 효과적인 텍스트 프롬프트 작성에 대한 자세한 내용은 동영상 생성 프롬프트 가이드를 참조하세요.

Colab에서 Gemini Omni Flash 사용해 보기

시작하기 전에

  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

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다.

    자세한 내용은 Cloud de Confiance 인증 문서의 REST 사용을 위한 인증을 참조하세요.

Gemini Omni를 사용하여 이미지에서 동영상 생성

REST

동영상 생성은 완료하는 데 1분 이상 걸릴 수 있습니다. 워크플로에 따라 여러 상호작용 모드 중에서 선택할 수 있습니다.

  • 동기: 상태 비저장: 서버에 상호작용 상태를 유지하지 않고 단일 요청으로 동영상을 생성합니다.
  • 동기식: 스테이트풀(Stateful): store를 true로 설정하여 상호작용 상태를 유지합니다. 이렇게 하면 나중에 결과를 검색하거나 멀티턴 동영상 편집을 위해 상호작용 ID를 참조할 수 있습니다.
  • 동기: 상태 저장 스트리밍: store와 stream를 모두 true로 설정하여 모델이 생성될 때 모델의 생각을 점진적으로 수신한 후 출력 동영상을 수신합니다.
  • 비동기: background를 true로 설정하여 백그라운드에서 동영상 생성을 실행하고 나중에 상호작용 ID를 사용하여 결과를 가져옵니다.

저장된 비동기 상호작용은 최대 14일 동안 보관됩니다.

Gemini Omni Flash API 사용에 대한 자세한 내용은 Interactions API를 참조하세요.

동기식: 스테이트리스(Stateless)

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID를 나타내는 문자열
  • MODEL_ID: 사용할 모델 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"
  • OUTPUT_RESOLUTION:

    선택사항: 동영상 출력 해상도를 나타내는 문자열입니다. 제공하지 않은 경우 출력은 기본적으로 720p입니다.

    gemini-omni-1.1-flash-preview는 다음 값을 지원합니다.

    • "360p"
    • "720p"
    • "1080p"
    • "4k"

    gemini-omni-flash-preview는 "720p"만 지원합니다.

  • DURATION: 생성된 동영상 파일의 길이를 나타내는 문자열입니다. 허용되는 문자열은 3~10 사이의 정수 뒤에 초를 나타내는 's'가 붙은 것입니다. 예를 들면 "10s"입니다.

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",
      "resolution": "OUTPUT_RESOLUTION",
      "duration": "DURATION"
    }
  ],
  "generation_config": {
    "video_config": {
      "task": "image_to_video"
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

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",
}

동기: 상태 저장

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID를 나타내는 문자열
  • MODEL_ID: 사용할 모델 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"
  • OUTPUT_RESOLUTION:

    선택사항: 동영상 출력 해상도를 나타내는 문자열입니다. 제공하지 않은 경우 출력은 기본적으로 720p입니다.

    gemini-omni-1.1-flash-preview는 다음 값을 지원합니다.

    • "360p"
    • "720p"
    • "1080p"
    • "4k"

    gemini-omni-flash-preview는 "720p"만 지원합니다.

  • DURATION: 생성된 동영상 파일의 길이를 나타내는 문자열입니다. 허용되는 문자열은 3~10 사이의 정수 뒤에 초를 나타내는 's'가 붙은 것입니다. 예를 들면 "10s"입니다.

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",
      "resolution": "OUTPUT_RESOLUTION",
      "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 프로젝트 ID를 나타내는 문자열
  • INTERACTION_ID: 비동기 요청의 상호작용 ID입니다.

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 프로젝트 ID를 나타내는 문자열
  • MODEL_ID: 사용할 모델 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"
  • OUTPUT_RESOLUTION:

    선택사항: 동영상 출력 해상도를 나타내는 문자열입니다. 제공하지 않은 경우 출력은 기본적으로 720p입니다.

    gemini-omni-1.1-flash-preview는 다음 값을 지원합니다.

    • "360p"
    • "720p"
    • "1080p"
    • "4k"

    gemini-omni-flash-preview는 "720p"만 지원합니다.

  • DURATION: 생성된 동영상 파일의 길이를 나타내는 문자열입니다. 허용되는 문자열은 3~10 사이의 정수 뒤에 초를 나타내는 's'가 붙은 것입니다. 예를 들면 "10s"입니다.

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",
      "resolution": "OUTPUT_RESOLUTION",
      "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]
`?stream=true` 와 함께 INTERACTION_ID를 사용하여 저장된 상호작용과 생성된 동영상을 스트리밍합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID를 나타내는 문자열
  • INTERACTION_ID: 요청의 상호작용 ID입니다.

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 프로젝트 ID를 나타내는 문자열
  • MODEL_ID: 사용할 모델 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"
  • OUTPUT_RESOLUTION:

    선택사항: 동영상 출력 해상도를 나타내는 문자열입니다. 제공하지 않은 경우 출력은 기본적으로 720p입니다.

    gemini-omni-1.1-flash-preview는 다음 값을 지원합니다.

    • "360p"
    • "720p"
    • "1080p"
    • "4k"

    gemini-omni-flash-preview는 "720p"만 지원합니다.

  • DURATION: 생성된 동영상 파일의 길이를 나타내는 문자열입니다. 허용되는 문자열은 3~10 사이의 정수 뒤에 초를 나타내는 's'가 붙은 것입니다. 예를 들면 "10s"입니다.

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",
      "resolution": "OUTPUT_RESOLUTION",
      "duration": "DURATION"
    }
  ],
  "generation_config": {
    "video_config": {
      "task": "image_to_video"
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

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가 포함됩니다.
{
  "id":"INTERACTION_ID",
  "status":"in_progress",
  "object":"interaction"
}
나중에 INTERACTION_ID를 사용하여 생성된 동영상을 가져옵니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID를 나타내는 문자열
  • INTERACTION_ID: 비동기 요청의 상호작용 ID입니다.

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를 사용하여 이미지로 동영상 생성하기

샘플 입력 샘플 출력
  1. 입력 이미지1
    크로셰 코끼리의 PNG 파일 입력
  2. 텍스트 프롬프트: 코끼리가 자연스럽게 움직인다

크로셰 코끼리 동영상 출력

1 사바나를 걷고 있는 복잡한 패턴의 크로셰 코끼리 프롬프트로 생성한 이미지

이미지만 입력으로 사용하거나 이미지와 설명 텍스트를 입력으로 사용하여 새로운 동영상을 생성할 수 있습니다. 다음 샘플에서는 이미지와 텍스트로 동영상을 생성하는 기본 안내를 보여줍니다.

콘솔

  1. Cloud de Confiance 콘솔에서 Agent Platform > Media Studio 페이지로 이동합니다.

    Media Studio

  2. 동영상을 클릭합니다.

  3. 작업 메뉴에서 이미지-동영상을 선택합니다.

  4. 모델 메뉴에서 표시된 옵션 중 하나를 선택합니다.

  5. 프롬프트 상자에 생성할 동영상을 설명하는 텍스트 프롬프트를 입력합니다.

  6. 입력 이미지 섹션에서 시작을 클릭하여 첫 번째 프레임의 이미지를 업로드합니다.

  7. 선택사항: 종료를 클릭하여 마지막 프레임의 이미지를 업로드합니다.

  8. 선택사항: 다음 파라미터를 조정합니다.

    • 가로세로 비율: 16:9 또는 9:16을 선택합니다.

    • 결과 수: 슬라이더를 조정하거나 1~4 사이의 값을 입력합니다.

    • 동영상 길이: 메뉴에서 동영상 길이를 선택합니다.

    • 출력 디렉터리: 찾아보기를 클릭하여 생성된 파일을 저장할 Cloud Storage 버킷을 만들거나 선택합니다.

  9. 실행을 클릭합니다.

Python

설치

pip install --upgrade google-genai

자세한 내용은 SDK 참고 문서를 참고하세요.

Vertex AI에서 Google 생성형 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_ENTERPRISE=True

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

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-001",
    prompt="Extreme close-up of a cluster of vibrant wildflowers swaying gently in a sun-drenched meadow.",
    image=Image(
        gcs_uri="gs://cloud-samples-data/generative-ai/image/flowers.png",
        mime_type="image/png",
    ),
    config=GenerateVideosConfig(
        aspect_ratio="16:9",
        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

Go

Go를 설치하거나 업데이트하는 방법을 알아보세요.

자세한 내용은 SDK 참고 문서를 참고하세요.

Vertex AI에서 Google 생성형 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_ENTERPRISE=True

import (
	"context"
	"fmt"
	"io"
	"time"

	"google.golang.org/genai"
)

// generateVideoFromImage shows how to gen video from img.
func generateVideoFromImage(w io.Writer, outputGCSURI string) error {
	//outputGCSURI = "gs://your-bucket/your-prefix"
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	image := &genai.Image{
		GCSURI:   "gs://cloud-samples-data/generative-ai/image/flowers.png",
		MIMEType: "image/png",
	}

	config := &genai.GenerateVideosConfig{
		AspectRatio:  "16:9",
		OutputGCSURI: outputGCSURI,
	}

	modelName := "veo-3.0-generate-preview"
	prompt := "Extreme close-up of a cluster of vibrant wildflowers swaying gently in a sun-drenched meadow."
	operation, err := client.Models.GenerateVideos(ctx, modelName, prompt, image, config)
	if err != nil {
		return fmt.Errorf("failed to start video generation: %w", err)
	}

	// Polling until the operation is done
	for !operation.Done {
		time.Sleep(15 * time.Second)
		operation, err = client.Operations.GetVideosOperation(ctx, operation, nil)
		if err != nil {
			return fmt.Errorf("failed to get operation status: %w", err)
		}
	}

	if operation.Response != nil && len(operation.Response.GeneratedVideos) > 0 {
		videoURI := operation.Response.GeneratedVideos[0].Video.URI
		fmt.Fprintln(w, videoURI)
		return nil
	}

	// Example response:
	// gs://your-bucket/your-prefix/videoURI

	return fmt.Errorf("video generation failed or returned no results")
}

Node.js

설치

npm install @google/genai

자세한 내용은 SDK 참고 문서를 참고하세요.

Vertex AI에서 Google 생성형 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_ENTERPRISE=True

const {GoogleGenAI} = require('@google/genai');

const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';

async function generateVideo(
  outputGcsUri,
  projectId = GOOGLE_CLOUD_PROJECT,
  location = GOOGLE_CLOUD_LOCATION
) {
  const client = new GoogleGenAI({
    vertexai: true,
    project: projectId,
    location: location,
  });

  let operation = await client.models.generateVideos({
    model: 'veo-3.1-fast-generate-001',
    prompt:
      'Extreme close-up of a cluster of vibrant wildflowers swaying gently in a sun-drenched meadow',
    image: {
      gcsUri: 'gs://cloud-samples-data/generative-ai/image/flowers.png',
      mimeType: 'image/png',
    },
    config: {
      aspectRatio: '16:9',
      outputGcsUri: outputGcsUri,
    },
  });

  while (!operation.done) {
    await new Promise(resolve => setTimeout(resolve, 15000));
    operation = await client.operations.get({operation: operation});
    console.log(operation);
  }

  if (operation.response) {
    console.log(operation.response.generatedVideos[0].video.uri);
  }
  return operation;
}

Java

Java를 설치하거나 업데이트하는 방법을 알아보세요.

자세한 내용은 SDK 참고 문서를 참고하세요.

Vertex AI에서 Google 생성형 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_ENTERPRISE=True


import com.google.genai.Client;
import com.google.genai.types.GenerateVideosConfig;
import com.google.genai.types.GenerateVideosOperation;
import com.google.genai.types.GenerateVideosResponse;
import com.google.genai.types.GeneratedVideo;
import com.google.genai.types.GetOperationConfig;
import com.google.genai.types.Image;
import com.google.genai.types.Video;
import java.util.concurrent.TimeUnit;

public class VideoGenWithImg {

  public static void main(String[] args) throws InterruptedException {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "veo-3.1-generate-001";
    String outputGcsUri = "gs://your-bucket/your-prefix";
    generateContent(modelId, outputGcsUri);
  }

  // Generates a video with an image and a text prompt.
  public static String generateContent(String modelId, String outputGcsUri)
      throws InterruptedException {
    // Client Initialization. Once created, it can be reused for multiple requests.
    try (Client client = Client.builder().location("global").vertexAI(true).build()) {

      GenerateVideosOperation operation =
          client.models.generateVideos(
              modelId,
              "Extreme close-up of a cluster of vibrant wildflowers"
                  + " swaying gently in a sun-drenched meadow.",
              Image.builder()
                  .gcsUri("gs://cloud-samples-data/generative-ai/image/flowers.png")
                  .mimeType("image/png")
                  .build(),
              GenerateVideosConfig.builder()
                  .aspectRatio("16:9")
                  .outputGcsUri(outputGcsUri)
                  .build());

      while (!operation.done().orElse(false)) {
        TimeUnit.SECONDS.sleep(15);
        operation =
            client.operations.getVideosOperation(operation, GetOperationConfig.builder().build());
      }

      String generatedVideoUri =
          operation
              .response()
              .flatMap(GenerateVideosResponse::generatedVideos)
              .flatMap(videos -> videos.stream().findFirst())
              .flatMap(GeneratedVideo::video)
              .flatMap(Video::uri)
              .orElseThrow(
                  () ->
                      new IllegalStateException(
                          "Could not get the URI from the generated video"));

      System.out.println("Generated video URI: " + generatedVideoUri);
      // Example response:
      // Generated video URI: gs://your-bucket/your-prefix/generated-video-123.mp4
      return generatedVideoUri;
    }
  }
}

REST

Veo API에 대한 자세한 내용은 다음을 참조하세요.

  1. 다음 명령어를 사용하여 동영상 생성 요청을 전송합니다. 이 요청은 장기 실행 작업을 시작하고 지정한 Cloud Storage 버킷에 출력을 저장합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID를 나타내는 문자열
    • MODEL_ID: 사용할 모델 ID를 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다.
      • Veo 2: veo-2.0-generate-001
      • Veo 3: veo-3.0-generate-001
      • Veo 3.1: veo-3.1-generate-001
      • Veo 3.1: veo-3.1-fast-generate-001
    • TEXT_PROMPT: 동영상 생성을 안내하는 데 사용되는 텍스트 프롬프트입니다.
    • INPUT_IMAGE: 입력 이미지를 나타내는 base64 인코딩 문자열입니다. 최상의 품질을 위해 입력 이미지의 해상도가 720p(1280x720픽셀) 이상이고 가로세로 비율이 16:9 또는 9:16인 것이 좋습니다. 이미지를 업로드할 때 가로세로 비율이나 크기가 다른 이미지는 조절되거나 중앙에서 잘릴 수 있습니다.
    • MIME_TYPE: 입력 이미지의 MIME 유형을 나타내는 문자열입니다. 다음 MIME 유형의 이미지만 지원됩니다.
      • "image/jpeg"
      • "image/png"
    • OUTPUT_STORAGE_URI: (선택사항) 출력 동영상을 저장할 Cloud Storage 버킷을 나타내는 문자열입니다. 제공하지 않으면 응답으로 동영상 바이트가 반환됩니다. 예를 들면 "gs://video-bucket/output/"입니다.
    • RESIZE_MODE: 사용할 크기 조절 모드를 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다.
      • "crop": 새 크기에 맞게 동영상을 자릅니다.
      • "pad": 새 크기에 맞게 동영상을 패딩합니다.
    • RESPONSE_COUNT: 생성할 동영상 파일의 수입니다. 허용되는 값의 범위는 1~4입니다.
    • DURATION: 생성된 동영상 파일의 길이를 나타내는 정수입니다. 각 모델에 허용되는 값은 다음과 같습니다.
      • Veo 2 모델: 5~8. 기본값은 8입니다.
      • Veo 3 모델: 4, 6 또는 8. 기본값은 8입니다.
    • 추가 선택적 파라미터

      사용 사례에 따라 다음 선택적 변수를 사용하세요. "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입니다.

    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",
          "image": {
            "bytesBase64Encoded": "INPUT_IMAGE",
            "mimeType": "MIME_TYPE"
          }
        }
      ],
      "parameters": {
        "storageUri": "OUTPUT_STORAGE_URI",
        "sampleCount": RESPONSE_COUNT
        "resizeMode": "RESIZE_MODE"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 선택합니다.

    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"
    }
    

  2. (선택사항) 동영상 생성 장기 실행 작업의 상태를 확인합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID
    • MODEL_ID: 사용할 모델 ID
    • OPERATION_ID: 원래 동영상 생성 요청에 반환된 고유한 작업 ID

    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
    이 요청은 작업이 아직 실행 중인지 또는 완료되었는지를 비롯하여 작업에 관한 정보를 반환합니다.

다음 단계