소개
Wan 2.2 이미지→영상은 직접 제공한 이미지에서 출발해 그다음에 일어나는 일을 영상으로 만듭니다. 필수 입력은 두 가지입니다. 시작 프레임이 될 10MB 이하의 JPEG, PNG, WebP 이미지와, 움직임을 설명하는 최대 5,000자의 프롬프트입니다. 요청 한 번마다 기본값인 480p 또는 720p의 무음 5초 클립 한 편이 반환됩니다.
가진 소재에 맞춰 Wan 2.2 모드 고르기
| 처음 가진 것 | 모드 | 요청에 필요한 것 |
|---|---|---|
| 글로 쓴 장면이나 대본 | Wan 2.2 텍스트→영상 | 프롬프트, 16:9 또는 9:16 |
| 그대로 살리고 싶은 스틸 이미지 | Wan 2.2 이미지→영상 | 이미지와 프롬프트, 화면비는 이미지가 결정 |
핵심 기능 및 하이라이트
외형은 이미지가 정합니다
피사체, 의상, 세트, 빛의 방향은 모두 시작 이미지에서 가져오므로 프롬프트에서 다시 설명할 필요가 없습니다. 외형을 그대로 맞춰야 하는 소재에 이 모드가 알맞은 이유입니다. 세럼 병 예시에서는 이미지가 라벨과 실루엣을 고정하고, 프롬프트는 카메라의 호 이동과 움직이는 빛만 요청합니다.
화면비는 이미지에서 결정
이 엔드포인트에는 화면비 설정이 없습니다. 가장 안전한 비율은 16:9와 9:16이며, 다른 비율의 이미지는 크기가 조정되고 가운데를 기준으로 잘려서 돌아올 수 있습니다. 업로드하기 전에 이미지를 납품할 형태로 잘라 두십시오.
고정된 길이, 영상만 출력
모든 테이크는 소리 없는 5초 영상이며 길이와 오디오 모두 바꿀 수 없습니다. 이 둘이 고정되어 있으니 바꿀 수 있는 것은 움직임뿐입니다. 공개된 예시가 모두 움직임 하나, 혹은 원인과 결과 하나만 요청하는 이유가 여기에 있습니다.
프롬프트 확장은 문구만 바꾸지 않습니다
프롬프트 확장의 기본값은 꺼짐입니다. 켜면 지시문의 문구뿐 아니라 렌더링의 외형까지 달라질 수 있으므로, 채택하기 전에 끈 상태로 실행한 결과와 비교하십시오. 윈드차임과 인영 예시는 쓴 문장이 그대로 실행되도록 확장을 꺼 두었습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
image_url | 예 | 첫 프레임입니다. JPEG, PNG, WebP 형식에 최대 10MB입니다. 1자 이상 |
prompt | 예 | 필수이며 최대 5,000자입니다. 프레임 다음에 일어나는 일, 즉 동작 하나와 카메라 움직임 하나를 씁니다. 1자 이상 · 5000자 이하 |
negative_prompt | 아니요 | 나오면 안 되는 것을 적습니다. 두 번째 인물, 자막, 모델이 자꾸 끌어오는 소품 같은 것들입니다. 500자 이하 |
resolution | 아니요 | 480p 또는 720p이며 기본값은 480p입니다. 가격을 바꾸는 설정은 이것 하나뿐입니다. |
enable_prompt_expansion | 아니요 | 기본으로 꺼져 있습니다. 한 줄짜리 아이디어라면 켜고, 이미 구체적인 동작을 적었다면 꺼 두세요. 기본값: |
seed | 아니요 | 0에서 2147483647까지입니다. 같은 프레임으로 480p와 720p를 비교할 때 고정하고, 무작위로 하려면 0을 보내지 말고 필드를 비워 두세요. |
요금
요청 한 번에 5초짜리 클립 하나가 반환됩니다.
| 사양 | 요금 |
|---|---|
| $0.24 / 요청 |
| $0.48 / 요청 |
활용 사례
제품 스틸 이미지에 움직임 더하기
승인된 제품 사진을 보내고, 제품은 제자리에 둔 채 카메라 움직임이나 빛의 변화를 요청합니다. 세럼 병 예시가 그 전형입니다. 카메라가 스포이트 병 주위를 4분의 1 바퀴 천천히 돌고, 창으로 들어온 부드러운 빛의 띠가 유리 위를 미끄러지며, 프롬프트에는 병 자체는 움직이지 않는다고 적혀 있습니다.
인물 사진에서 연기 한 비트
슬립 드레스 예시는 스튜디오 인물 사진에서 출발해 한 덩어리의 동작만 요청합니다. 무게 중심을 옮기고, 어깨를 렌즈 쪽으로 돌리고, 천천히 두 걸음 다가와 시선을 멈춥니다. 카메라는 고정, 회색 스튜디오 배경은 그대로 두었고 720p로 렌더링했습니다.
원인이 보이는 움직임
윈드차임과 인영 예시에서는 윈드차임이 돌면 거즈 커튼 뒤의 형체가 그에 맞춰 움직이고, 커튼의 그림자가 화면을 가로질러 지나갑니다. 짧은 무음 클립에 원인과 결과를 써 넣으면 움직임에 이유가 생기고, 단순한 반복 영상처럼 보이지 않습니다.
프롬프트 가이드 및 실전 팁
프롬프트보다 이미지를 먼저 준비하기
이미지를 16:9 또는 9:16으로 자르고, 원하는 의상, 세트, 빛이 이미 담겨 있는지 확인하십시오. 그것을 바꾸는 것은 프롬프트의 역할이 아닙니다. 움직이지 않았으면 하는 오버레이나 불필요한 피사체는 지우고, 파일은 10MB 이내로 맞춥니다.
시작 프레임 이후에 일어나는 일만 쓰기
무엇이 어느 방향으로 어떤 속도로 움직이는지를 쓰고, 그다음에 카메라의 움직임을 씁니다. 이미 보이는 사물을 다시 설명하면 글자 수만 쓰고 움직임은 늘지 않습니다. 반면 움직이지 않는 병처럼 가만히 있어야 할 것을 밝혀 두는 문장은 넣을 가치가 있습니다.
480p로 초안, 720p로 납품
가격을 바꾸는 설정은 해상도뿐입니다. 같은 이미지로 만든 480p 초안과 720p 재렌더링을 비교할 때는 0부터 2147483647 사이에서 시드를 고정하십시오. 무작위로 생성하고 싶다면 0을 보내지 말고 시드를 생략합니다.
동작을 늘리기 전에 클립 전체 확인하기
시작 부분, 가장 큰 움직임, 마지막 1초를 확인하십시오. 얼굴, 라벨, 윤곽이 흐트러진다면 프롬프트를 다시 쓰기 전에 동시에 일어나는 움직임의 수를 줄입니다. 다음 샷에서 구도를 바꿔야 한다면 움직임으로 억지로 도달하게 하지 말고 새 이미지에서 시작하십시오.
API 빠른 시작
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-2.2/image-to-video",
"input": {
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "480p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.




























