소개
Wan 3.0 Prime 이미지→영상는 Prime 렌더로 첫 프레임을 2~30초 동안 움직이며, 필드는 Wan 3.0 이미지→영상와 같습니다. image_url은 필수이며 그대로 첫 프레임이 됩니다. 프롬프트는 생략할 수 있고, 쓴다면 움직임만 적으면 됩니다. 선택 항목인 last_image_url로 마지막 프레임을 고정할 수 있습니다. 해상도는 480p, 720p, 1080p(기본값 720p)이며, generate_audio를 false로 두지 않는 한 오디오가 화면과 함께 생성됩니다.
시작 자료에 따라 모드 선택하기
| 시작 자료 | 모드 |
|---|---|
| 작성한 브리프가 장면, 행동, 카메라, 필요한 경우 사운드를 정합니다. | Wan 3.0 Prime 텍스트→영상 |
| 승인된 시작 이미지가 피사체와 구성을 정하고, 지시문이 이후의 움직임을 이끕니다. | Wan 3.0 Prime 이미지→영상 |
| 분리된 참조 자료에 정체성, 장소, 움직임 또는 사운드의 역할을 명확히 배정할 수 있습니다. | Wan 3.0 Prime 레퍼런스→영상 |
핵심 기능 및 하이라이트
세트와 의상은 정지 이미지에서, 동작은 프롬프트에서
프레임이 룩을 이미 담고 있으므로 요청 전체를 동작과 소리에 둘 수 있습니다. 사우나 예시는 세트와 의상이 이미 담긴 정지 이미지에서 시작하며, 그 프롬프트는 국자의 물이 뜨거운 돌에 닿는 장면, 솟아오르는 증기, 손목 안쪽이 쇄골을 따라 움직이는 장면, 그리고 쉬익 하는 증기 소리, 삐걱이는 삼나무, 느린 숨소리를 명시하는 오디오 한 줄을 포함합니다.
끝이 정해져 있으면 긴 변화도 안전합니다
last_image_url을 쓰면 클립이 넣어 둔 이미지에서 정확히 끝납니다. 댄스 플로어 예시는 텅 빈 플로어에서 시작해 넣어 둔 꽉 찬 방의 프레임에서 끝나며, 1080p, 3:4, 10초, 오디오는 꺼져 있습니다. 모델은 방이 무엇으로 채워지는지가 아니라 어떻게 채워지는지를 만들어 냅니다.
기본적으로 프레임 본래의 비율
aspect_ratio를 빼면 클립은 첫 프레임의 비율을 유지하고, 맞지 않는 값을 넣으면 잘립니다. 이미지는 JPEG, 투명도 없는 PNG, BMP, WEBP로 한 변 240~8000픽셀, 최대 20MB, 비율 8:1 이내여야 합니다. 마지막 프레임에도 같은 조건이 적용됩니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 아니요 | 선택 사항입니다. 생략하면 모델이 첫 프레임만 보고 움직임을 만듭니다. 1자 이상 |
image_url | 예 | 첫 프레임으로 그대로 쓰이며, 컷의 실제 품질 상한이기도 합니다. 의상과 몸, 세트, 빛의 방향이 여기서 넘어오므로 프롬프트는 움직임만 실어 나르면 됩니다. |
last_image_url | 아니요 | 선택 사항이며 image_url과 함께일 때만 쓸 수 있습니다. 클립은 이 이미지에서 그대로 끝납니다. |
aspect_ratio | 아니요 | 16:9, 9:16, 1:1, 4:3, 3:4, adaptive 중에서 고릅니다. adaptive는 모델이 고르게 두는 값입니다. |
enable_thinking | 아니요 | 생성 전에 모델이 요청과 참고 자료를 충분히 검토하게 합니다. 분량이 많은 문서, 웹 페이지, 복잡한 참고 이미지에 도움이 되지만 처리 시간이 길어집니다. 기본값: |
resolution | 아니요 | 480p, 720p, 1080p 중에서 고릅니다. 기본은 720p입니다. |
duration_seconds | 아니요 | 2에서 30까지 정수 초라면 어떤 값이든 되고, -1이면 스마트 길이입니다. 스마트 길이는 모델이 길이를 정하며, 최대치인 30초를 먼저 잡아 두고 실제로 나온 길이로 정산합니다. |
generate_audio | 아니요 | 기본으로 켜져 있습니다. 소리가 화면과 이미 맞물린 채로 클립이 돌아옵니다. 기본값: |
enable_prompt_expansion | 아니요 | 기본은 꺼짐입니다. 켜면 생성 전에 프롬프트를 다시 쓰는데, 얄팍한 브리프에는 도움이 되고 자세한 브리프와는 다툽니다. 기본값: |
seed | 아니요 | 0에서 2147483647까지입니다. 필드 하나씩 바꿔 비교하려면 고정하고, 다양성을 원하면 빼세요. |
요금
| 사양 | 요금 |
|---|---|
| $0.0612 / 초 |
| $0.126 / 초 |
| $0.252 / 초 |
활용 사례
정지 이미지에서 빠른 액션으로
해변 예시는 말을 탄 여성의 정지 이미지에서 시작해, 캔터가 갤럽으로 바뀌고 발굽 뒤로 모래와 얕은 물이 튀며, 낮은 해 속으로 달려 나가는 그녀 옆을 빠르게 따라가는 트래킹을 요청합니다. 이 정도 속도에서는 첫 프레임이 더는 도움이 되지 않으므로 물리는 프롬프트가 맡습니다. 무엇이 튀는지, 어느 방향인지, 카메라가 어떻게 따라가는지입니다.
끝을 고정한 하나의 동작
가면무도회 예시는 양 끝을 고정합니다. 같은 대리석 계단에 선 같은 여자의 첫 프레임과 마지막 프레임을 넣고, 그 사이의 등장을 묘사합니다. 금빛 가면을 벗고 드레스 자락을 쥔 채, 가면을 쓴 손님들이 잔을 드는 가운데 카메라를 향해 몇 계단 내려옵니다. 마지막 스틸을 첫 스틸에서 만들었기 때문에 드레스와 샹들리에, 손님들이 제자리에 남습니다. 720p로 5초이며 소리가 있습니다.
프롬프트 가이드 및 실전 팁
도착 프레임을 먼저 정지 이미지로 승인하기
끝이 중요하다면 렌더링 전에 첫 프레임과 같은 세트, 같은 크롭으로 마지막 프레임을 만드십시오. 정지 이미지로 승인하는 편이 긴 중간 구간을 반복하는 것보다 훨씬 저렴하고, 프롬프트의 일도 목적지를 만드는 것에서 전환을 묘사하는 것으로 바뀝니다.
소리는 출처 목록으로 쓰기
사우나 프롬프트는 각 소리의 출처를 나열한 ‘Audio:’ 줄로 끝납니다. 분위기를 나타내는 단어보다 확실하고, 각 소리를 그것을 일으키는 동작에 묶어 줍니다. 편집에서 음악을 붙일 클립이라면 댄스 플로어 예시처럼 generate_audio를 false로 두십시오.
짧게 확정한 뒤 늘리기
seed를 고정하고 5초에서 움직임을 돌린 뒤 늘리십시오. 클립이 길수록 인물과 형태가 흔들리기 쉽고, 30초에서 팔다리가 빠르게 교차하는 장면이 아티팩트가 가장 먼저 나타나는 곳입니다. 정확한 움직임 지시가 생성 전에 다시 쓰이지 않도록 enable_prompt_expansion은 기본값 false로 두십시오.
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-3.0-prime/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# 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 레퍼런스에서 확인하세요.



























