/image/generate로 만든 이미지 두 장과, 이를 바탕으로 reference-to-video가 만든 클립입니다. 도예가는 머리카락, 주근깨, 앞치마를 그대로 유지하고, 찻주전자는 유약과 금색 손잡이를 그대로 유지하며, 마지막 대사는 카메라 앞에서 말합니다.

VENICE_API_KEY가 설정되어 있다고 가정합니다.
모델 선택
모든 티어에는 동일한 세 가지 변형이 있습니다.
Prime은 가격이 더 높은 대신 더 빠른 옵션입니다. 도자기 클립은 standard에서 205초, Prime에서 131초가 걸렸습니다. 각 ID에는
wan-3.0-reference-to-video와 같이 점으로 구분된 형태도 있습니다.
Image-to-video와 reference-to-video는 둘 다 이미지를 받지만 용도가 다릅니다. Image-to-video는 image_url로 정확히 시작하며, end_image_url을 보내면 그 이미지로 끝납니다. Reference-to-video는 이미지를 레퍼런스로 취급합니다. 이미지 속 내용이 클립에 등장하되, 구도는 프롬프트에 따라 정해집니다. 첫 장면이 고정되어 있다면 image-to-video를, 여러 장면에 걸쳐 같은 인물이나 제품이 필요하다면 reference-to-video를 사용하세요.
길이, 종횡비, 해상도는 /models에서 가져옵니다. 다음 쿼리로 확인할 수 있습니다.
2s, 5s, 10s, 15s, 20s, 25s, 30s 길이와 16:9, 9:16, 1:1, 4:3, 3:4 종횡비, 최대 20,000자의 프롬프트를 지원합니다. Image-to-video와 reference-to-video는 입력의 형태를 따르는 adaptive를 추가로 지원합니다. 이러한 세부 사항은 바뀔 수 있으므로 API에서 읽어 오세요. 레퍼런스 제한은 /models에 없으며, 2단계에서 확인할 수 있습니다.
1. 견적 받기
요금은 출력 1초당 청구되며, 요율은 티어와 해상도에 따라 정해집니다. 2026년 10월 23일 기준 standard는 480p에서 초당 $0.065, 720p에서 $0.13, 1080p에서 $0.26이었고, Prime은 $0.088, $0.182, $0.364였습니다. Pro는 1080p에서 $0.237, 2K에서 $0.272, 4K에서 $0.296이었고, Prime Pro는 $0.331, $0.355, $0.379였습니다. 한 티어 안의 세 가지 변형은 가격이 같으며,audio를 꺼도 가격은 달라지지 않습니다.
레퍼런스 비디오는 작업의 요율로 초 단위 소수점까지 추가 청구되므로, 4.2초 클립은 4.2초를 추가합니다. 레퍼런스 이미지와 오디오는 무료입니다. Quote에는 API 키가 필요 없습니다. 작업에 레퍼런스 비디오가 있다면 reference_video_total_duration을 초 단위로 추가하세요.
2. 작업을 큐에 추가
다음은 도자기 클립을 만든 요청입니다. 두 이미지는 이 문서에 있는 사본을 가리키므로 그대로 실행할 수 있습니다.
레퍼런스 비디오와
duration의 합도 30초 이내여야 합니다. 비디오는 MP4 또는 MOV, 오디오는 MP3 또는 WAV를 사용할 수 있습니다. 짧은 변이 최소 240픽셀보다 작은 이미지는 거부되지 않고 확대됩니다.
프롬프트에서 @Image1은 reference_image_urls의 첫 번째 항목, @Image2는 두 번째 항목을 가리키며, @Video1과 @Audio1도 각자의 배열에서 같은 방식으로 번호가 매겨집니다. 오디오를 포함해 보내는 모든 레퍼런스를 프롬프트에서 언급하세요. 음성이나 사운드가 들어갈 위치에 @Audio1을 적으면 됩니다.
API 레퍼런스에 reference_document_urls가 나열되어 있지만 Wan 3.0은 이를 사용하지 않습니다. Prime, Pro, Prime Pro는 이를 거부하며, standard 티어는 문서를 받아들이지만 무시하고 평소처럼 작업 요금을 청구합니다.
응답에는 이후 모든 과정에 필요한 핸들이 담겨 있습니다.
queue_id가 있다면 그것으로 폴링하세요. 응답을 받지 못한 상태에서 작업을 다시 보내면 요금이 두 번 청구될 수 있습니다. Queue는 분당 40회, retrieve는 분당 120회로 제한되며, 둘 다 x-ratelimit-remaining-requests를 반환합니다.
대부분의 실수는 이 단계에서 400으로 거부되며 요금이 청구되지 않습니다. /models에 없는 값, 해당 변형이 받지 않는 필드, 너무 많은 레퍼런스, 이미지나 비디오 없이 보낸 오디오, 누락된 aspect_ratio 등이 해당됩니다. 본문의 issues[].message에 무엇이 잘못되었는지 나와 있습니다. 클립 길이는 요금 청구 후에 확인되므로, 너무 길거나 짧은 레퍼런스 클립은 여기서 queue_id를 받은 뒤 첫 retrieve에서 실패하며, 청구된 요금은 환불됩니다.
3. 폴링 및 다운로드
queue 응답의 값으로 retrieve를 호출하세요.video/mp4를 받으며 본문이 곧 비디오입니다. Content-Type에 따라 분기하세요.
두 숫자는 밀리초 단위로, 이 모델의 작업이 보통 걸리는 시간과 사용자의 작업이 실행된 시간을 나타냅니다. 테스트한 모든 모델에서 평균은 약 7.5분이었지만, 모든 작업이 그보다 빨리 끝났습니다. 작업에는 1audio: false를 보낸 경우 오디오 트랙이 없습니다. 720p는 1280×720, standard 1080p는 1920×1080으로 반환되지만, Pro와 Prime Pro는 1080p에서 1936×1088을 반환했습니다.
실패한 경우
실패한 작업은 실패 상태로 유지됩니다. 다시 폴링해도 같은 상태와 본문이 반환됩니다. 길이 제한을 벗어난 레퍼런스 클립이나 Venice가 디코딩할 수 없는 이미지처럼 생성 시작 전에 실패한 작업은 큐에 추가된 후 몇 초 안에 환불됩니다. 이러한 작업의 본문에는error만 담기며, 오류 표에 정리되어 있습니다.
정리
retrieve에delete_media_on_completion: true를 전달하면 저장된 비디오를 반환하는 같은 호출에서 비디오가 삭제됩니다. 이후 해당 ID로 retrieve를 호출하면 404가 반환됩니다. 비디오를 여러 번 다운로드하려면 이 옵션을 생략하세요.
워크플로우
도자기 클립은 subject 워크플로우입니다. 이미지를 입력하면 같은 인물과 사물이 클립에 등장합니다. 아래 요청은 다른 워크플로우를 실제로 실행한 것이며, 입력은 플레이스홀더 URL로 표시했습니다. 마지막을 제외한 모든 요청은 reference-to-video를 사용하며, 이때 모델이 클립으로 무엇을 할지는 프롬프트가 결정합니다.클립에서 움직임 가져오기
레퍼런스 비디오는 내용 없이 카메라 무빙이나 모션만 제공할 수 있습니다. 여기서는wan-3-0-text-to-video로 만든, 조각상 주위를 도는 5초짜리 궤도 촬영 클립이 도예가 주위의 카메라 움직임을 정했습니다.
대사에 사용할 음성
프롬프트에 대사를@Audio1의 음성으로 말한다고 적으세요. 여기서는 /audio/speech로 만든 6초짜리 대사가 음성을 제공했습니다.
클립 편집
변경할 내용을 설명하고, 그대로 유지해야 할 것을 명시하고,duration을 클립 길이로 설정하세요.
adaptive를 사용하자 854×480 소스가 1280×718로 반환되었습니다.
클립 확장
결과물은 다시 생성된 사용자의 클립으로 시작해 그 뒤로 이어지므로,duration은 결과물 전체의 길이, 즉 클립과 새 영상을 합친 길이입니다.
"duration": "5s"로 보내면 궤도 촬영만 반환되고 그 이상은 없었습니다. 시작 부분은 복사되지 않고 다시 생성되므로, 원본 프레임이 필요하다면 끝부분의 새 영상을 잘라 원래 클립에 이어 붙이세요. 클립의 초는 레퍼런스 비디오로 한 번, 결과물의 일부로 한 번, 총 두 번 청구됩니다. 클립과 duration이 30초 제한을 공유하므로, 10초 클립은 최대 10초까지 늘릴 수 있습니다.
첫 프레임과 마지막 프레임
이 예제는 image-to-video를 사용합니다. 시작 프레임을image_url로, 마지막 프레임을 end_image_url로 보내고, 그 사이에 일어나는 일을 설명하세요. 두 프레임 모두 /image/generate로 만들었으며, 방이 일치하도록 두 번째 프레임은 첫 번째 프레임을 바탕으로 /image/edit으로 만들었습니다.
프롬프트 작성
Wan 3.0은 구조화된 프롬프트를 충실히 따르며, 테스트에서는 다음 습관이 도움이 되었습니다.0-4s:와4-10s:처럼 클립의 각 구간에 타임스탬프를 지정하세요. 도자기 클립에서는 들어 올리는 동작과 푸시인이 프롬프트에서 지정한 위치에 정확히 나타났습니다.- 대사는 큰따옴표로 감싸고, 캐릭터가 조용히 있어야 할 때를 명시하세요. 따로 지시하지 않으면 모델은 조용한 순간을 짧은 말로 채웠습니다. 도자기 클립의 첫 테이크에서는 대사 앞에 “Okay.”가 추가되었습니다. 첫 장면에
She is silent.를, 대사 앞에says only:를 넣은 두 번째 테이크에서는 조용한 “Mm.” 소리만 있었습니다. - 카메라 무빙은
slow push-in,static camera,one slow orbit처럼 명확하게 지정하세요. - 룸톤과 앰비언스를 포함해 원하는 사운드를 설명하세요. Wan 3.0에는 네거티브 프롬프트가 없으므로
no music과 같은 제외 사항은 프롬프트 자체에 작성하세요.
전체 예제
이 스크립트로 도자기 클립을 만들었습니다. 작업 견적을 받고, 두 이미지를 데이터 URL로 담아 큐에 추가하고, MP4가 도착할 때까지 폴링한 뒤 저장합니다. 도예가와 찻주전자 이미지를 스크립트와 같은 위치에woman.webp와 teapot.webp로 저장하세요. 20분 제한 시간은 테스트에서 가장 오래 걸린 작업의 몇 배에 해당합니다.
delete_media_on_completion을 제거하세요.