Wan 3.0 API 오류: 거부마다의 실제 응답
duration out of range [2, 30], aspect_ratio 21:9 not supported, model_not_found. Wan 3.0 영상 엔드포인트의 실제 오류 본문과 각각의 의미.
아래의 모든 오류는 2026년 9월 4일에 Wan 3.0 영상 엔드포인트에서 받은 실제 응답 본문입니다. 바꿔 쓴 것도, 지어낸 오류 문구도 없습니다. 요청이 실패하고 있다면 code 필드를 이 목록과 대조하세요.
model_not_found → 모델 문자열이 존재하지 않음
unsupported_parameter → 값이 범위 밖이거나 허용되지 않음
invalid_request → 필수 필드가 빠짐
invalid_api_key → 키가 틀렸거나 없거나 폐기됨
오류와 실제 본문
duration이 범위를 벗어남
{"error":{"code":"unsupported_parameter","message":"duration 45 out of range [2, 30]"}}
Wan 3.0은 2에서 30초 사이의 정수를 받습니다. 그 밖은 양쪽 방향 모두 실패합니다. 1초를 요청해도 같은 형태가 돌아옵니다.
{"error":{"code":"unsupported_parameter","message":"duration 1 out of range [2, 30]"}}
업그레이드 후 가장 마주치기 쉬운 오류이고, 이유가 둘인데 방향이 반대입니다.
- Wan 2.7이나 2.6에서 왔다면 코드가 15초로 자르고 있을 겁니다. 그게 그쪽 상한이었으니까요. 이건 오류가 나지 않고, 그냥 Wan 3.0이 주는 범위의 절반에서 조용히 막힙니다. 그 밖에 무엇이 움직였는지는 Wan 3.0 대 Wan 2.7 비교에 있습니다.
- Seedance 2.5에서 왔다면 코드가 하한 4초를 강제하고 있을 겁니다. 그게 Seedance의 바닥이니까요. Wan 3.0에서는 그 때문에 2초와 3초 클립이 아무 이유 없이 닿지 않게 됩니다.
놓치기 쉬운 규칙이 하나 있습니다. 이어붙이기용 입력 영상을 넘길 때 Alibaba의 API 레퍼런스는 입력 길이와 출력 길이를 합쳐 30초를 넘을 수 없다고 명시합니다. 이 30은 총예산이지, 입력 위에 얹어주는 출력 할당량이 아닙니다.
aspect_ratio 미지원
{"error":{"code":"unsupported_parameter","message":"aspect_ratio \"21:9\" not supported; allowed: [16:9 4:3 1:1 3:4 9:16 adaptive]"}}
Wan 3.0에 21:9는 없습니다. 오류가 친절하게 허용 집합 전체를 찍어주는데, 이웃 모델들과 양방향으로 다르기 때문에 꼼꼼히 읽을 만합니다.
| 화면비 | Wan 3.0 | Wan 2.7 | Seedance 2.5 |
|---|---|---|---|
| 21:9 | ✗ | ✗ | ✓ |
| 16:9 | ✓ | ✓ | ✓ |
| 4:3 | ✓ | ✗ | ✓ |
| 1:1 | ✓ | ✓ | ✓ |
| 3:4 | ✓ | ✗ | ✓ |
| 9:16 | ✓ | ✓ | ✓ |
| adaptive | ✓ | ✗ | ✓ |
그래서 Wan 3.0과 Seedance 2.5 사이를 라우팅하는 파이프라인은 하드코딩한 21:9를 공유할 수 없습니다. Wan에서 16:9로 렌더링해 자르며 세로 해상도를 잃든가, 시네마틱 작업을 Seedance로 보내든가입니다. 반대로 보면 4:3과 3:4는 Wan 3.0에서는 되지만 Wan 2.7에서는 안 되므로, 업그레이드 경로가 멀쩡한 곳에서 다운그레이드 경로가 깨집니다.
resolution 미지원
{"error":{"code":"unsupported_parameter","message":"resolution \"4k\" not supported; allowed: [480p 720p 1080p]"}}
480p, 720p, 1080p뿐입니다. 이 세대에 4K는 없고 Seedance 2.5도 1080p에서 멈춥니다. 4K 요구가 진짜라면 두 모델 어느 쪽에서도 파라미터를 만져서 충족할 수 없습니다. 카탈로그에서 4K를 열거하는 유일한 모델은 더 오래된 bytedance/seedance-2.0 플래그십으로 초당 $0.07이며, Seedance 2.0과 Wan 비교에서 다룹니다.
resolution을 생략하면 Wan 3.0은 1080p를, Seedance 2.5는 720p를 기본으로 쓴다는 점도 유념하세요. 이 차이는 오류를 내지 않고, 그래서 나란히 놓고 테스트할 때 위험합니다. 비교할 때는 양쪽 모두 해상도를 고정하세요.
model_not_found
{"error":{"code":"model_not_found","message":"model not found"}}
그 문자열은 카탈로그에 없습니다. Ofox에서 유효한 Wan 3.0 문자열은 다음과 같습니다.
alibaba/wan-3.0alibaba/wan-3.0-prime- 날짜 별칭
wan-3.0-20260824와wan-3.0-prime-20260824
함정은 Alibaba 자체 모델 문자열이 다르다는 점입니다. Alibaba Cloud Model Studio에서는 wan3.0-video와 wan3.0-video-prime으로, wan 뒤에 하이픈이 없고 -video 접미사가 붙습니다. Alibaba 문서에서 모델 이름을 그대로 복사해 게이트웨이 호출에 넣으면 정확히 이 오류가 납니다. 헷갈리면 GET /v1/models를 확인하세요. 무엇을 호출할 수 있는지에 대한 기준입니다.
invalid_request
{"error":{"code":"invalid_request","message":"prompt is required"}}
필수 필드가 빠졌습니다. 존재하지만 허용되지 않는 값을 보냈다는 뜻인 unsupported_parameter와는 다릅니다. 재시도 로직을 쓸 때 이 구분이 중요합니다. 둘 다 그대로 재시도할 가치는 없지만 고치는 방법이 다릅니다. 필드 누락은 요청 조립 코드의 버그이고, 범위를 벗어난 값은 대개 설정이나 사용자 입력 검증의 빈틈입니다.
invalid_api_key
{"error":{"code":"invalid_api_key","message":"invalid API key"}}
키가 틀렸거나, 없거나, 폐기됐거나, 다른 계정 것입니다. Authorization 헤더가 Bearer <key>로 되어 있는지, 그리고 키가 환경 변수에서 제대로 읽혔고 조용히 비어 있지 않은지 확인하세요. 변수가 비어 있으면 헤더 누락 오류가 아니라 이 오류가 나는데, 그래서 사람들이 엉뚱한 데를 뒤지게 됩니다.
오류가 아닌 것
영상 생성은 비동기입니다. 생성에 성공하면 작업이 반환되고, 그것을 폴링하거나 callback_url을 주고 끝났을 때 통보받습니다. pending이나 in-progress 상태는 실패가 아니며, 거기에 알림을 걸면 진짜 실패를 묻어버리는 잡음이 생깁니다. 호출할 가치가 있는 것은 최종 실패 상태와 위의 코드들뿐입니다. 대기 동작과 적절한 폴링 간격은 영상 API 폴링 가이드에서 다룹니다.
통과하는 요청
위에서 자신의 오류를 찾았다면, 이 모델의 모든 검사를 통과하는 형태는 이렇습니다.
curl -X POST https://api.ofox.ai/v1/videos \
-H "Authorization: Bearer $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "alibaba/wan-3.0",
"prompt": "A paper boat drifting down a rain gutter, close on the water line",
"duration": 5,
"resolution": "1080p",
"aspect_ratio": "16:9"
}'
여기의 모든 필드가 허용 범위 안에 있습니다. 모델 문자열이 존재하고, 5는 [2, 30] 안이며, 1080p는 허용 해상도 집합에, 16:9는 허용 화면비 집합에 들어 있습니다. 그중 하나를 범위 밖 값으로 바꾸면 위의 해당 오류가 나오니, 정말 필요해지기 전에 오류 처리가 동작하는지 확인하는 빠른 방법이 됩니다.
요청이 성공한 뒤 이 모델이 얼마인지, 단일 초당 요금이 Alibaba의 해상도별 가격과 어떻게 비교되는지는 Wan 3.0 요금 및 접근 가이드를 보세요.
출처
- https://help.aliyun.com/zh/model-studio/wan3-video-generation-api-reference
- https://ofox.ai/models/alibaba/wan-3.0
이 글의 모든 오류 본문은 2026년 9월 4일 Ofox /v1/videos 엔드포인트로 보낸 실제 요청에서 받았습니다. Alibaba Cloud 직접 호출을 포함해 다른 경로의 오류 문구는 다른 봉투와 다른 코드를 씁니다.
자주 묻는 질문
- Wan 3.0이 duration out of range를 반환하는 이유는?
- 요청한 클립 길이가 2~30초 밖이기 때문입니다. 실제 응답은 {"error":{"code":"unsupported_parameter","message":"duration 45 out of range [2, 30]"}}입니다. 업그레이드 시 가장 흔한 파손인데, Wan 2.7에 맞춰 쓴 코드는 15초로 자르고 Seedance에 맞춰 쓴 코드는 하한 4초를 강제해서, 둘 다 Wan 3.0의 2~30초 범위와 맞지 않습니다.
- 왜 aspect_ratio 21:9가 Wan 3.0에서 실패하나요?
- Wan 3.0이 지원하지 않기 때문입니다. API는 aspect_ratio "21:9" not supported; allowed: [16:9 4:3 1:1 3:4 9:16 adaptive]를 반환합니다. Seedance 2.5는 21:9를 열거하므로, 두 모델을 오가는 파이프라인은 하드코딩한 21:9를 공유할 수 없습니다. Wan에서는 16:9로 뽑아 자르거나, 시네마틱 출력은 Seedance로 보내세요.
- Wan 3.0 엔드포인트의 model_not_found는 무슨 뜻인가요?
- 모델 문자열이 카탈로그에 없다는 뜻입니다. 응답은 {"error":{"code":"model_not_found","message":"model not found"}}입니다. Ofox에서 유효한 문자열은 alibaba/wan-3.0과 alibaba/wan-3.0-prime, 그리고 날짜 별칭 wan-3.0-20260824와 wan-3.0-prime-20260824입니다. 하이픈에 주의하세요. Alibaba 자체 문자열은 wan3.0-video이고, 이 게이트웨이가 기대하는 형태가 아닙니다.
- Wan 3.0이 제 해상도를 거부하는 이유는?
- 480p, 720p, 1080p만 받기 때문입니다. 4k를 요청하면 resolution "4k" not supported; allowed: [480p 720p 1080p]가 돌아옵니다. Wan 3.0도 Seedance 2.5도 4K를 열거하지 않으므로 이 세대에는 대체할 만한 선택지가 없습니다.
- invalid_request와 unsupported_parameter의 차이는?
- invalid_request는 필수 항목이 빠졌다는 뜻으로, 예를 들어 {"error":{"code":"invalid_request","message":"prompt is required"}}입니다. unsupported_parameter는 모델이 받지 않는 값을 보냈다는 뜻으로, 45초 길이나 21:9 화면비 같은 경우입니다. 앞은 필드 누락, 뒤는 범위를 벗어난 값이며 고치는 방법이 다릅니다.
- 202나 pending 상태는 뭔가 실패했다는 뜻인가요?
- 아닙니다. 영상 생성은 비동기라서 생성에 성공하면 폴링할 작업이 반환되고, pending은 렌더링이 아직 끝나지 않았다는 뜻일 뿐입니다. 최종 상태가 아닌 것은 오류가 아니라 정상으로 다루고, 최종 실패 상태나 여기 적힌 오류 코드에만 알림을 거세요.


