VEED Fabric 1.0
Integra
veed/fabric-1.0
# 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/fabric-1.0?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p"
}'
# 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/fabric-1.0?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p"
}),
});
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 = {
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/veed/fabric-1.0", 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/mt/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/fabric-1.0",
"input": {
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p"
}
}
Ċempel il-mudell VEED Fabric 1.0 (veed/fabric-1.0) permezz tad-Doitong API. Dokumentazzjoni għall-aġenti: https://doitong.com/mt/developers/models/veed/fabric-1.0.md
POST https://api.doitong.ru/v1/run/veed/fabric-1.0?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p"
}
Jekk l-istatus tar-rispons huwa "queued" jew "running", agħmel polling fuq GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 sakemm ikun "succeeded"; il-fajls jinsabu f’outputs[].url. POST https://api.doitong.ru/v1/quote/veed/fabric-1.0 bl-istess body jirritorna l-prezz eżatt qabel it-tħaddim.
Fajls bħall-eżempju: $0.80 800 krediti tal-API · ≈ ₽85.25 il-fajls tiegħek jitkejlu qabel it-tħaddim Ħaddmu f’din il-paġna
Iċ-ċavetta API l-ġdida tiegħek. Jintwera biss issa u diġà jinsab fil-kodiċi u fil-qasam taċ-ċavetta API hawn taħt. Żommu sigriet: qatt tpoġġih f’kodiċi li jaħdem f’browser.
L-ewwel riżultat tiegħek jidher hawn
Ibni talba hawn taħt u ħaddimha biċ-ċavetta API tiegħek. L-outputs jiġu kkupjati fil-ħażna tagħna, miżmuma għal dejjem jew 7 ijiem b’xejn.
Ibni talba
Il-kontrolli jiġu ġġenerati mill-iskema tal-mudell. Il-kodiċi u l-prezz jaġġornaw hekk kif tibdilhom.
/run/veed/fabric-1.0?wait=20
kwotazzjoni → $0.80
# 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/fabric-1.0?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p"
}'
# 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/fabric-1.0?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p"
}),
});
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 = {
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/veed/fabric-1.0", 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/fabric-1.0",
"input": {
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p"
},
"wait_seconds": 20
}
}
}
Ħaddem din it-talba
Iċ-ċavetta tiegħek tibqa’ f’dan il-browser: tintbagħat biss lid-Doitong API u tiġi ssejvjata (localStorage) biss jekk timmarka Ftakar. Ikseb ċavetta API
Dwar VEED Fabric 1.0
VEED Fabric 1.0 jibdel ritratt, mascot jew illustrazzjoni f'vidjo li jitkellem immexxi minn fajl awdjo, b'moviment tax-xufftejn u moviment naturali tar-ras. Output f'480p jew 720p; il-clip huwa twil daqs l-awdjo.
Parametri
Ibgħat jew l-isem kanoniku jew l-isem nattiv, mhux it-tnejn. Ismijiet kanoniċi
image_urlmeħtieġ
image
audio_urlmeħtieġ
audio
resolutionmeħtieġ
Il-parametri tal-fajls jaċċettaw URL pubbliku https://, URI data: sa 10 MB, jew file_url ta’ upload. Fajls
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "veed/fabric-1.0",
"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": 800,
"usd": "0.80",
"charged": 800,
"refunded": 0
},
"input": {
"image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"resolution": "480p"
},
"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"
}
}
Oqsma tal-output
- video
- object {url, content_type, file_name, file_size}
Varjanti oħra ta’ VEED Fabric
Aktar mudelli: Lipsync u avatars
Għall-aġenti tal-AI: din il-paġna bħala Markdown tinsab fuq https://doitong.com/mt/developers/models/veed/fabric-1.0.md. Il-mudelli u l-gwidi kollha: https://doitong.com/developers/llms.txt