소개
Kling 3.0 이미지→영상은 첫 프레임(image_url)과 그 이후에 일어나는 일을 설명하는 프롬프트를 받아 720p·1080p·4K 중 하나로 3~15초를 돌려줍니다. last_image_url을 설정하면 마지막 프레임도 고정할 수 있어, 클립이 어딘가에서 시작만 하는 것이 아니라 특정 지점에 도착하게 됩니다. generate_audio를 켜면 대사와 배경음이 영상과 함께 생성됩니다.
시작 소재별 Kling 3.0 모드 선택
| 시작 시점에 가진 것 | 모드 |
|---|---|
| 글로 쓴 장면이나 대본 | Kling 3.0 텍스트→영상 |
| 첫 프레임(선택적으로 마지막 프레임까지) | Kling 3.0 이미지→영상(현재 모드) |
| 캐릭터 사진과 구동 영상 | Kling 3.0 Motion Control |
핵심 기능 및 하이라이트
첫 프레임, 그리고 설정하면 마지막 프레임까지
클립은 이미지 그대로에서 시작합니다. last_image_url을 추가하면 Kling은 열린 결말 대신 그 프레임을 향해 움직입니다. 안개 낀 부두 걷기 테스트에서는 클립의 마지막 프레임이 붉은 스카프까지 마지막 이미지와 거의 정확히 일치했습니다.
룩은 프레임이, 움직임은 프롬프트가 결정합니다
동작, 카메라, 사운드만 설명하세요. 의상이나 배경은 첫 프레임이 이미 고정했으므로 다시 쓸 필요가 없습니다. 저희 광장 번개 예시는 프레임 속 여성이나 주유소를 다시 설명하지 않고 번개, 빗속 걸음, 천둥소리만 추가합니다.
화면비는 프레임을 따릅니다
여기에는 별도의 aspect_ratio 필드가 없습니다. 출력은 와이드한 풍경부터 세로로 긴 인물 크롭까지 첫 이미지의 형태를 그대로 가져갑니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 첫 프레임 이후에 일어나는 일만 설명하세요—동작, 카메라, 사운드를 켠 경우 소리입니다. 1자 이상 · 2500자 이하 |
negative_prompt | 아니요 | 클립에서 빼고 싶은 요소(사물, 스타일, 움직임)를 최대 2,500자까지 적습니다. 선택 사항이며 가격에는 영향이 없습니다. 2500자 이하 |
image_url | 예 | 첫 프레임입니다. 클립은 이 이미지에서 시작하며 화면비도 여기서 가져옵니다. |
last_image_url | 아니요 | 선택적인 마지막 프레임입니다. 긴 클립일수록 양 끝보다 중간 부분이 더 흔들릴 수 있습니다. |
resolution | 아니요 | 720p, 1080p, 4K 중 선택합니다. 상위 등급일수록 초당 비용이 더 듭니다. |
generate_audio | 아니요 | 같은 클립에 사운드트랙을 추가합니다. 720p와 1080p에서는 무음보다 초당 비용이 더 들지만, 4K에서는 음성을 켜든 끄든 가격이 같습니다. 기본값: |
duration_seconds | 아니요 | 정수 초 단위로 3~15초 사이입니다. 가격을 결정합니다. |
shot_type | 아니요 | single은 대부분의 구간에서 하나의 셋업을 유지하지만 여전히 알아서 컷할 수 있습니다. multi는 Kling이 알아서 멀티샷 편집을 하게 합니다. |
multi_prompt | 아니요 | shot_type이 customize일 때 쓰는 샷 목록입니다. 최대 6개 샷을 순서대로 넣고 각 샷에 프롬프트(최대 512자)와 정수 초 길이를 지정합니다. 1개 이상 · 6개 이하 |
guidance_scale | 아니요 | 클립이 프롬프트를 얼마나 충실히 따를지 0~1로 정합니다(기본값 0.5). 높을수록 문구에 가깝게, 낮을수록 모델에 더 많은 재량을 줍니다. |
요금
출력 초당 과금됩니다. 해상도와 오디오 스위치 모두 요율을 바꿉니다.
| 해상도 | 오디오 생성: 아니요 | 오디오 생성: 예 |
|---|---|---|
| $0.0672 / 초 | $0.1008 / 초 |
| $0.0896 / 초 | $0.1344 / 초 |
| $0.336 / 초 | $0.336 / 초 |
활용 사례
디자인한 그대로 캐릭터 이어가기
인물이 클립마다 같은 모습을 유지해야 할 때는 먼저 스틸을 생성하거나 선택한 다음 여기서 애니메이션화하세요. 새 텍스트→영상 프롬프트를 쓰면 의상과 얼굴이 다시 운에 맡겨집니다.
특정 결말로 클립 마무리하기
샷의 마지막 박자—고정된 표정, 문 위의 손, 초점 안으로 걸어 들어오는 인물—가 중요할 때는 결말을 모델에 맡기는 대신 마지막 프레임을 설정하세요.
제품이나 패션 스틸을 움직임으로 테스트하기
제품이나 의상의 스틸 사진에 간단한 카메라 움직임을 위한 프롬프트만 더해도, 정적인 이미지가 움직이고 오디오를 켠 경우 소리까지 났을 때 어떻게 보이는지 확인하기에 충분합니다.
프롬프트 가이드 및 실전 팁
프레임이 이미 보여주지 않는 것만 설명하세요
저희 광장 번개 예시는 스틸 이후에 일어나는 일—번쩍임, 트럭에서 떨어지는 걸음, 폭우 속 걸음—에만 집중합니다. 이미지가 이미 고정한 의상이나 배경은 절대 반복하지 않습니다.
연속성이 중요할 때는 샷을 고정하세요
15초에 걸쳐 배경의 세부 사항이 흔들릴 수 있습니다. 특정 사물이나 배치가 그대로 있어야 한다면 "같은 빨간 트럭이 그녀 뒤에 계속 주차되어 있다"처럼 직접 이름을 붙여 말하세요. 첫 프레임이 클립 전체를 고정해준다고 가정하지 마세요.
끊김 없는 한 테이크를 원한다면 "one continuous shot, no cuts"라고 쓰세요
저희 요트 난간 예시는 첫 시도에서 두 번째 앵글로 컷되고 노을에서 낮으로 조명이 바뀌었습니다. 프롬프트 앞부분에 그 문장과 조명이 일정하게 유지된다는 설명을 더하니 재시도에서 프레이밍과 색감이 클립 전체에서 유지됐습니다.
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": "kling/3.0/image-to-video",
"input": {
"duration_seconds": 5,
"generate_audio": false,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"shot_type": "single"
}
}'
# 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 레퍼런스에서 확인하세요.












