소개
Wan 2.5 텍스트→영상은 작성한 프롬프트만으로 소리가 포함된 5초 또는 10초 클립을 생성합니다. 필수 필드는 최대 1,500자의 prompt 하나뿐이며, 나머지는 모두 기본값이 있습니다. 16:9, 720p, 5초, 프롬프트 확장 꺼짐입니다. 승인된 스틸 이미지가 아직 없고 장소, 동작, 카메라를 모두 텍스트로 정해야 할 때 사용합니다. 시작 프레임이 이미 있다면 이미지 기반 엔드포인트가 그 프레임의 피사체와 비율을 그대로 유지합니다.
시작 자료에 따라 Wan 2.5 모드 선택하기
| 시작할 때 가진 자료 | 모드 |
|---|---|
| 작성한 장면이나 대본 | Wan 2.5 텍스트→영상 |
| 승인된 시작 이미지 | Wan 2.5 이미지→영상 |
핵심 기능 및 하이라이트
영상과 소리를 한 번에
클립은 오디오가 이미 들어간 상태로 반환됩니다. 앰비언스, 효과음, 목소리가 영상과 함께 생성되므로 ‘Audio: gulls, a splash, her breath’ 같은 소리 문장을 써 둘 가치가 있습니다. 이미 가진 녹음에 움직임과 입 모양을 맞추려면 audio_url에 WAV 또는 MP3(3~30초, 최대 15MB)를 전달합니다. 클립보다 긴 오디오는 끝부분이 잘리고, 짧으면 나머지 구간은 무음이 됩니다.
다섯 가지 비율, 세 가지 해상도, 두 가지 길이
aspect_ratio는 16:9, 9:16, 1:1, 4:3, 3:4를, resolution은 480p, 720p, 1080p를 받습니다. 두 값은 서로 연결되어 있어 480p에서는 가로, 세로, 정사각형만 렌더링되므로 4:3과 3:4에는 720p 이상이 필요합니다. duration_seconds는 정확히 5 또는 10이며, 7 같은 값은 반올림되지 않고 거부됩니다. 해상도는 초당 요금과 작업 소요 시간도 결정합니다.
제외 항목과 통제된 비교
negative_prompt에는 최대 500자까지 쓸 수 있으며, 자막, 로고, 불필요한 인물, 자꾸 나타나는 색을 넣는 자리입니다. seed(0~2147483647)는 한 번에 한 필드만 바꿔 비교하는 동안 난수원을 고정하지만, 동일한 프레임을 보장하지는 않습니다. enable_prompt_expansion은 기본적으로 꺼져 있으며, 켜면 짧은 브리프를 생성 전에 더 자세한 내용으로 다시 씁니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 샷 그 자체입니다. 누가, 동작 하나, 카메라 움직임 하나, 그다음 빛과 소리를 적습니다. 1자 이상 · 1500자 이하 |
negative_prompt | 아니요 | 빠져야 할 것을 적습니다. 자막, 로고, 불필요한 인물, 자꾸 나오는 색 같은 것들입니다. 500자 이하 |
aspect_ratio | 아니요 | 16:9, 9:16, 1:1, 4:3, 3:4 중 하나이며 기본값은 16:9입니다. 가장 낮은 해상도 등급에서는 4:3과 3:4를 쓸 수 없습니다. |
resolution | 아니요 | 480p, 720p, 1080p이며 기본값은 720p입니다. 초당 단가와 처리 시간이 달라지고, 가장 낮은 등급에서는 가로형·세로형·정사각형만 고를 수 있습니다. |
duration_seconds | 아니요 | 정확히 5 또는 10 중 하나입니다. 다른 값은 반올림되지 않고 거절됩니다. |
audio_url | 아니요 | 클립이 따라갈 대사나 음악 큐입니다. 입 모양과 움직임의 속도가 이 파일에 맞춰집니다. 1자 이상 |
enable_prompt_expansion | 아니요 | 기본으로 꺼져 있습니다. 켜면 짧은 설명이 생성 전에 더 자세하게 다시 쓰이니, 프롬프트가 정밀한 샷 묘사라면 꺼 두세요. 기본값: |
seed | 아니요 | 0에서 2147483647까지입니다. 변경 하나씩 비교할 때는 고정하고, 다양성이 필요하면 0을 보내지 말고 필드를 비워 두세요. |
요금
| 사양 | 요금 |
|---|---|
| $0.045 / 초 |
| $0.09 / 초 |
| $0.135 / 초 |
활용 사례
사운드트랙이 들어간 세로 클립
aspect_ratio를 9:16으로 두고 5초로 유지하면 별도의 오디오 작업이 필요 없는 피드용 초안이 됩니다. 공개된 레코드 가게 예시는 한 걸음 더 나아가 1080p, 9:16으로 10초를 만들고, 레코드 상자에서 남성의 얼굴까지 천천히 틸트하며, 네거티브 프롬프트 ‘text on screen, logos, extra people’로 자막과 행인을 막습니다.
보이는 동작에 소리가 맞는지 확인하기
색소폰 예시는 1080p, 16:9로 10초를 요청하고 악기 소리가 운지와 맞기를 요구합니다. 키, 물보라, 턴테이블 잡음처럼 눈에 보이는 대상에 오디오를 묶으면 분위기만으로 판단하지 않고 재생할 때 구체적으로 확인할 수 있습니다.
원하는 타이밍에 맞춘 대사
대사를 녹음해 audio_url로 전달하고, 누가 어디에서 말하는지 적습니다. 움직임과 입 모양이 파일의 타이밍을 따르므로 검토는 연기 자체에 집중할 수 있습니다. 특정 얼굴이나 제품이 필요하면 텍스트만으로는 실행마다 그 모습을 유지할 수 없으므로, 이미지→영상 엔드포인트에서 스틸 이미지로 시작하십시오.
프롬프트 가이드 및 실전 팁
정해진 순서로 샷 쓰기
피사체, 하나의 동작, 하나의 카메라 움직임, 조명, 마지막으로 소리에 대한 한 줄 순서로 씁니다. 형용사를 쌓는 것보다 분명한 동사 하나가 결과를 더 크게 바꿉니다. 제외할 것은 프롬프트에 넣지 말고 negative_prompt에 나열하십시오. 프롬프트가 이미 정확한 샷 묘사라면 enable_prompt_expansion을 끈 상태로 두어 작성한 문구가 그대로 쓰이게 합니다.
공개 예시 응용하기
공개된 항구 예시는 aspect_ratio 16:9, duration_seconds 5, resolution 720p로 실행됩니다. 피사체와 장소를 바꿀 때도 이 구성은 유지하십시오.
Early morning at a stone harbour wall. An adult woman in a navy one-piece swimsuit and a white swim cap stands at the edge, shakes out her arms, then dives cleanly into flat green water and surfaces laughing, pushing her goggles up. Gulls lift off the wall behind her. Low handheld camera at water level, soft pink dawn light, mist on the water. Audio: gulls, a splash, her breath and a short laugh, distant boat engine.
동작 하나와 카메라 위치 하나로 구성하고 소리를 적어 두었기 때문에 물보라와 웃음소리가 알맞은 프레임에 맞습니다.
5초, 720p에서 다듬기
seed를 고정하고 동사, 카메라 움직임, 소리 문장처럼 한 번에 하나씩 바꿔 비교합니다. 마음에 드는 테이크는 10초나 1080p로 다시 렌더링합니다. 4:3이나 3:4 요청이 거부되면 먼저 해상도를 확인하십시오. 이 비율은 480p에서 사용할 수 없습니다.
소리를 켜고 클립 전체 검토하기
처음부터 끝까지 오디오와 함께 재생하며 동작이 보통 속도에서 읽히는지, 효과음이 눈에 보이는 발생원에 맞는지, 손과 머리카락이 무너지지 않는지 확인합니다. 클립이 길수록 손, 머리카락, 세부 묘사가 흔들리기 쉬우므로 납품 전에 10초 테이크를 5초 버전과 비교하십시오.
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.5/text-to-video",
"input": {
"aspect_ratio": "16:9",
"duration_seconds": 5,
"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 레퍼런스에서 확인하세요.




























