소개
Wan 2.1 LoRA 이미지→영상은 Alibaba의 오픈 14B 영상 모델에 LoRA 파일을 최대 3개 불러와 사진 한 장을 움직입니다. 클립은 480p 또는 720p의 5초 또는 10초이고, 사진의 모양을 유지하며, 콘텐츠 필터 없이 돌아옵니다.
출발 자료에 따라 모드 고르기
| 가진 것 | 모드 |
|---|---|
| 글로 쓴 설명 | Wan 2.1 LoRA 텍스트→영상 |
| 움직일 사진 | Wan 2.1 LoRA 이미지→영상 |
| 스타일을 바꿀 클립 | Wan 2.1 LoRA 영상→영상 |
| 클립 대신 정지 이미지 | Wan 2.1 Image LoRA 텍스트→이미지 |
핵심 기능 및 하이라이트
카메라와 효과 LoRA
Wan 2.1 이미지→영상용으로 학습한 오빗, 돌리 같은 효과 LoRA를 직접 링크로 불러옵니다. 저희 예시에서 오빗 LoRA는 카메라를 피사체 뒤로 돌려 보냈고, 같은 seed로 LoRA 없이 돌리면 카메라는 가만히 있었습니다.
반복 가능한 실행
저희 테스트에서 같은 seed와 입력이 바이트까지 똑같은 클립을 냈습니다. 그래서 이 엔드포인트는 LoRA를 조정하기에 가장 깔끔한 곳입니다. scale을 한 번에 하나만 바꾸면 보이는 차이는 모두 그 변경에서 나옵니다.
Wan 2.2 low-noise LoRA
저희 테스트에서 Wan 2.2 이미지→영상 LoRA의 low-noise 파일은 Wan 2.1 버전과 같은 방향으로 클립을 바꿨습니다. 그래서 더 새로운 LoRA 상당수를 여기서도 쓸 수 있습니다.
커스텀 가중치에서도 무검열
LoRA는 심사하지 않고 결과도 필터링하지 않으며, 보내는 사진도 판단하지 않습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 필수. LoRA에 트리거 단어가 있다면 먼저 쓰고, 그다음 첫 프레임 이후에 일어날 일과 카메라의 움직임을 적으십시오. 1자 이상 |
negative_prompt | 아니요 | 흐림, 여분의 손가락, 글자, 워터마크처럼 클립에서 빼야 할 것을 적습니다. 선택 사항이며 가격에는 영향이 없습니다. |
image_url | 예 | 첫 프레임입니다. 클립은 이 사진의 모양을 유지합니다. 1자 이상 |
resolution | 아니요 | 480p(기본값) 또는 720p입니다. 720p는 클립당 요금이 더 높고 시간도 더 걸리며, 모양은 사진을 따릅니다. |
duration_seconds | 아니요 | 5(기본값) 또는 10초이며 다른 길이는 거부됩니다. 10초 클립은 5초 클립의 1.5배 요금입니다. |
loras | 아니요 | Wan 2.1 14B용으로 학습한 {path, scale} 항목을 최대 3개 넣습니다(이미지→영상 LoRA 대부분은 480P 체크포인트로 학습되었고 720p에서도 동작합니다). path는 .safetensors 파일로 가는 공개 직접 링크이고, scale은 0에서 4까지(기본값 1)입니다. 기본값: |
guidance_scale | 아니요 | 클립이 프롬프트를 얼마나 엄격히 따를지이며 0~20(기본값 5)입니다. 단계를 낮추면서 올리면 저희 테스트에서 채도가 과하고 아티팩트가 많은 프레임이 나왔습니다. |
flow_shift | 아니요 | 플로 매칭 타임스텝 시프트이며 1~10입니다. 비워 두면 480p에서는 3, 720p에서는 5가 쓰이며, LoRA 제작자가 값을 권할 때만 바꾸십시오. |
steps | 아니요 | 노이즈 제거 단계 수이며 1~40(기본값 30)입니다. 단계가 적을수록 빠르지만 흐릿해집니다. |
seed | 아니요 | 저희 테스트에서 같은 seed와 같은 입력이 바이트까지 똑같은 클립을 돌려주었으므로, LoRA가 무엇을 바꾸는지 가장 쉽게 확인하는 방법입니다. 약속이 아니라 비교 도구로 생각하십시오. |
요금
해상도와 길이에 따라 클립 단위로 과금되며, 10초 클립은 5초 클립의 1.5배 요금입니다. LoRA와 사진의 모양은 가격에 영향을 주지 않습니다.
| 해상도 | 길이: 5 | 길이: 10 |
|---|---|---|
| $0.24 / 요청 | $0.36 / 요청 |
| $0.36 / 요청 | $0.54 / 요청 |
활용 사례
움직이는 인물 사진
정지 이미지를 천천히 밀고 들어가는 샷부터 완전한 오빗까지 직접 고른 카메라 움직임이 있는 샷으로 바꾸십시오. 얼굴과 옷차림은 사진 그대로입니다.
패션과 제품 정지 이미지
오빗 LoRA는 잘 찍은 사진 한 장에서 시작해 옷이나 물건을 사방에서 보여 주므로 두 번째 촬영을 아낄 수 있습니다.
콘텐츠 필터가 없는 플랫폼
이용자가 원하는 LoRA로 여러분의 이미지를 움직여 보세요. 화면에 나오는 모든 사람은 성인이어야 합니다.
프롬프트 가이드 및 실전 팁
트리거 문구를 쓰기
효과 LoRA는 대개 트리거 단어가 필요합니다. 제작자가 적어 둔 오빗 문구가 그 예입니다. 저희 오빗 예시처럼 카메라를 묘사하는 문장 안에 넣으십시오.
변화를 요청하기
모델은 사진에서 크게 벗어나지 않아서 사진 속 옷차림과 배경이 그대로 남는 경향이 있습니다. 원하는 동작과 변화를 프롬프트 앞쪽에 쓰고, 클립 하나에 주요 동작은 하나로 하십시오.
같은 seed로 비교하기
loras를 비운 채 한 번, 내 LoRA를 넣고 한 번, 같은 seed로 돌려 보십시오. 여기서는 두 클립을 바로 비교할 수 있어서 LoRA가 하는 일이 그대로 보입니다.
공개된 직접 링크 쓰기
Hugging Face의 "resolve/main" 링크처럼 .safetensors 파일을 바로 내려받는 공개 링크를 쓰십시오. 저장소 페이지, 로그인이 필요한 파일, 로그인으로 리디렉션되는 Civitai 링크는 요청이 실패하며, 실패한 요청에는 요금이 부과되지 않습니다.
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.1-lora/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": "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 레퍼런스에서 확인하세요.
























