Wan 3.0
텍스트, 이미지 한 장 이상, 또는 참조 영상과 오디오로 480p, 720p 또는 1080p의 2–30초 영상을 생성합니다.
- 비동기: 생성 호출은 작업 ID를 반환하며, 작업이 성공하면 영상이 준비됩니다.
- 요청 하나로 2~30초 클립을 만들며,
duration은 정수 초입니다. - 네 가지 입력 방식: 텍스트만, 이미지 한 장, 여러 이미지(최대 10장), 또는 참조 영상과 오디오(각각 최대 5개). 이미지와 참조는 섞어 쓸 수 없습니다.
- 요청한 해상도와 초 수로 과금됩니다. 실패한 작업은 비용이 들지 않습니다.
API Explorer에서 이 모델을 엽니다. BeatAPI API 키를 입력해 작업을 만드세요. 실제 호출이며 본인 잔액에서 과금됩니다.
모델 ID
Wan 3.0 모델 두 개가 이 엔드포인트와 요청 필드를 함께 쓰지만 길이 제한이 다릅니다. 아래 값은 게이트웨이 계약에서 그대로 가져왔습니다.
엔드포인트와 인증
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
필수
실행할 모델입니다.
값: wan-3.0
값이 잘못된 경우
- 누락:
"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 - 문자열이 아닌 경우:
"prompt" must be a string
images
string[]
선택
영상을 만들 사진입니다. 한 장 또는 사용할 순서대로 여러 장을 보내세요.
항목 수: 1–10
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
- 각 링크는 공개
https://URL이어야 합니다. 게이트웨이는 작업 생성 시 파일을 내려받거나 측정하지 않습니다. reference_videos또는reference_audios와 함께 보낼 수 없습니다.aspect_ratio와resolution은 생략하면 이미지를 보내더라도 기본값(16:9,720p)을 유지합니다. 게이트웨이는 이미지에서 이를 읽지 않으므로 원하는 모양을 보내세요.
값이 잘못된 경우
- 링크가 10개 초과:
"images" accepts at most 10 items - 빈 배열:
"images" requires at least 1 item - 배열이 아닌 경우:
"images" must be an array - https:// 링크가 아닌 경우:
"images[0]" must be a public HTTPS URL - 참조 필드와 함께 보낸 경우:
Cannot combine "images" with reference inputs in one task
reference_videos
string[]
선택
모델이 새 영상의 참조로 사용하는 영상입니다.
항목 수: 1–5
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
- 공개
https://링크, 최대 5개. 게이트웨이는 작업 생성 시 이를 다운로드·측정·제한하지 않으므로, 모델이 쓸 수 없는 클립은 이후 작업을 실패시킵니다(환불). images와 함께 보낼 수 없습니다.
값이 잘못된 경우
- 링크가 5개 초과:
"reference_videos" accepts at most 5 items images와 함께 보낸 경우:Cannot combine "images" with reference inputs in one task
reference_audios
string[]
선택
모델이 참조로 사용하는 음악, 음성 또는 소리 클립입니다.
항목 수: 1–5
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
- 공개
https://링크, 최대 5개. 작업 생성 시 다운로드하거나 측정하지 않습니다. images와 함께 보낼 수 없습니다.
값이 잘못된 경우
- 링크가 5개 초과:
"reference_audios" accepts at most 5 items
duration
integer
선택기본값: 5
영상 길이(초)이며 정수입니다.
기본값: 5
범위: 2–30
- 생략하면
5가 사용되어 과금됩니다. - 초 단위로 과금되므로(과금 참고) 가격을 좌우하는 주요 요소입니다.
-1(모델이 길이 선택)은 허용되지 않습니다. 범위 안의 정수를 보내세요.
값이 잘못된 경우
- 2~30 범위 밖, 정수가 아님, 또는 문자열로 보낸 경우:
"duration" is outside its supported range
aspect_ratio
string
선택기본값: 16:9
가로:세로로 나타낸 영상 모양입니다.
허용 값: 16:9, 9:16, 1:1, 4:3, 3:4
기본값: 16:9
- 생략하면 이미지나 참조를 보낼 때도
16:9를 사용합니다. - 이 모델은
adaptive를 제공하지 않습니다.
값이 잘못된 경우
- 목록에 없는 값:
"aspect_ratio" must be one of: [16:9 9:16 1:1 4:3 3:4]
resolution
string
선택기본값: 720p
출력 해상도입니다. 1080p는 720p보다 초당 가격이 높습니다.
허용 값: 480p, 720p, 1080p
기본값: 720p
- 소문자만 가능합니다.
값이 잘못된 경우
- 목록에 없는 값(예:
4k또는720P):"resolution" must be one of: [480p 720p 1080p]
게이트웨이는 작업을 만들기 전에 다음 조합도 검사합니다.
- images는 참조 입력과 함께 쓸 수 없습니다
입력 미디어 제한
게이트웨이는 작업을 만들기 전에 모든 입력을 읽고, 아래 제한을 벗어난 입력은 해당 입력을 명시한 400 bad_request로 거부합니다. 과금되지 않습니다.
- 게이트웨이는 작업 생성 시 이미지·영상·오디오 파일을 읽지 않으므로, 이 모델은 크기, 해상도, 길이, 형식 제한을 검사하지 않습니다. 위의 필드 규칙만 적용됩니다.
- 모델이 가져오거나 사용할 수 없는 링크는 작업 생성 후 작업을 실패시키며(보통
bad_request, 콘텐츠 검수가 입력을 거부하면content_policy_violation), 해당 작업은 전액 환불됩니다. - 로컬 파일이 있나요?
POST /v1/files로 업로드하고(png, jpg, jpeg, webp, mp3, wav, aac, m4a, mp4 또는 mov, 최대 50 MB, 영상은 100 MB) 반환된data.url을 전달하세요.
함께 쓸 수 있는 입력
이 모델이 받지 않는 필드
다음 필드를 보내면 무시되지 않고 과금 전에 거부됩니다.
reference_images,generate_audio,seed,quality,sound,task_type,output_format,watermark및 다른 영상 모델의 기타 필드 →field "seed" is not supported by model wan-3.0(보낸 필드 명시). 사진은images에 넣으세요.- 영상 엔드포인트가 전혀 모르는 필드 →
unknown field: <name>.
요청 예시
텍스트로 영상 생성
720p 가로 5초 클립입니다.
이미지로 영상 생성
이미지 한 장으로 만든 1080p 정사각형 10초 클립입니다.
여러 이미지
이미지 두 장을 목록 순서대로 모델에 전달합니다.
참조 영상과 오디오
영상 링크를 직접 준비한 공개 MP4로 바꾸세요. 참조의 스타일을 따른 30초 세로 클립입니다.
응답
작업 생성(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를 설치하세요.
과금
- 가격은 해상도와 요청한 초 수(
duration, 생략하면 5)에 따라 정해집니다. 1080p는 720p보다 초당 가격이 높습니다.aspect_ratio, 이미지, 참조 오디오는 가격에 영향을 주지 않습니다. - 참조 영상이 있으면 과금 초 수는 참조 영상 초 수와 출력 초 수를 각각 올림해 더한 값이며 같은 요금이 적용됩니다. 3.2초 참조와 5초 출력은 4 + 5 = 9초로 과금됩니다.
- 아래 표는 8초 클립 기준이며, 다른 길이는 해상도별 같은 초당 요금으로 계산됩니다.
- 가격은 작업 생성 시 보류되며,
data.usage.billable_duration_seconds에 기준이 된 초 수가 표시됩니다. - 실패한 작업은 제출 후 콘텐츠 검수에서 거부된 경우를 포함해 전액 환불됩니다.
현재 정가이며 가격 페이지와 같습니다. 별도 할인 계약이 있는 계정은 더 적게 지불하며, 실제 청구 금액은 항상 작업의 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 이후의 재시도는 다시 실행됩니다.
요청
실행할 모델입니다.
값: wan-3.0
값이 잘못된 경우
- 누락:
"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 - 문자열이 아닌 경우:
"prompt" must be a string
가로:세로로 나타낸 영상 모양입니다.
허용 값: 16:9, 9:16, 1:1, 4:3, 3:4
기본값: 16:9
- 생략하면 이미지나 참조를 보낼 때도
16:9를 사용합니다. - 이 모델은
adaptive를 제공하지 않습니다.
값이 잘못된 경우
- 목록에 없는 값:
"aspect_ratio" must be one of: [16:9 9:16 1:1 4:3 3:4]
영상 길이(초)이며 정수입니다.
기본값: 5
범위: 2–30
- 생략하면
5가 사용되어 과금됩니다. - 초 단위로 과금되므로(과금 참고) 가격을 좌우하는 주요 요소입니다.
-1(모델이 길이 선택)은 허용되지 않습니다. 범위 안의 정수를 보내세요.
값이 잘못된 경우
- 2~30 범위 밖, 정수가 아님, 또는 문자열로 보낸 경우:
"duration" is outside its supported range
영상을 만들 사진입니다. 한 장 또는 사용할 순서대로 여러 장을 보내세요.
항목 수: 1–10
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
- 각 링크는 공개
https://URL이어야 합니다. 게이트웨이는 작업 생성 시 파일을 내려받거나 측정하지 않습니다. reference_videos또는reference_audios와 함께 보낼 수 없습니다.aspect_ratio와resolution은 생략하면 이미지를 보내더라도 기본값(16:9,720p)을 유지합니다. 게이트웨이는 이미지에서 이를 읽지 않으므로 원하는 모양을 보내세요.
값이 잘못된 경우
- 링크가 10개 초과:
"images" accepts at most 10 items - 빈 배열:
"images" requires at least 1 item - 배열이 아닌 경우:
"images" must be an array - https:// 링크가 아닌 경우:
"images[0]" must be a public HTTPS URL - 참조 필드와 함께 보낸 경우:
Cannot combine "images" with reference inputs in one task
모델이 참조로 사용하는 음악, 음성 또는 소리 클립입니다.
항목 수: 1–5
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
- 공개
https://링크, 최대 5개. 작업 생성 시 다운로드하거나 측정하지 않습니다. images와 함께 보낼 수 없습니다.
값이 잘못된 경우
- 링크가 5개 초과:
"reference_audios" accepts at most 5 items
모델이 새 영상의 참조로 사용하는 영상입니다.
항목 수: 1–5
각 항목은 공개 https:// URL입니다. 로컬 파일은 POST /v1/files로 먼저 업로드한 뒤 반환된 data.url을 전달하세요.
- 공개
https://링크, 최대 5개. 게이트웨이는 작업 생성 시 이를 다운로드·측정·제한하지 않으므로, 모델이 쓸 수 없는 클립은 이후 작업을 실패시킵니다(환불). images와 함께 보낼 수 없습니다.
값이 잘못된 경우
- 링크가 5개 초과:
"reference_videos" accepts at most 5 items images와 함께 보낸 경우:Cannot combine "images" with reference inputs in one task
출력 해상도입니다. 1080p는 720p보다 초당 가격이 높습니다.
허용 값: 480p, 720p, 1080p
기본값: 720p
- 소문자만 가능합니다.
값이 잘못된 경우
- 목록에 없는 값(예:
4k또는720P):"resolution" must be one of: [480p 720p 1080p]
응답
작업 객체입니다. 작업이 성공할 때까지 output는 null입니다. ‘실행 중’으로 표시된 필드는 작업이 끝나면 사라집니다.

