Veo는 동영상 생성을 지원하는 모델의 이름입니다. Veo는 사용자가 제공하는 이미지 또는 텍스트를 바탕으로 동영상을 생성합니다.
콘솔에서 이 모델을 살펴보려면 Model Garden의 Video Generation
모델 카드를 참조하세요.
지원되는 모델
모델 | 모델 ID |
---|---|
동영상 생성 | veo-2.0-generate-001 (정식 버전 허용 목록) |
HTTP 요청
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning
요청 본문
{
"instances": [
{
"prompt": string,
// Optional. An image to guide video generation.
"image": {
// Union field can be only one of the following:
"bytesBase64Encoded": string,
"gcsUri": string,
// End of list of possible types for union field.
"mimeType": string
}
}
],
"parameters": {
"aspectRatio": string,
"negativePrompt": string,
"personGeneration": string,
"sampleCount": integer,
"seed": uint32,
"storageUri": string,
"durationSeconds": integer,
"enhancePrompt": boolean
}
}
Veo 모델에 다음 파라미터를 사용합니다. 자세한 내용은 Veo를 사용하여 텍스트 및 이미지 프롬프트로 동영상 생성을 참조하세요.
∏매개변수 | 설명 | 유형 | 허용되는 값 및 설명 | |
---|---|---|---|---|
이미지 | 필수(이미지 동영상 변환) 텍스트 프롬프트가 제공된 경우 선택사항(텍스트 동영상 변환) 동영상 생성을 안내하는 이미지 입력입니다. |
문자열 |
권장: 1280x720픽셀 또는 720x1280픽셀 이미지의 가로세로 비율이 다른 경우 중앙 자르기 도구를 사용하여 이미지가 잘립니다. 이미지의 가로세로 비율은 동일하지만 해상도가 더 큰 경우 이미지 크기가 조절됩니다. |
|
프롬프트 | 필수(텍스트 동영상 변환) 입력 이미지 프롬프트가 제공된 경우 선택사항(이미지 동영상 변환) 동영상의 처음 8초( veo-2.0-generate-001 )를 안내하는 텍스트 문자열입니다.
|
문자열 |
동영상 생성을 안내하는 텍스트 문자열. 예를 들면 다음과 같습니다.
|
|
durationSeconds | 필수 생성하려는 동영상 파일의 길이입니다. |
정수 | 허용되는 정수 값은 5~8입니다. 기본값은 8입니다. | |
negativePrompt | 선택사항 모델이 생성하지 못하도록 하려는 항목을 설명하는 텍스트 문자열입니다. |
문자열 |
생성된 동영상에서 생략하도록 모델에 요청하는 텍스트 문자열입니다. 예를 들면 다음과 같습니다.
|
|
prompt_enhance | 선택사항 Gemini를 사용하여 프롬프트를 개선하세요. |
부울 |
허용되는 값은 yes 또는 no 입니다. 기본값은 yes 입니다.
|
|
시드 | 선택사항 생성된 동영상을 결정론적으로 만드는 요청 수입니다. 다른 파라미터를 변경하지 않고 요청에 시드 수를 추가하면 모델에서 동일한 동영상을 생성합니다. |
uint32 | 0~4,294,967,295 |
|
storageURI | 선택사항 출력 동영상을 저장할 Cloud Storage 버킷 URI입니다. 값을 제공하지 않으면 base64로 인코딩된 동영상 바이트가 응답으로 반환됩니다. |
문자열 | 생성된 동영상을 저장할 Cloud Storage 위치입니다. 패턴: gs://BUCKET_NAME/SUBDIRECTORY | |
sampleCount | 선택사항 요청된 출력 이미지 수입니다. |
int | 1~4 | |
aspectRatio | 선택사항 생성된 동영상의 가로세로 비율을 정의합니다. |
문자열 | 16:9(기본값, 가로) 9:16(세로) | |
personGeneration | 선택사항 사람 또는 얼굴 생성의 허용 여부를 제어하는 안전 설정입니다. |
문자열 | allow_adult(기본값): 성인만 생성합니다. disallow: 이미지에 사람/얼굴을 포함하도록 허용하지 않습니다. |
샘플 요청
다음 요청을 사용하여 텍스트 동영상 변환 요청 또는 이미지 동영상 변환 요청을 전송합니다.
텍스트 동영상 변환 생성 요청
REST
Vertex AI Veo API를 사용하여 텍스트 프롬프트를 테스트하려면 POST 요청을 게시자 모델 엔드포인트로 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- MODEL_ID: 사용할 모델 ID입니다. 사용 가능한 값은 다음과 같습니다.
veo-2.0-generate-001
(정식 버전 허용 목록)
- TEXT_PROMPT: 동영상 생성을 안내하는 데 사용되는 텍스트 프롬프트입니다.
- OUTPUT_STORAGE_URI: 선택사항: 출력 동영상을 저장할 Cloud Storage 버킷입니다. 제공하지 않으면 응답으로 동영상 바이트가 반환됩니다. 예를 들면
gs://video-bucket/output/
입니다. - RESPONSE_COUNT: 생성할 동영상 파일의 수입니다. 허용되는 정수 값은 1~4입니다.
- DURATION: 생성할 동영상 파일의 길이입니다. 허용되는 정수 값은 5~8입니다.
-
추가 선택적 파라미터
사용 사례에 따라 다음 선택적 변수를 사용하세요.
"parameters": {}
객체에 다음 파라미터 중 일부 또는 전부를 추가합니다."parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }
- ASPECT_RATIO: 문자열입니다. 선택사항입니다. 생성된 동영상의 가로세로 비율을 정의합니다. 값은
16:9
(기본값, 가로) 또는9:16
(세로)입니다. - NEGATIVE_PROMPT: 문자열입니다. 선택사항입니다. 모델이 생성하지 않도록 하려는 항목을 설명하는 텍스트 문자열입니다.
- PERSON_SAFETY_SETTING: 문자열입니다. 선택사항입니다. 사람 또는 얼굴 생성의 허용 여부를 제어하는 안전 설정입니다. 값은 다음과 같습니다.
allow_adult
(기본값): 성인만 생성합니다.disallow
: 이미지에 사람이나 얼굴을 포함하지 않습니다.
- RESPONSE_COUNT: 선택사항인 정수입니다. 요청된 출력 이미지 수입니다. 값은
1
~4
입니다. - SEED_NUMBER: uint32입니다. 선택사항입니다. 생성된 동영상을 결정론적으로 만드는 수입니다.
다른 파라미터를 변경하지 않고 요청에 시드 수를 지정하면 모델에서 동일한 동영상을 생성합니다. 값은
0
~4294967295
입니다.
- ASPECT_RATIO: 문자열입니다. 선택사항입니다. 생성된 동영상의 가로세로 비율을 정의합니다. 값은
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" } ], "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" }
이미지 동영상 변환 생성 요청
REST
Vertex AI Veo API를 사용하여 텍스트 프롬프트를 테스트하려면 POST 요청을 게시자 모델 엔드포인트로 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- MODEL_ID: 사용할 모델 ID입니다. 사용 가능한 값은 다음과 같습니다.
veo-2.0-generate-001
(정식 버전 허용 목록)
- TEXT_PROMPT: 동영상 생성을 안내하는 데 사용되는 텍스트 프롬프트입니다.
- INPUT_IMAGE: 입력 이미지를 나타내는 base64로 인코딩된 바이트 문자열입니다. 품질을 보장하려면 입력 이미지가 720p 이상(1280x720픽셀)이고 가로세로 비율이 16:9 또는 9:16이어야 합니다. 다른 가로세로 비율이나 크기의 이미지는 업로드 과정에서 크기가 조절되거나 중앙에서 잘릴 수 있습니다.
- MIME_TYPE: 입력 이미지의 MIME 유형입니다.
image/jpeg
또는image/png
MIME 유형의 이미지만 지원됩니다. - OUTPUT_STORAGE_URI: 선택사항: 출력 동영상을 저장할 Cloud Storage 버킷입니다. 제공하지 않으면 응답으로 동영상 바이트가 반환됩니다. 예를 들면
gs://video-bucket/output/
입니다. - RESPONSE_COUNT: 생성할 동영상 파일의 수입니다. 허용되는 정수 값은 1~4입니다.
- DURATION: 생성할 동영상 파일의 길이입니다. 허용되는 정수 값은 5~8입니다.
-
추가 선택적 파라미터
사용 사례에 따라 다음 선택적 변수를 사용하세요.
"parameters": {}
객체에 다음 파라미터 중 일부 또는 전부를 추가합니다."parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }
- ASPECT_RATIO: 문자열입니다. 선택사항입니다. 생성된 동영상의 가로세로 비율을 정의합니다. 값은
16:9
(기본값, 가로) 또는9:16
(세로)입니다. - NEGATIVE_PROMPT: 문자열입니다. 선택사항입니다. 모델이 생성하지 않도록 하려는 항목을 설명하는 텍스트 문자열입니다.
- PERSON_SAFETY_SETTING: 문자열입니다. 선택사항입니다. 사람 또는 얼굴 생성의 허용 여부를 제어하는 안전 설정입니다. 값은 다음과 같습니다.
allow_adult
(기본값): 성인만 생성합니다.disallow
: 이미지에 사람이나 얼굴을 포함하지 않습니다.
- RESPONSE_COUNT: 선택사항인 정수입니다. 요청된 출력 이미지 수입니다. 값은
1
~4
입니다. - SEED_NUMBER: uint32입니다. 선택사항입니다. 생성된 동영상을 결정론적으로 만드는 수입니다.
다른 파라미터를 변경하지 않고 요청에 시드 수를 지정하면 모델에서 동일한 동영상을 생성합니다. 값은
0
~4294967295
입니다.
- ASPECT_RATIO: 문자열입니다. 선택사항입니다. 생성된 동영상의 가로세로 비율을 정의합니다. 값은
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 } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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" }
동영상 생성 장기 실행 작업 상태 폴링
동영상 생성 장기 실행 작업의 상태를 확인합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- MODEL_ID: 사용할 모델 ID입니다. 사용 가능한 값은 다음과 같습니다.
veo-2.0-generate-001
(정식 버전 허용 목록)
- 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
응답 본문(동영상 요청 생성)
텍스트 동영상 변환 또는 이미지 동영상 변환 요청을 전송하면 다음과 같은 응답이 반환됩니다.
{
"name": string
}
응답 요소 | 설명 |
---|---|
name |
동영상 생성 요청이 전송된 후 시작되는 장기 실행 작업의 전체 작업 이름입니다. |
샘플 응답(동영상 생성 요청)
{
"name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}
응답 본문(장기 실행 작업 폴링)
원본 동영상 생성 장기 실행 작업의 상태를 폴링하면 다음과 같은 응답이 반환됩니다.
{
"name": string,
"done": boolean,
"response":{
"@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
"videos":[
{
"gcsUri": string,
"mimeType": string
},
{
"gcsUri": string,
"mimeType": string
},
{
"gcsUri": string,
"mimeType": string
},
{
"gcsUri": string,
"mimeType": string
},
]
}
}
응답 요소 | 설명 |
---|---|
name |
동영상 생성 요청이 전송된 후 시작되는 장기 실행 작업의 전체 작업 이름입니다. |
done |
작업이 완료되었는지 여부를 나타내는 불리언 값입니다. |
response |
장기 실행 작업의 응답 본문입니다. |
generatedSamples |
생성된 동영상 샘플 객체의 배열입니다. |
video |
생성된 동영상입니다. |
uri |
생성된 동영상의 Cloud Storage URI입니다. |
encoding |
동영상 인코딩 유형입니다. |
샘플 응답(장기 실행 작업 폴링)
{
"name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID",
"done":true,
"response":{
"@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
"generatedSamples":[
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
"encoding":"video/mp4"
}
}
]
}
}
추가 정보
- Vertex AI에서 Veo를 사용하는 방법에 관한 자세한 내용은 Veo를 사용하여 텍스트 및 이미지 프롬프트로 동영상 생성을 참조하세요.
다음 단계
- Google DeepMind의 Veo 모델에 관한 정보 읽어보기
- 'Veo 및 Imagen 3: Vertex AI의 새로운 동영상 및 이미지 생성 모델 발표' 블로그 게시물 읽어보기
- '크리에이터를 위해 제작된 새로운 생성형 미디어 모델 및 도구' 블로그 게시물 읽어보기