Veo 3.1
텍스트, 프레임 한두 장, 또는 최대 세 장의 참조 이미지로 720p, 1080p 또는 4K의 소리 있는 8초 영상을 생성합니다. Quality, Fast, Lite 중에서 고를 수 있으며 각각 가격이 따로 매겨집니다.
- 비동기: 생성 호출은 작업 ID를 반환하며, 작업이 성공하면 영상이 준비됩니다.
- 모델 ID 하나에 등급 세 개:
quality로 Quality, Fast, Lite를 선택하며, 각 등급은 해상도별로 가격이 따로 매겨집니다. duration필드는 없습니다. 길이는 모델이 정하며, 가격은 영상당 매겨집니다(가격표에는 소리 있는 8초 영상으로 표시).- 참조 이미지에는 Fast 또는 Lite가 필요합니다.
quality를 생략하면 Fast를 사용하며, Quality를 요청하면 거부됩니다. 텍스트와 프레임 요청의 기본값은 Quality입니다. - 초 단위가 아니라 등급과 해상도에 따라 영상당 과금됩니다. 실패한 작업은 비용이 들지 않습니다.
API Explorer에서 이 모델을 엽니다. BeatAPI API 키를 입력해 작업을 만드세요. 실제 호출이며 본인 잔액에서 과금됩니다.
엔드포인트와 인증
POST https://api.beatapi.io/v1/videos/tasks
Authorization
string
필수
BeatAPI API 키를 Bearer <BEATAPI_API_KEY>로 보내세요. 키는 대시보드에서 만듭니다. 키는 서버에 보관하고, 브라우저나 모바일 앱에 포함하지 마세요.
본문은 Content-Type: application/json과 함께 JSON으로 보냅니다. Idempotency-Key는 선택 사항입니다. 논리적 요청마다 고유한 값(최대 255자)을 보내고, 완전히 같은 본문을 재시도할 때만 다시 사용하세요. 24시간 안에 같은 키와 본문으로 재시도하면 첫 응답을 Idempotent-Replayed: true와 함께 다시 반환하고, 같은 키에 다른 본문을 보내면 409 idempotency_conflict를 반환합니다. 2xx 이외의 응답은 저장되지 않으므로 400이나 402 이후의 재시도는 다시 실행됩니다.
요청 처리 방식
작업 만들기
아래 파라미터를 엔드포인트로 POST하세요. 201은 작업이 접수되었고 가격만큼 잔액이 보류되었다는 뜻이며, 작업은 백그라운드에서 실행됩니다. data.id를 저장하세요.
완료 기다리기
status가 succeeded 또는 failed가 될 때까지 GET /v1/tasks/{task_id}를 호출하고, 호출 사이에 data.poll_after_seconds만큼 기다리세요(이미지 5초, 영상 8초). 또는 task.succeeded와 task.failed에 대한 웹훅을 등록하세요. 처리 시간 초과로 중단된 작업은 이벤트를 보내지 않으므로 폴링은 대비책으로 유지하세요.
입력 모드
요청 파라미터
model
string
필수
실행할 모델입니다. Veo 3.1은 ID 하나이며, 등급은 quality로 선택합니다.
값: veo-3.1
값이 잘못된 경우
- 누락:
"model" is required - 이 엔드포인트에 이미지 모델을 보낸 경우:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
prompt
string
필수
영상에서 일어나는 일: 피사체, 동작, 카메라 움직임, 스타일, 소리.
길이: 1–5000자
- 길이는 문자 수로 계산합니다(한중일 문자 하나는 1자).
- 참조 이미지를 쓸 때는 각 이미지의 용도를 적고 위치로 지칭하세요. 예: “첫 번째 참조 이미지”.
값이 잘못된 경우
- 누락:
"prompt" is required - 비어 있거나 한도보다 긴 경우:
"prompt" has an unsupported length
quality
string
선택
등급: Quality, Fast 또는 Lite. 각 등급은 해상도별로 가격이 따로 매겨집니다.
허용 값: Quality, Fast, Lite
- 값은 대소문자를 구분합니다.
fast가 아니라Fast입니다. - 생략하면 텍스트와 프레임 요청은
Quality를, 참조 이미지 요청은 참조를 받는 더 저렴한 등급인Fast를 사용합니다. Quality는reference_images와 함께 쓸 수 없습니다.Fast또는Lite를 보내거나quality를 생략하세요.- 가격은 등급에 따라 정해집니다. 과금을 참고하세요. 완료된 작업의
usage에 청구 금액이 표시됩니다.
quality를 생략해도 모든 모드에서 같은 가격이 되지는 않습니다. 텍스트와 프레임 요청은 가장 비싼 등급인 Quality로 과금됩니다. quality를 명시적으로 보내세요.
값이 잘못된 경우
- 목록에 없는 값:
"quality" must be one of: [Quality Fast Lite] reference_images와 함께 보낸Quality:Veo 3.1 Quality does not support reference images
images
string[]
선택
첫 프레임, 또는 첫 프레임과 마지막 프레임.
항목 수: 1–2
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
- 링크 하나: 이 이미지에서 영상이 시작됩니다. 링크 두 개:
images[0]은 첫 프레임,images[1]은 마지막 프레임입니다. - 프레임이 아니라 영상을 안내할 사진에는
reference_images(Fast 또는 Lite)를 사용하세요.
값이 잘못된 경우
- 링크가 두 개 초과:
"images" accepts at most 2 items - 빈 배열:
"images" requires at least 1 item reference_images와 함께 보낸 경우:Cannot combine "images" with reference inputs in one task- https:// 링크가 아닌 경우:
"images[0]" must be a public HTTPS URL
reference_images
string[]
선택
영상의 내용, 인물, 스타일을 안내하는 사진 1~3장입니다.
항목 수: 1–3
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
Fast또는Lite가 필요합니다.quality를 생략하면Fast를 사용합니다.aspect_ratio는16:9또는9:16여야 합니다(생략하면16:9).- 이미지는 목록 순서대로 사용되며, 프롬프트에서는 위치로 지칭하세요.
값이 잘못된 경우
- 링크가 세 개 초과:
"reference_images" accepts at most 3 items - 빈 배열:
"reference_images" requires at least 1 item images와 함께 보낸 경우:Cannot combine "images" with reference inputs in one taskquality: "Quality"와 함께 보낸 경우:Veo 3.1 Quality does not support reference imagesaspect_ratio: "auto"와 함께 보낸 경우:Veo 3.1 reference mode requires aspect_ratio 16:9 or 9:16
aspect_ratio
string
선택기본값: 16:9
가로:세로로 나타낸 영상 모양입니다. auto는 모델에 맡깁니다.
허용 값: 16:9, 9:16, auto
기본값: 16:9
auto는reference_images와 함께 쓸 수 없습니다.16:9또는9:16을 사용하세요.
값이 잘못된 경우
- 목록에 없는 값:
"aspect_ratio" must be one of: [16:9 9:16 auto] reference_images와 함께 보낸auto:Veo 3.1 reference mode requires aspect_ratio 16:9 or 9:16
resolution
string
선택기본값: 720p
출력 해상도입니다. 각 등급은 해상도별로 가격이 다르며, 4K가 가장 비쌉니다.
허용 값: 720p, 1080p, 4k
기본값: 720p
4k와4K는 같은 의미이며 둘 다 허용됩니다. 나머지 값은 소문자입니다.- 가격표에서는 이 등급을
4K로 표기합니다.
값이 잘못된 경우
- 목록에 없는 값(예:
1080P):"resolution" must be one of: [720p 1080p 4k 4K]
watermark
string
선택
워터마크 텍스트(선택 사항)로, 그대로 모델에 전달됩니다. 생략하면 모델 기본값을 사용합니다.
- 스위치가 아니라 문자열입니다.
true나false는 거부됩니다.
값이 잘못된 경우
- 문자열이 아닌 경우:
"watermark" must be a string
enable_translation
boolean
선택
모델의 프롬프트 번역 스위치로 전달됩니다. 생략하면 모델 기본값을 사용합니다.
값이 잘못된 경우
- true나 false가 아닌 경우:
"enable_translation" must be a boolean
게이트웨이는 작업을 만들기 전에 다음 조합도 검사합니다.
- images는 참조 입력과 함께 쓸 수 없습니다
입력 미디어 제한
게이트웨이는 작업을 만들기 전에 모든 입력을 읽고, 아래 제한을 벗어난 입력은 해당 입력을 명시한 400 bad_request로 거부합니다. 과금되지 않습니다.
- 게이트웨이는 모든 이미지가 공개 HTTPS 링크인지만 검사합니다. 작업 생성 전에 크기, 형식, 픽셀 크기를 측정하지 않으므로, 모델이 사용할 수 없는 이미지는 제출 후 작업을 실패시킵니다. 메시지에 바꿀 부분이 표시되며 보류 금액은 전액 반환됩니다.
- 로컬 파일이 있다면
POST /v1/files로 업로드하고 반환된data.url을 전달하세요.
등급 선택
모델 ID 하나가 세 등급을 포함합니다. 각 등급은 가격이 다른 별도 제품이며 quality로 선택합니다.
- 해상도별 가격은 과금 아래 표에 있습니다. 모든 해상도에서 Quality가 가장 비싸고 Lite가 가장 저렴합니다.
이 모델이 받지 않는 필드
다음 필드를 보내면 무시되지 않고 과금 전에 거부됩니다.
duration→field "duration" is not supported by model veo-3.1. Veo 3.1 영상은 모두 8초이며 선택할 것이 없습니다.reference_videos,reference_audios,generate_audio,seed,sound,task_type,output_format→field "<name>" is not supported by model veo-3.1(보낸 필드 명시). 소리를 켜고 끄는 필드는 없습니다.- 그 밖의 알 수 없는 필드 →
unknown field: <name>.
요청 예시
텍스트로 영상 생성(Fast)
Fast 등급의 720p 8초 클립입니다. quality는 의도적으로 보냅니다. 생략하면 텍스트 요청은 Quality로 과금됩니다.
텍스트로 영상 생성(Quality, 1080p)
1080p 세로 Quality 등급입니다.
텍스트로 영상 생성(Lite, 4K)
4k와 4K는 같은 값입니다.
첫 프레임과 마지막 프레임
첫 번째 이미지에서 두 번째 이미지로 이어집니다. images에 링크가 하나면 그 이미지에서 시작합니다.
참조 이미지
Fast 또는 Lite와 aspect_ratio 16:9 또는 9:16이 필요합니다.
응답
작업 생성(201)
작업 객체입니다. 작업이 성공할 때까지 output는 null입니다. ‘실행 중’으로 표시된 필드는 작업이 끝나면 사라집니다.
완료된 작업
GET /v1/tasks/{task_id}는 HTTP 200과 함께 status: "succeeded", 그리고 data.output에 결과를 반환합니다.
출력 필드
실패한 작업
실패한 작업도 GET /v1/tasks/{task_id}에서는 HTTP 200입니다. 실패 정보는 본문에 있습니다. 보류 금액이 전액 환불되므로 과금되지 않습니다.
전체 예시
작업을 만들고, 서버의 폴링 안내에 따라 기다린 뒤 결과 URL을 출력합니다. 환경 변수에 BEATAPI_API_KEY를 설정하고 requests를 설치하세요.
과금
- 가격은 초당이 아니라 영상당입니다. 모든 영상은 8초이며, 가격은 등급(
quality)과 해상도에 따라 다릅니다. 소리가 포함됩니다. - 아래 목록은 등급과 해상도별로 한 행씩 있습니다. 모든 해상도에서 Quality가 가장 비싸고 Lite가 가장 저렴하며, 같은 등급 안에서는 4K가 가장 비쌉니다.
quality를 생략하면 텍스트나 프레임 요청은 Quality로, 참조 이미지 요청은 Fast로 과금됩니다. 가격을 확실히 하려면quality를 보내세요.- 가격은 작업 생성 시 보류되고 영상이 준비되면 정산됩니다. 실패한 작업은 제출 후 콘텐츠 검수에서 거부된 경우를 포함해 전액 환불됩니다.
현재 정가이며 가격 페이지와 같습니다. 별도 할인 계약이 있는 계정은 더 적게 지불하며, 실제 청구 금액은 항상 작업의 data.usage에서 확인할 수 있습니다.
자주 발생하는 오류
HTTP 오류 요약
작업이 생성되기 전의 오류는 2xx가 아닌 응답으로 오며 과금되지 않습니다. error.code 또는 error.retryable로 분기하세요. message에 문제가 표시됩니다. 전체 목록과 재시도 정책은 오류에 있습니다.
인증
API 키를 Authorization: Bearer <BEATAPI_API_KEY>로 보내세요.
헤더
본문은 Content-Type: application/json과 함께 JSON으로 보냅니다. Idempotency-Key는 선택 사항입니다. 논리적 요청마다 고유한 값(최대 255자)을 보내고, 완전히 같은 본문을 재시도할 때만 다시 사용하세요. 24시간 안에 같은 키와 본문으로 재시도하면 첫 응답을 Idempotent-Replayed: true와 함께 다시 반환하고, 같은 키에 다른 본문을 보내면 409 idempotency_conflict를 반환합니다. 2xx 이외의 응답은 저장되지 않으므로 400이나 402 이후의 재시도는 다시 실행됩니다.
요청
실행할 모델입니다. Veo 3.1은 ID 하나이며, 등급은 quality로 선택합니다.
값: veo-3.1
값이 잘못된 경우
- 누락:
"model" is required - 이 엔드포인트에 이미지 모델을 보낸 경우:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
영상에서 일어나는 일: 피사체, 동작, 카메라 움직임, 스타일, 소리.
길이: 1–5000자
- 길이는 문자 수로 계산합니다(한중일 문자 하나는 1자).
- 참조 이미지를 쓸 때는 각 이미지의 용도를 적고 위치로 지칭하세요. 예: “첫 번째 참조 이미지”.
값이 잘못된 경우
- 누락:
"prompt" is required - 비어 있거나 한도보다 긴 경우:
"prompt" has an unsupported length
가로:세로로 나타낸 영상 모양입니다. auto는 모델에 맡깁니다.
허용 값: 16:9, 9:16, auto
기본값: 16:9
auto는reference_images와 함께 쓸 수 없습니다.16:9또는9:16을 사용하세요.
값이 잘못된 경우
- 목록에 없는 값:
"aspect_ratio" must be one of: [16:9 9:16 auto] reference_images와 함께 보낸auto:Veo 3.1 reference mode requires aspect_ratio 16:9 or 9:16
모델의 프롬프트 번역 스위치로 전달됩니다. 생략하면 모델 기본값을 사용합니다.
값이 잘못된 경우
- true나 false가 아닌 경우:
"enable_translation" must be a boolean
첫 프레임, 또는 첫 프레임과 마지막 프레임.
항목 수: 1–2
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
- 링크 하나: 이 이미지에서 영상이 시작됩니다. 링크 두 개:
images[0]은 첫 프레임,images[1]은 마지막 프레임입니다. - 프레임이 아니라 영상을 안내할 사진에는
reference_images(Fast 또는 Lite)를 사용하세요.
값이 잘못된 경우
- 링크가 두 개 초과:
"images" accepts at most 2 items - 빈 배열:
"images" requires at least 1 item reference_images와 함께 보낸 경우:Cannot combine "images" with reference inputs in one task- https:// 링크가 아닌 경우:
"images[0]" must be a public HTTPS URL
등급: Quality, Fast 또는 Lite. 각 등급은 해상도별로 가격이 따로 매겨집니다.
허용 값: Quality, Fast, Lite
- 값은 대소문자를 구분합니다.
fast가 아니라Fast입니다. - 생략하면 텍스트와 프레임 요청은
Quality를, 참조 이미지 요청은 참조를 받는 더 저렴한 등급인Fast를 사용합니다. Quality는reference_images와 함께 쓸 수 없습니다.Fast또는Lite를 보내거나quality를 생략하세요.- 가격은 등급에 따라 정해집니다. 과금을 참고하세요. 완료된 작업의
usage에 청구 금액이 표시됩니다.
참고: quality를 생략해도 모든 모드에서 같은 가격이 되지는 않습니다. 텍스트와 프레임 요청은 가장 비싼 등급인 Quality로 과금됩니다. quality를 명시적으로 보내세요.
값이 잘못된 경우
- 목록에 없는 값:
"quality" must be one of: [Quality Fast Lite] reference_images와 함께 보낸Quality:Veo 3.1 Quality does not support reference images
영상의 내용, 인물, 스타일을 안내하는 사진 1~3장입니다.
항목 수: 1–3
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
Fast또는Lite가 필요합니다.quality를 생략하면Fast를 사용합니다.aspect_ratio는16:9또는9:16여야 합니다(생략하면16:9).- 이미지는 목록 순서대로 사용되며, 프롬프트에서는 위치로 지칭하세요.
값이 잘못된 경우
- 링크가 세 개 초과:
"reference_images" accepts at most 3 items - 빈 배열:
"reference_images" requires at least 1 item images와 함께 보낸 경우:Cannot combine "images" with reference inputs in one taskquality: "Quality"와 함께 보낸 경우:Veo 3.1 Quality does not support reference imagesaspect_ratio: "auto"와 함께 보낸 경우:Veo 3.1 reference mode requires aspect_ratio 16:9 or 9:16
출력 해상도입니다. 각 등급은 해상도별로 가격이 다르며, 4K가 가장 비쌉니다.
허용 값: 720p, 1080p, 4k
기본값: 720p
4k와4K는 같은 의미이며 둘 다 허용됩니다. 나머지 값은 소문자입니다.- 가격표에서는 이 등급을
4K로 표기합니다.
값이 잘못된 경우
- 목록에 없는 값(예:
1080P):"resolution" must be one of: [720p 1080p 4k 4K]
워터마크 텍스트(선택 사항)로, 그대로 모델에 전달됩니다. 생략하면 모델 기본값을 사용합니다.
- 스위치가 아니라 문자열입니다.
true나false는 거부됩니다.
값이 잘못된 경우
- 문자열이 아닌 경우:
"watermark" must be a string
응답
작업 객체입니다. 작업이 성공할 때까지 output는 null입니다. ‘실행 중’으로 표시된 필드는 작업이 끝나면 사라집니다.

