Gemini Omni 1.2 Flash를 사용하면 Agent Platform API를 통해 동영상을 낮은 해상도(360p 또는 720p)에서 높은 해상도(720p, 1080p 또는 4K)로 업스케일링할 수 있습니다. 독립형 동영상 업스케일링을 사용하면 낮은 해상도에서 프롬프트를 반복하고 이전 차례 또는 Cloud Storage에 저장된 이전에 생성된 동영상에서 최종 선택된 동영상만 업스케일링할 수 있습니다.
다음 모델은 동영상 업스케일링을 지원합니다.
클릭하여 지원되는 모델 펼치기
지원되는 해상도 및 사양
독립형 동영상 업스케일링은 다음 해상도 전환 및 입력 제약 조건을 지원합니다.
- 360p 입력 동영상:
720p또는1080p로 업스케일링합니다. 단일 요청으로360p에서4k로 직접 업스케일링하는 것은 지원되지 않습니다. - 720p 입력 동영상:
1080p또는4k로 업스케일합니다.1080p에서4k로의 업스케일링은 지원되지 않습니다. - 가로세로 비율:
16:9(가로 모드) 또는9:16(세로 모드) - 프레임 속도: 초당 24프레임(출력 동영상에 유지됨)
- 길이: 최대 15초
- 토큰 사용량 및 가격 책정: 독립형 동영상 업스케일링은 텍스트 추론을 우회하며 항상 입력 토큰이 발생하지 않습니다(
total_input_tokens: 0). 출력 동영상 토큰은 소스 및 타겟 해상도 쌍에 따라 다른 모든 Omni 1.2 Flash 작업과 동일한 출력 동영상 토큰 가격으로 청구됩니다(360p에서720p및720p에서1080p의 경우 초당2,896출력 동영상 토큰,360p에서1080p의 경우 초당5,792출력 동영상 토큰,720p에서4k의 경우 초당11,584출력 동영상 토큰).
요청 요구사항
독립형 동영상 업스케일링 요청을 보낼 때는 요청이 다음 요구사항을 충족하는지 확인하세요.
task: "upscale"지정:generation_config.video_config.task를"upscale"로 설정해야 합니다.task: "upscale"를 생략하면 API는 요청을 동영상 편집("edit") 작업으로 해석합니다.- 대상
resolution지정:response_format에서 대상resolution("720p","1080p"또는"4k")을 지정해야 합니다. 대상resolution를 생략하면 오류가 반환됩니다. - 동영상 소스 제공:
input("type": "video")에 입력 동영상을 제공하거나previous_interaction_id를 설정하여 바로 이전의 스테이트풀(Stateful) 차례에서 생성된 동영상을 업스케일링합니다. 멀티턴 상호작용에서는 업스케일할 동영상을 찾을 때 바로 이전 차례만 고려됩니다. - 선택적 매개변수: 재현 가능한 출력을 위해
generation_config.seed를 지정하고 커스텀 메타데이터 라벨(labels)을 연결하여 요청을 구성하고 청구 비용을 추적할 수 있습니다.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
환경에 대한 인증을 설정하세요.
이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.
콘솔
Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스하는 경우 인증을 설정할 필요가 없습니다.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다.
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
Omni 1.2 Flash를 사용하여 동영상 업스케일링
Omni 1.2 Flash를 사용하여 동영상을 업스케일링하려면 다음 상호작용 모드 중 하나를 선택합니다.
REST
동영상 업스케일링을 완료하는 데 1분 이상 걸릴 수 있습니다. 워크플로에 따라 여러 상호작용 모드 중에서 선택할 수 있습니다.
- 동기식: 스테이트리스(업로드된 동영상): 서버에서 상호작용 상태를 유지하지 않고 단일 요청으로 Cloud Storage에서 360p 또는 720p 동영상을 업스케일링하려면
store를false로 설정합니다. - 동기식: 스테이트풀(이전 차례): 직전 스테이트풀(Stateful) 차례의
previous_interaction_id를 참조하여 이전에 생성된 360p 또는 720p 동영상을 업스케일링합니다. - 동기: 스테이트풀(Stateful) 스트리밍:
store및stream를 모두true로 설정하여 상호작용 상태 업데이트 및 출력 동영상을 스트리밍합니다. - 비동기:
background를true로 설정하여 백그라운드에서 동영상 업스케일링을 실행하고 나중에 상호작용 ID를 사용하여 결과를 가져옵니다.
저장된 상호작용과 비동기 상호작용은 최대 7일 동안 보관됩니다.
Interactions API와 함께 Gemini Omni 모델을 사용하는 방법에 대한 자세한 내용은 Interactions API를 참조하세요.
동기식: 스테이트리스(Stateless)
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID: Google Cloud 프로젝트 ID를 나타내는 문자열 -
MODEL_ID: 사용할 모델 ID를 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다."gemini-omni-1.2-flash"
-
CLOUD_STORAGE_VIDEO_URI: 입력 동영상(360p 또는 720p, 최대 15초)이 포함된 Cloud Storage URI를 나타내는 문자열입니다. 예를 들면"gs://video-bucket/input/video.mp4"입니다. -
VIDEO_MIME: 동영상 MIME 유형을 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다.video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (선택사항) 업스케일링된 동영상을 저장할 Cloud Storage 버킷을 나타내는 문자열입니다. 제공하지 않으면 응답으로 동영상 바이트가 반환됩니다. 예를 들면"gs://video-bucket/output/"입니다. -
OUTPUT_RESOLUTION: (필수) 타겟 출력 해상도를 나타내는 문자열입니다. 지원되는 값은 입력 동영상 해상도에 따라 다릅니다.- 360p 입력 동영상:
"720p"또는"1080p" - 720p 입력 동영상:
"1080p"또는"4k"
- 360p 입력 동영상:
HTTP 메서드 및 URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
JSON 요청 본문:
{
"model": "MODEL_ID",
"store": false,
"input": [
{
"type": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"resolution": "OUTPUT_RESOLUTION"
}
],
"generation_config": {
"video_config": {
"task": "upscale"
}
}
}
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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-1.2-flash",
"status": "completed",
"usage": {
"total_tokens": 28960,
"total_input_tokens": 0,
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28960
}
],
"total_output_tokens": 28960
},
"steps": [
{
"type": "model_output",
"content": [
{
"type": "video",
"uri": "gs://some/output_path/123.mp4",
"mime_type": "video/mp4"
}
]
}
],
"object": "interaction",
"role": "model",
"created": "2026-11-05T02:17:56Z",
"updated": "2026-11-05T02:17:56Z"
}
동기식: 스테이트풀(Stateful)
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID: Google Cloud 프로젝트 ID를 나타내는 문자열 -
MODEL_ID: 사용할 모델 ID를 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다."gemini-omni-1.2-flash"
-
PREVIOUS_INTERACTION_ID: 360p 또는 720p 동영상(최대 15초)을 생성한 직전 스테이트풀(Stateful) 대화의 상호작용 ID입니다. -
CLOUD_STORAGE_OUTPUT_URI: (선택사항) 업스케일링된 동영상을 저장할 Cloud Storage 버킷을 나타내는 문자열입니다. 제공하지 않으면 응답으로 동영상 바이트가 반환됩니다. 예를 들면"gs://video-bucket/output/"입니다. -
OUTPUT_RESOLUTION: (필수) 타겟 출력 해상도를 나타내는 문자열입니다. 지원되는 값은 이전 차례의 동영상 해상도에 따라 다릅니다.- 360p 동영상:
"720p"또는"1080p" - 720p 동영상:
"1080p"또는"4k"
- 360p 동영상:
HTTP 메서드 및 URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
JSON 요청 본문:
{
"model": "MODEL_ID",
"previous_interaction_id": "PREVIOUS_INTERACTION_ID",
"background": false,
"store": true,
"stream": false,
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "Upsample video."
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"resolution": "OUTPUT_RESOLUTION"
}
],
"generation_config": {
"video_config": {
"task": "upscale"
}
}
}
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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",
"previous_interaction_id": "PREVIOUS_INTERACTION_ID",
"model": "gemini-omni-1.2-flash",
"status": "completed",
"usage": {
"total_tokens": 28960,
"total_input_tokens": 0,
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28960
}
],
"total_output_tokens": 28960
},
"steps": [
{
"type": "model_output",
"content": [
{
"type": "video",
"uri": "gs://some/output_path/123.mp4",
"mime_type": "video/mp4"
}
]
}
],
"object": "interaction",
"role": "model",
"created": "2026-11-05T02:17:56Z",
"updated": "2026-11-05T02:17:56Z"
}
INTERACTION_ID를 사용하여 업스케일된 동영상을 가져옵니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID: Google Cloud 프로젝트 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-1.2-flash",
"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"
}
동기식: 스테이트풀(Stateful) 스트리밍
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID: Google Cloud 프로젝트 ID를 나타내는 문자열 -
MODEL_ID: 사용할 모델 ID를 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다."gemini-omni-1.2-flash"
-
CLOUD_STORAGE_VIDEO_URI: 입력 동영상(360p 또는 720p, 최대 15초)이 포함된 Cloud Storage URI를 나타내는 문자열입니다. 예를 들면"gs://video-bucket/input/video.mp4"입니다. -
VIDEO_MIME: 동영상 MIME 유형을 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다.video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (선택사항) 업스케일링된 동영상을 저장할 Cloud Storage 버킷을 나타내는 문자열입니다. 제공하지 않으면 응답으로 동영상 바이트가 반환됩니다. 예를 들면"gs://video-bucket/output/"입니다. -
OUTPUT_RESOLUTION: (필수) 타겟 출력 해상도를 나타내는 문자열입니다. 지원되는 값은 입력 동영상 해상도에 따라 다릅니다.- 360p 입력 동영상:
"720p"또는"1080p" - 720p 입력 동영상:
"1080p"또는"4k"
- 360p 입력 동영상:
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": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"resolution": "OUTPUT_RESOLUTION"
}
],
"generation_config": {
"video_config": {
"task": "upscale"
}
}
}
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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-1.2-flash"},"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":"model_output"},"event_type":"step.start"}
event: step.delta
data: {"index":0,"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":0,"event_type":"step.stop"}
event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":28960,"total_input_tokens":0,"total_output_tokens":28960,"output_tokens_by_modality":[{"modality":"video","tokens":28960}]},"created":"2026-11-05T21:26:20Z","updated":"2026-11-05T21:26:20Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-1.2-flash"},"event_id":"EVENT_ID","event_type":"interaction.completed"}
event: done
data: [DONE]
INTERACTION_ID를 사용하여 저장된 상호작용과 업스케일링된 동영상을 스트리밍합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID: Google Cloud 프로젝트 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
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-1.2-flash"},"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-1.2-flash"},"event_id":"EVENT_ID","event_type":"interaction.completed"}
event: done
data: [DONE]
비동기식
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID: Google Cloud 프로젝트 ID를 나타내는 문자열 -
MODEL_ID: 사용할 모델 ID를 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다."gemini-omni-1.2-flash"
-
CLOUD_STORAGE_VIDEO_URI: 입력 동영상(360p 또는 720p, 최대 15초)이 포함된 Cloud Storage URI를 나타내는 문자열입니다. 예를 들면"gs://video-bucket/input/video.mp4"입니다. -
VIDEO_MIME: 동영상 MIME 유형을 나타내는 문자열입니다. 허용되는 값은 다음과 같습니다.video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (선택사항) 업스케일링된 동영상을 저장할 Cloud Storage 버킷을 나타내는 문자열입니다. 제공하지 않으면 응답으로 동영상 바이트가 반환됩니다. 예를 들면"gs://video-bucket/output/"입니다. -
OUTPUT_RESOLUTION: (필수) 타겟 출력 해상도를 나타내는 문자열입니다. 지원되는 값은 입력 동영상 해상도에 따라 다릅니다.- 360p 입력 동영상:
"720p"또는"1080p" - 720p 입력 동영상:
"1080p"또는"4k"
- 360p 입력 동영상:
HTTP 메서드 및 URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
JSON 요청 본문:
{
"model": "MODEL_ID",
"background": true,
"input": [
{
"type": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"resolution": "OUTPUT_RESOLUTION"
}
],
"generation_config": {
"video_config": {
"task": "upscale"
}
}
}
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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: Google Cloud 프로젝트 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-1.2-flash",
"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"
}