Kling LipSync Text-to-Video
Tích hợp
kling-video/lipsync/text-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-video/lipsync/text-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2"
}'
# 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-video/lipsync/text-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2"
}),
});
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 = {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/kling-video/lipsync/text-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/vi/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-video/lipsync/text-to-video",
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2"
}
}
Gọi mô hình Kling LipSync Text-to-Video (kling-video/lipsync/text-to-video) qua Doitong API. Tài liệu cho tác nhân: https://doitong.com/vi/developers/models/kling-video/lipsync/text-to-video.md
POST https://api.doitong.com/v1/run/kling-video/lipsync/text-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2"
}
Nếu trạng thái phản hồi là "queued" hoặc "running", hãy thăm dò GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 cho đến khi trạng thái là "succeeded"; tệp nằm trong outputs[].url. POST https://api.doitong.com/v1/quote/kling-video/lipsync/text-to-video với cùng nội dung sẽ trả về giá chính xác trước khi chạy.
Các tệp như ví dụ: 0,14 $ 140 tín dụng API tệp của bạn được đo trước khi chạy Chạy trên trang này
Khóa API mới của bạn. Khóa này chỉ hiển thị lúc này và đã được chèn vào mã cũng như trường khóa API bên dưới. Hãy giữ bí mật: không bao giờ đưa khóa này vào mã chạy trong trình duyệt.
Được tạo trên Doitong
Các tác phẩm công khai được cộng đồng Doitong tạo bằng Kling LipSync. Tái sử dụng một lời nhắc chỉ với một lần nhấp.
Video
A realistic young Caucasian-looking woman wearing a modest hijab is walking through a modern city street. She is speaking naturally (audio will be added separately) and expressing admiration and pr...
Video
A realistic young Caucasian-looking woman in a modest hijab is walking calmly through the modern city of Grozny. The architecture around her is clean, modern, and impressive, with Dubai-style build...
Tạo một yêu cầu
Các điều khiển được tạo từ lược đồ mô hình. Mã và giá sẽ cập nhật khi bạn thay đổi chúng.
/run/kling-video/lipsync/text-to-video?wait=20
báo giá → 0,14 $
# 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-video/lipsync/text-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2"
}'
# 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-video/lipsync/text-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2"
}),
});
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 = {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/kling-video/lipsync/text-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-video/lipsync/text-to-video",
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2"
},
"wait_seconds": 20
}
}
}
Chạy yêu cầu này
Key của bạn vẫn nằm trong trình duyệt này: key chỉ được gửi đến Doitong API và chỉ được lưu trong localStorage nếu bạn chọn Ghi nhớ. Nhận khóa API
Giới thiệu về Kling LipSync Text-to-Video
Tạo lời nói đồng bộ môi từ văn bản thay vì tệp âm thanh. Cung cấp `video_url`, `text` tối đa 120 ký tự và `voice_id` được chọn từ danh sách giọng có sẵn. `voice_language` là zh hoặc en, còn `voice_speed` nằm trong khoảng từ 0.8 đến 2. Video nguồn có thể là .mp4 hoặc .mov, tối đa 100MB, dài từ 2 đến 60 giây, ở 720p hoặc 1080p.
Tham số
Gửi tên chuẩn hoặc tên gốc, không gửi cả hai. Tên chuẩn
enable_safety_checkertùy chọn
video_urlbắt buộc
video
textbắt buộc
voice_idbắt buộc
+30 giá trị khác
ai_huangzhong_712ai_huangyaoshi_712ai_laoguowang_712chengshu_jiejieyou_pingjingcalm_story1uk_man2laopopo_speech02heainainai_speech02reader_en_m-v1commercial_lady_en_f-v1tiyuxi_xueditiexin_nanyougirlfriend_1_speech02girlfriend_2_speech02zhuxi_speech02uk_oldman3dongbeilaotie_speech02chongqingxiaohuo_speech02chuanmeizi_speech02chaoshandashu_speech02ai_taiwan_man2_speech02xianzhanggui_speech02tianjinjiejie_speech02diyinnansang_DB_CN_M_04-v2yizhipiannan-v1guanxiaofang-v2tianmeixuemei-v1daopianyansang-v1mengwa-v1voice_languagetùy chọn
voice_speedtùy chọn
Các tham số tệp nhận URL https:// công khai, URI data: tối đa 10 MB hoặc file_url của một tệp tải lên. Tệp
Đầu ra
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "kling-video/lipsync/text-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": 140,
"usd": "0.14",
"charged": 140,
"refunded": 0
},
"input": {
"video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"text": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"voice_id": "genshin_vindi2"
},
"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"
}
}
Các trường đầu ra
- video
- object {url, content_type, file_name, file_size}Video do mô hình tạo ra.
Các biến thể Kling LipSync khác
Thêm mô hình: Lipsync & avatar
Dành cho tác nhân AI: trang này ở dạng Markdown tại https://doitong.com/vi/developers/models/kling-video/lipsync/text-to-video.md. Tất cả mô hình và hướng dẫn: https://doitong.com/developers/llms.txt