API

Wan 3.0 Prime API

비디오

Wan 3.0 Prime API는 텍스트, 시작·종료 프레임 또는 멀티모달 참조로 2~30초 영상을 480p / 720p / 1080p로 생성합니다. 참조 모드는 이미지 최대 10장, 영상 5개, 오디오 5개를 지원합니다. 이미지 한 장은 30MB 이하여야 합니다.

인증

Bearerstringheader필수

요청 인증용 API 키

본문

application/json
modelstring필수
wan-3-0-prime
input.promptstring필수

피사체, 동작, 장면, 조명, 카메라 움직임과 시간 흐름을 설명하세요. 앞뒤 공백은 제거됩니다.

input.frames_imagesstring[]선택

공개 HTTPS 이미지 URL 1~2개의 목록입니다. 시작 프레임, 선택적 종료 프레임 순서로 입력하세요. 이 모드는 reference_images, reference_videos, reference_audios와 함께 사용할 수 없습니다.

최대 URL 수: 2개.

이미지 한 장당 최대 크기: 30MB.

예시: ["https://example.com/first-frame.png","https://example.com/last-frame.png"]

input.reference_imagesstring[]선택

공개 HTTPS 참조 이미지 URL 목록입니다. reference_videos, reference_audios와 조합할 수 있지만 frames_images와는 함께 사용할 수 없습니다. 파일이나 base64 대신 URL 문자열을 보내세요.

최대 URL 수: 10개.

이미지 한 장당 최대 크기: 30MB.

예시: ["https://example.com/your-image.png"]

input.reference_videosstring[]선택

공개 HTTPS 참조 영상 URL 목록입니다. frames_images와 함께 사용할 수 없습니다. 영상을 입력하면 크레딧 사용량이 달라집니다. 아래의 해당 요율 행과 공식을 확인하세요.

최대 URL 수: 5개.

예시: ["https://example.com/your-video.mp4"]

input.reference_audiosstring[]선택

공개 HTTPS 참조 오디오 URL 목록입니다. 다른 reference_* 목록과 조합할 수 있지만 frames_images와 함께 사용할 수 없습니다.

최대 URL 수: 5개.

예시: ["https://example.com/your-audio.mp3"]

input.reference_video_durationnumber선택

모든 참조 영상의 총 길이(초)입니다. reference_videos를 제공하면 필수입니다. 과금 시 총 길이를 정수 초로 올림하고 추가 과금 길이를 최대 15초로 제한합니다. 참조 영상이 없으면 생략하세요.

input.durationinteger선택

영상 길이를 2~30 사이의 정수 초로 지정하세요. 기본값은 5초이며 크레딧 사용량은 길이에 비례합니다.

기본값: 5

2–30
input.resolutionstring선택

영상 출력 해상도입니다. 아래에 나열된 소문자 값을 사용하세요. 해상도에 따라 크레딧 요율이 달라집니다.

기본값: 720p

480p720p1080p
input.aspect_ratiostring선택

출력의 가로세로 비율입니다. 기본값은 16:9이며 입력 프레임도 최종 구도에 영향을 줍니다.

기본값: 16:9

16:99:161:13:44:3
input.soundboolean선택

영상과 함께 오디오를 생성할지 지정합니다. 기본값은 false입니다. 문자열이 아닌 JSON 불리언 값을 보내세요.

기본값: false

요청 예제

생성 모드를 하나 선택하세요. 미디어를 생략하면 텍스트로 생성하고, frames_images를 사용하면 시작·종료 프레임으로 생성합니다. 참조 모드에서는 reference_images, reference_videos, reference_audios를 조합할 수 있습니다. frames_images는 reference_* 미디어 목록과 함께 사용할 수 없습니다. 모든 리소스는 공개 HTTPS URL 목록이며 파일 객체나 base64는 지원하지 않습니다. example.com 주소를 교체하세요. data.task_id를 저장하고 completed 또는 failed까지 POST /api/v1/check를 호출하세요.

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "wan-3-0-prime",
  "input": {
    "prompt": "해 질 무렵 빨간 클래식 자동차가 해안 도로를 달립니다. 카메라는 자동차 옆면을 부드럽게 따라가고 따뜻한 빛이 바다에 반사됩니다.",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "sound": false
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "wan-3-0-prime",
    "status": "processing",
    "credits": 900
  }
}

반환된 작업 ID를 사용해 작업이 완료되거나 실패할 때까지 이 엔드포인트를 폴링하세요. 최신 작업 상태를 확인하려면 5초마다 폴링하는 것을 권장합니다.

POST /api/v1/check
{
  "task_id": "task_example"
}

응답

POST /api/v1/check가 반환하는 작업 상태입니다. 아래 ID, URL, 타임스탬프는 예시입니다.

idstring필수

data.id는 작업 식별자로, 조회 요청의 task_id와 같습니다.

statusstring필수
completed는 생성 성공을 나타내며 data.data에 결과가 포함됩니다. 다른 상태에서는 data.data가 null입니다.
failed_reasonstring선택

status가 failed일 때만 반환되며 실패 이유를 설명합니다. completed와 processing에는 이 필드가 없습니다.

완료 · completed

다운로드 URL은 data.data.results에 있습니다.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "wan-3-0-prime",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.mp4"
      ],
      "processing_time": 120
    }
  }
}

다른 상태

processing 또는 failed에서는 data.data가 null입니다. 아래는 failed 예시이며, failed일 때만 failed_reason이 포함됩니다. processing이면 조회를 계속하고, failed이면 중단하세요.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "wan-3-0-prime",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

크레딧 사용량

해상도와 참조 영상 모드별 과금 대상 1초당 크레딧입니다.

해상도와 참조 영상 모드별 과금 대상 1초당 크레딧입니다.
생성 방식480P720P1080P
참조 영상 없음90180360
참조 영상 있음90180360

요청 하나로 영상 하나를 생성합니다. 길이나 해상도를 생략하면 위의 기본값을 사용합니다. 참조 영상에 따라 크레딧이 증가할 수 있으므로 해당 행과 공식을 사용하세요.

참조 영상 없음: 생성 길이 × 요율. 참조 영상 있음: (생성 길이 + min(15, ceil(reference_video_duration))) × 요율. 초당 요율은 같고 참조 영상 길이가 과금 초수에 더해집니다.

POST /api/v1/create 응답의 credits 필드는 해당 작업에 실제로 차감된 크레딧을 나타냅니다.