Kling 4.0 Reference to Video
통합
kling/v4/reference-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/kling/v4/reference-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/kling/v4/reference-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/kling/v4/reference-to-video", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/ko/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "kling/v4/reference-to-video",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
Doitong API를 통해 Kling 4.0 Reference to Video 모델(kling/v4/reference-to-video)을 호출합니다. 에이전트용 문서: https://doitong.com/ko/developers/models/kling/v4/reference-to-video.md
POST https://api.doitong.com/v1/run/kling/v4/reference-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
응답 상태가 "queued" 또는 "running"이면 "succeeded"가 될 때까지 GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20을 폴링하세요. 파일은 outputs[].url에 있습니다. POST https://api.doitong.com/v1/quote/kling/v4/reference-to-video에 동일한 본문을 보내면 실행 전에 정확한 가격을 반환합니다.
예시와 같은 파일: $1.175 1,175 API 크레딧 실행 전에 파일을 측정합니다 이 페이지에서 실행
새 API 키입니다. 지금만 표시되며 이미 아래 코드와 API 키 필드에 입력되어 있습니다. 안전하게 보관하세요. 브라우저에서 실행되는 코드에 절대 넣지 마세요.
Doitong에서 제작됨
Doitong 커뮤니티가 Kling 4.0로 만든 공개 작품입니다. 한 번의 클릭으로 프롬프트를 재사용하세요.
동영상
Ultra-realistic cinematic video of a young adult woman walking naturally toward the camera while speaking, with realistic facial expressions and synchronized lip movements, as if she is promoting something to the viewer. She maintains eye contact with the camera, smiles slightly, and uses subtle...
동영상
Slow, subtle push-in on the woman's face. The light from the laptop flickers softly across her eyes and cheeks, as if the blurry image on the screen is changing. Her eyes move slightly as she studies the screen, and she takes one slow, tense breath. Behind her, shadows of the snowstorm move...
동영상
The enormous ancient dragon descends slowly toward the snowy cliff and lands at the cave mouth. Its huge dark leathery wings beat twice with slow, heavy strokes, sending snow swirling off the cliff in big clouds. Then it folds its wings and settles on the rock, the giant elk still held in its...
동영상
**Duration: 5 seconds | Aspect ratio: 16:9 | Children's YouTube Intro | Video with Audio** Animate the provided image into a bright, magical, energetic, professional YouTube intro for a children's entertainment channel, with perfectly synchronized sound effects, cheerful music, and a cute child's...
동영상
Authentic 1990s wide-angle film footage. The left man slowly pulls one wooden block from the Jenga tower. As the block comes out, the tower naturally loses balance and realistically collapses onto the table. Frustrated, he angrily sweeps all the fallen wooden blocks off the table with both hands....
동영상
Thermal-camera view of a snowy mountain cliff at night in false-color, deep blue and violet cold rock, a huge orange-white heat shape hidden inside a rock crevice, two small bright amber spots glowing like eyes, faint noise grain. Cinematic videorealistic, ultra detailed, 16:9, volumetric light,...
동영상
**Duration: 4 seconds | Aspect ratio: 16:9 | Children's YouTube Intro | Video with Audio** Animate the provided image into a bright, magical, energetic, professional YouTube intro for a children's entertainment channel, with perfectly synchronized sound effects, cheerful music, and a cute child's...
동영상
**Duration: 4 seconds | Aspect ratio: 16:9 | Children's YouTube Intro | Video with Audio** Animate the provided image into a bright, magical, energetic, professional YouTube intro for a children's entertainment channel, with perfectly synchronized sound effects, cheerful music, and a cute child's...
동영상
**Duration: 5 seconds | Aspect ratio: 16:9 | Children's YouTube Intro | Video with Audio** Animate the provided image into a bright, magical, energetic, professional YouTube intro for a children's entertainment channel, with perfectly synchronized sound effects, cheerful music, and a cute child's...
동영상
Уютная база отдыха с деревянными домиками-шале среди сосен. Майя и Клиентка заходят в теплое кафе с панорамными окнами. Внутри деревянный интерьер, мягкие диваны и живые цветы. Они садятся за столик, перед ними стоят дымящиеся чашки чая. Мягкий свет ламп создает уют. Средний план, уровень глаз. (...
동영상
**Duration: 4 seconds. Aspect ratio: 16:9.** Animate the provided image into a bright, magical, high-energy YouTube intro for a children's entertainment channel. **0–1 second:** The three girls come to life naturally, smiling and blinking. The girl on the left gently swings forward, the girl in...
동영상
**Duration: 4 seconds | Aspect ratio: 16:9 | Children's YouTube Intro | Video with Audio** Animate the provided image into a bright, magical, energetic, professional YouTube intro for a children's entertainment channel, with perfectly synchronized sound effects, cheerful music, and a cute child's...
동영상
Создай короткий вертикальный юмористический мультфильм для Reels в формате 9:16. Сцена 1: Михаил Шуфутинский стоит в кадре с небольшим настольным календарём или блокнотом. На календаре крупно и хорошо читаемо написано: «2 сентября». Он смотрит на календарь и начинает петь узнаваемую фразу из...
동영상
Оживи старую чёрно-белую свадебную фотографию. Молодожёны стоят рядом друг с другом. Жених нежно и с любовью смотрит на невесту, слегка улыбается и бережно касается её руки. Невеста мягко улыбается, немного поворачивает голову к жениху и смотрит на него с теплотой. Их движения естественные,...
동영상
The same cute animated toddler is sitting on the soft green grass, crying with big tears after gently falling. Suddenly, his loving mother runs toward him, kneels down and gently picks him up into her arms. She hugs him tightly and comforts him, softly stroking his back. The toddler takes a deep...
동영상
С днём рождения, бабушка Люба Хронометраж: ~6 минут Жанр: биографический фильм‑посвящение Музыка: мягкое фортепиано; в сценах про детство и утраты — сдержанная, щемящая мелодия; в сценах про дорогу и работу — ровный, сдержанный ритм; в сценах про кузницу — тёплый, «рукотворный» тембр; в сценах с...
요청 만들기
컨트롤은 모델 스키마에서 생성됩니다. 값을 변경하면 코드와 가격이 업데이트됩니다.
/run/kling/v4/reference-to-video?wait=20
견적 → $1.175
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/kling/v4/reference-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/kling/v4/reference-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/kling/v4/reference-to-video", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "kling/v4/reference-to-video",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
Kling 4.0 Reference to Video 정보
텍스트 `prompt`와 참조 이미지, 참조 동영상, 캐릭터 또는 객체 요소를 바탕으로 동영상을 생성합니다. 이러한 요소는 프롬프트에서 @Image1, @Video1 또는 @Element1로 지정합니다. 길이는 3초에서 30초까지 설정할 수 있으며(기본값 5), 출력 해상도는 720p 또는 1080p, 화면 비율은 auto, 16:9, 9:16, 1:1 또는 21:9를 지원합니다. 샷별 프롬프트를 사용하려면 `multi_prompt`를 사용하며, 이 경우 총 길이는 각 샷 길이의 합입니다. 제한은 이미지 10개, 각각 3~30초인 동영상 5개, 요소 7개이며, 이 중 최대 3개에 음성을 지정할 수 있습니다.
매개변수
표준 이름이나 네이티브 이름 중 하나만 보내세요. 표준 이름
prompt선택 사항
multi_prompt선택 사항
multi_prompt[].prompt필수
multi_prompt[].duration선택 사항
duration선택 사항
start_image_url선택 사항
image
image_urls선택 사항
images
video_urls선택 사항
videos
elements선택 사항
elements[].frontal_image_url선택 사항
elements[].reference_image_urls선택 사항
elements[].video_url선택 사항
elements[].voice_id선택 사항
resolution선택 사항
aspect_ratio선택 사항
파일 매개변수에는 공개 https:// URL, 최대 10 MB의 data: URI 또는 업로드의 file_url을 사용할 수 있습니다. 파일
출력
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "kling/v4/reference-to-video",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 1175,
"usd": "1.175",
"charged": 1175,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
}
},
"outputs": [
{
"type": "video",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_size": 1843200,
"width": 1280,
"height": 720,
"duration": 5,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
출력 필드
- video
- object {url, content_type, file_name, file_size}모델이 생성한 동영상입니다.
다른 Kling 4.0 변형
더 많은 모델: 참조 이미지를 동영상으로
AI 에이전트용: 이 페이지의 Markdown 버전: https://doitong.com/ko/developers/models/kling/v4/reference-to-video.md. 모든 모델 및 가이드: https://doitong.com/developers/llms.txt