동영상의 첫 번째 프레임과 마지막 프레임을 지정하여 Vertex AI 기반 Veo 동영상을 생성할 수 있습니다. 지원되는 인터페이스에는 Google Cloud 콘솔과 Vertex AI API가 있습니다.
동영상 생성에 효과적인 텍스트 프롬프트 작성에 대한 자세한 내용은 Veo 프롬프트 가이드를 참조하세요.
시작하기 전에
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. -
환경에 대한 인증을 설정하세요.
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
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
첫 번째 프레임과 마지막 프레임으로 동영상 만들기
다음 예시에서는 Veo 동영상의 첫 번째 프레임과 마지막 프레임을 지정하는 방법을 보여줍니다.
콘솔
Google Cloud 콘솔에서 Vertex AI > Media Studio 페이지로 이동합니다.
동영상을 클릭합니다. 동영상 Media Studio 페이지가 표시됩니다.
설정 창에서 다음 설정을 구성합니다.
모델: 다음 중 하나를 선택합니다.
Veo 2:
veo-2.0-generate-001**Veo 3:
veo-3.1-generate-preview**veo-3.1-fast-generate-preview**
가로세로 비율: 16:9 또는 9:16을 선택합니다.
결과 수: 슬라이더를 조정하거나 1~4 사이의 값을 입력합니다.
동영상 길이: 메뉴에서 동영상 길이를 선택합니다.
출력 디렉터리: 찾아보기를 클릭하여 생성된 파일을 저장할 Cloud Storage 버킷을 만들거나 선택합니다.
프롬프트 작성 상자에서 업로드를 클릭합니다. 표시된 대화상자에서 첫 번째 프레임의 이미지를 선택합니다.
업로드된 이미지 옆에 엔딩 프레임 추가 (선택사항)가 표시됩니다.
선택사항: 엔딩 프레임 추가를 클릭하여 엔딩 프레임을 추가합니다. 표시된 대화상자에서 마지막 프레임의 이미지를 선택합니다.
프롬프트 작성 상자에 생성할 동영상을 설명하는 텍스트 프롬프트를 입력합니다.
생성을 클릭합니다.
Python
설치
pip install --upgrade google-genai
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 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_VERTEXAI=True
REST
환경을 설정하면 REST를 사용하여 텍스트 프롬프트를 테스트할 수 있습니다. 다음 샘플은 요청을 게시자 모델 엔드포인트에 전송합니다.
Veo API에 대한 자세한 내용은 Vertex AI 기반 Veo API를 참조하세요.
다음 명령어를 사용하여 동영상 생성 요청을 전송합니다. 이 요청은 장기 실행 작업을 시작하고 지정한 Cloud Storage 버킷에 출력을 저장합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID: Google Cloud 프로젝트 ID를 나타내는 문자열입니다. -
MODEL_ID: 사용할 모델 ID를 나타내는 문자열입니다. 첫 번째 또는 마지막 동영상 프레임을 지정할 때는 다음 중 하나를 사용하세요.- Veo 2:
veo-2.0-generate-001 - Veo 3:
veo-3.1-generate-preview - Veo 3:
veo-3.1-fast-generate-preview
- Veo 2:
-
TEXT_PROMPT: 동영상 생성을 안내하는 데 사용되는 텍스트 프롬프트입니다. -
PATH_TO_FIRST_FRAME_IMAGE: 첫 번째 프레임의 이미지에 대한 Cloud Storage 경로를 나타내는 문자열입니다. 예를 들면"gs://video-bucket/input/first-frame.jpg"입니다. -
IMAGE_MIME_TYPE: 입력 이미지의 MIME 유형을 나타내는 문자열입니다. 다음 MIME 유형의 이미지만 지원됩니다.image/jpegimage/png
-
PATH_TO_LAST_FRAME_IMAGE: 마지막 프레임의 이미지에 대한 Cloud Storage 경로를 나타내는 문자열입니다. 예를 들면"gs://video-bucket/input/last-frame.jpg"입니다. -
OUTPUT_STORAGE_URI: (선택사항) 출력 동영상을 저장할 Cloud Storage 버킷을 나타내는 문자열입니다. 제공하지 않으면 응답으로 동영상 바이트가 반환됩니다. 예를 들면"gs://video-bucket/output/"입니다. -
RESPONSE_COUNT: 생성할 동영상 파일의 수입니다. 허용되는 값의 범위는1~4입니다. -
DURATION: 생성된 동영상 파일의 길이를 나타내는 정수입니다. 각 모델에 허용되는 값은 다음과 같습니다.- Veo 2 모델:
5~8. 기본값은8입니다. - Veo 3 모델:
4,6또는8. 기본값은8입니다.
- Veo 2 모델:
-
추가 선택적 파라미터
사용 사례에 따라 다음 선택적 변수를 사용하세요.
"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"
기본값은
"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": { "gcsUri": "PATH_TO_FIRST_FRAME_IMAGE, "mimeType": "IMAGE_MIME_TYPE" }, "lastFrame:" { "gcsUri": "PATH_TO_LAST_FRAME_IMAGE, "mimeType": "IMAGE_MIME_TYPE" } } ], "parameters": { "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": RESPONSE_COUNT } }요청을 보내려면 다음 옵션 중 하나를 선택합니다.
이 요청은 고유한 작업 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: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" }-
(선택사항) 동영상 생성 장기 실행 작업의 상태를 확인합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 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
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-10-19(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-10-19(UTC)"],[],[]]