VEED Lipsync
Comhtháthú
veed/lipsync/v2
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/veed/lipsync/v2?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",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/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/veed/lipsync/v2?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
}),
});
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.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/veed/lipsync/v2", 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/ga/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "veed/lipsync/v2",
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
}
}
Glaoigh ar an tsamhail VEED Lipsync (veed/lipsync/v2) tríd an Doitong API. Doiciméid do ghníomhairí: https://doitong.com/ga/developers/models/veed/lipsync/v2.md
POST https://api.doitong.ru/v1/run/veed/lipsync/v2?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
}
Má tá stádas an fhreagra "queued" nó "running", seiceáil GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 arís go dtí go mbeidh sé "succeeded"; tá na comhaid in outputs[].url. Seolann POST https://api.doitong.ru/v1/quote/veed/lipsync/v2 leis an gcorp céanna an praghas beacht roimh an rith.
Comhaid cosúil leis an sampla: $0.70 700 gcreidmheas API · ≈ ₽73.82 déantar do chuid comhad a thomhas roimh an rith Rith ar an leathanach seo
D’eochair API nua. Taispeántar anois é amháin agus tá sé sa chód agus i réimse eochair API thíos cheana féin. Coinnigh faoi rún é: ná cuir i gcód é a ritheann i mbrabhsálaí.
Beidh do chéad toradh anseo
Tóg iarratas thíos agus rith é le d’eochair API. Cóipeáiltear na haschuir chuig ár stóráil, coinnithe go deo nó ar feadh 7 lá saor in aisce.
Tóg iarratas
Gintear na rialtáin ó scéim na samhla. Nuashonraítear an cód agus an praghas de réir mar a athraíonn tú iad.
/run/veed/lipsync/v2?wait=20
luachan → $0.70
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/veed/lipsync/v2?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",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/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/veed/lipsync/v2?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
}),
});
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.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/veed/lipsync/v2", 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": "veed/lipsync/v2",
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
},
"wait_seconds": 20
}
}
}
Rith an t-iarratas seo
Fanann d'eochair sa bhrabhsálaí seo: seoltar chuig Doitong API amháin í agus sábháiltear (localStorage) í ach amháin má chuireann tú tic le Meabhraigh. Faigh eochair API
Maidir le VEED Lipsync
Glacann sé físeán foinse (`video_url`) agus rian fuaime nua (`audio_url`) agus aschuir sé físeán ina leanann béal an chainteora an fhuaim nua. Seo an tsamhail sioncronaithe liopaí is nuaí den teaghlach agus ní ghlacann sí ach an dá ionchur seo, gan roghanna breise mionchoigeartaithe.
Paraiméadair
Seol an t-ainm canónach nó an t-ainm dúchasach, ní an dá cheann. Ainmneacha canónacha
video_urlriachtanach
video
audio_urlriachtanach
audio
Glacann paraiméadair chomhaid le URL poiblí https://, URI data: suas le 10 MB, nó file_url uaslódála. Comhaid
Aschur
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "veed/lipsync/v2",
"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": 700,
"usd": "0.70",
"charged": 700,
"refunded": 0
},
"input": {
"video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"audio_url": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
},
"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.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Réimsí aschuir
- video
- object {url, content_type, file_name, file_size}Físeán le gluaiseachtaí liopaí sioncronaithe.
Tuilleadh samhlacha: Sioncronú Liopaí agus Abhatáir
Do ghníomhairí AI: tá an leathanach seo mar Markdown ag https://doitong.com/ga/developers/models/veed/lipsync/v2.md. Gach samhail agus treoir: https://doitong.com/developers/llms.txt