소개
Wan 2.2 LoRA 텍스트→영상은 Alibaba의 Wan 2.2 A14B 모델로 글로 쓴 프롬프트에서 5초 또는 8초 클립을 렌더링하며, 직접 만든 LoRA 가중치를 그 위에 얹습니다. 480p 또는 720p에서 가로 16:9나 세로 9:16을 고르고, 네거티브 프롬프트를 더하고, 세 슬롯에 각각 LoRA를 최대 3개까지 붙이십시오. 플랫폼은 프롬프트, 가중치, 클립 어디에도 콘텐츠 필터를 더하지 않습니다.
시작 자료에 따라 모드 선택하기
| 가진 자료 | 모드 |
|---|---|
| 글로 쓴 설명 | Wan 2.2 LoRA 텍스트→영상 |
| 움직일 첫 프레임 | Wan 2.2 LoRA 이미지→영상 |
핵심 기능 및 하이라이트
전문가 둘, LoRA 슬롯 셋
Wan 2.2 A14B는 노이즈 제거를 레이아웃과 움직임을 정하는 고노이즈 전문가와 디테일을 다듬는 저노이즈 전문가로 나눕니다. high_noise_loras와 low_noise_loras는 각각 한 전문가를 겨냥하고 loras는 양쪽을 겨냥합니다. Hugging Face와 Civitai의 Wan 2.2 LoRA 대부분은 고노이즈 파일과 저노이즈 파일의 짝으로 배포되며, 두 슬롯이 그대로 받아 줍니다.
가로와 세로를 기본 형태로 렌더링
16:9는 832×480 또는 1280×720, 9:16은 480×832 또는 720×1280으로 돌아옵니다. 세로 클립은 넓은 샷에서 잘라 낸 것이 아니라 처음부터 휴대폰에 맞는 구도로 만들어집니다.
다시 비교할 수 있는 실행
같은 seed와 같은 입력으로 저희 테스트에서는 똑같은 클립이 바이트 단위로 돌아왔습니다. 다만 매번 그렇게 된다고 보장하지는 않습니다. 그래서 LoRA 강도 비교를 정직하게 할 수 있습니다. scale 하나만 바꾸고 나머지를 그대로 두면, 보이는 차이가 곧 LoRA의 몫입니다.
네거티브 프롬프트
이미지→영상 엔드포인트와 달리, 이 엔드포인트는 흐림, 여분의 손가락, 엉뚱한 글자처럼 샷에서 빼야 할 것을 적는 negative_prompt를 받습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 필수입니다. 인물, 동작, 카메라 움직임을 평범한 문장으로 묘사하고, 장면 속 모든 인물의 나이를 밝히십시오. 1자 이상 |
negative_prompt | 아니요 | 흐림, 여분의 손가락, 글자, 워터마크처럼 클립에서 빼야 할 것을 적습니다. 선택 사항이며, 비워 두면 프롬프트만으로 결정됩니다. |
aspect_ratio | 아니요 | 16:9(기본값) 또는 9:16입니다. 둘 다 기본 형태로 렌더링되며 정사각형이나 다른 비율 옵션은 없습니다. |
resolution | 아니요 | 480p(기본값) 또는 720p입니다. 720p는 초당 요금이 더 높고 시간도 약 두 배 걸립니다. |
duration_seconds | 아니요 | 정확히 5 또는 8입니다. 다른 값은 반올림되지 않고 거부됩니다. |
loras | 아니요 | 두 전문가 모두에 적용되는 {path, scale} 항목을 최대 3개 넣습니다. scale은 0에서 4까지이며 기본값은 1입니다. 기본값: |
high_noise_loras | 아니요 | 구도와 움직임이 정해지는 고노이즈 전문가에 LoRA를 최대 3개까지 붙입니다. 쌍으로 배포된 Wan 2.2 LoRA의 고노이즈 파일은 여기에 넣습니다. 기본값: |
low_noise_loras | 아니요 | 디테일과 질감이 확정되는 저노이즈 전문가에 LoRA를 최대 3개까지 붙입니다. 쌍으로 배포된 Wan 2.2 LoRA의 저노이즈 파일은 여기에 넣습니다. 기본값: |
seed | 아니요 | 0에서 2147483647까지입니다. 저희 테스트에서는 같은 seed와 같은 입력이 똑같은 클립을 돌려주었지만 매번 그렇게 된다고 보장하지는 않습니다. |
요금
선택한 해상도의 영상 1초당 과금되며, 720p는 480p보다 초당 요금이 높습니다. 화면비는 가격에 영향을 주지 않고, LoRA를 불러와도 별도 요금은 없습니다.
| 사양 | 요금 |
|---|---|
| $0.048 / 초 |
| $0.084 / 초 |
활용 사례
하나의 룩으로 만드는 시리즈
스타일 LoRA를 불러오고 장면 목록을 쓰십시오. 클립마다 새로운 샷이지만 세트 전체에서 렌더링은 그대로 유지됩니다.
피드용 세로 클립
가로 클립을 다시 구도 잡지 않고도 숏폼 플랫폼용으로 720p 9:16을 렌더링하십시오.
내 가중치로 만드는 무검열 컨셉
프롬프트도 LoRA 파일도 심사되지 않습니다. 저희 테스트에서 '약함'과 '보통' 단계는 쓴 그대로 나왔고, 가장 강한 요청은 거절되지 않고 누그러져 돌아왔습니다.
프롬프트 가이드 및 실전 팁
피사체, 동작, 빛, 카메라
평범한 문장이 잘 통합니다. 샷에 누가 있고 몇 살인지, 처음부터 끝까지 무엇을 하는지, 어디에서 어떤 빛 아래 벌어지는지를 적고, 카메라 움직임 하나로 끝내십시오. 다음은 벽난로 예시의 프롬프트이며 720p, 16:9, 5초로 loras에 Vintage Cinematic LoRA를 강도 1로 넣어 돌렸습니다. 첫 세 단어가 이 LoRA의 트리거입니다.
Vintage Cinematic Color. Night in a mountain log cabin during a thunderstorm. An adult woman in her early thirties with dark tousled hair sits on a sheepskin rug in front of a roaring stone fireplace, in an oversized flannel shirt worn open over a cream silk camisole, knees drawn up, a glass of red wine in her hand. Lightning flashes blue-white through the dark doorway behind her while the firelight paints her face amber; she pulls the slipping shirt back onto her shoulder, turns her head and gives the camera a slow, smouldering look. Warm brown tones, deep shadows, slow push-in, 35mm, film grain, shallow depth of field.
LoRA가 기본 모델과 맞는지 확인하기
다른 모델용으로 학습한 LoRA는 오류 없이 받아들여지지만 아무것도 바꾸지 못합니다. 강도를 훑기 전에 같은 프롬프트와 seed로 LoRA를 넣고 한 번, 빼고 한 번 돌려 보십시오. 두 클립이 같다면 그 파일은 Wan 2.2에 맞지 않는 것입니다.
페이지가 아니라 파일을 링크하기
path는 .safetensors 파일 자체를 가리켜야 합니다. 저장소 페이지나 로그인이 필요한 파일은 실행이 실패합니다.
작게 초안 잡기
저희 테스트에서 5초 480p 클립은 약 1분, 720p 클립은 약 2분이 걸렸습니다. 프롬프트와 LoRA scale은 480p에서 정리한 뒤 720p나 8초로 다시 렌더링하십시오.
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-lora/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": "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 레퍼런스에서 확인하세요.





















