LTX 2.3 Trainer (V2) - Video-to-Audio
Integra
ltx23-trainer-v2/v2a
# 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/ltx23-trainer-v2/v2a?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"training_data_url": "https://example.com/your-file.zip"
}'
# 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/ltx23-trainer-v2/v2a?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"training_data_url": "https://example.com/your-file.zip"
}),
});
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 = {
"training_data_url": "https://example.com/your-file.zip",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/ltx23-trainer-v2/v2a", 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/it/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": "ltx23-trainer-v2/v2a",
"input": {
"training_data_url": "https://example.com/your-file.zip"
}
}
Chiama il modello LTX 2.3 Trainer (V2) - Video-to-Audio (ltx23-trainer-v2/v2a) tramite Doitong API. Documentazione per gli agenti: https://doitong.com/it/developers/models/ltx23-trainer-v2/v2a.md
POST https://api.doitong.ru/v1/run/ltx23-trainer-v2/v2a?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"training_data_url": "https://example.com/your-file.zip"
}
Se lo stato della risposta è "queued" o "running", interroga GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 finché non diventa "succeeded"; i file si trovano in outputs[].url. POST https://api.doitong.ru/v1/quote/ltx23-trainer-v2/v2a con lo stesso body restituisce il prezzo esatto prima dell'esecuzione.
Questa richiesta: 9,80 $ 9800 crediti API · ≈ 1026,06 ₽ Esegui in questa pagina
La tua nuova chiave API. Viene mostrata solo ora ed è già presente nel codice e nel campo della chiave API qui sotto. Mantienila segreta: non inserirla mai nel codice eseguito in un browser.
Il tuo primo risultato apparirà qui
Crea una richiesta qui sotto ed eseguila con la tua chiave API. Gli output vengono copiati nella nostra archiviazione, conservati per sempre oppure 7 giorni gratuitamente.
Crea una richiesta
I controlli vengono generati dallo schema del modello. Il codice e il prezzo si aggiornano mentre li modifichi.
/run/ltx23-trainer-v2/v2a?wait=20
preventivo → 9,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/ltx23-trainer-v2/v2a?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"training_data_url": "https://example.com/your-file.zip"
}'
# 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/ltx23-trainer-v2/v2a?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"training_data_url": "https://example.com/your-file.zip"
}),
});
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 = {
"training_data_url": "https://example.com/your-file.zip",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/ltx23-trainer-v2/v2a", 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": "ltx23-trainer-v2/v2a",
"input": {
"training_data_url": "https://example.com/your-file.zip"
},
"wait_seconds": 20
}
}
}
Esegui questa richiesta
La tua chiave rimane in questo browser: viene inviata solo al Doitong API e salvata in localStorage solo se selezioni Ricorda. Ottieni una chiave API
Informazioni su LTX 2.3 Trainer (V2) - Video-to-Audio
Addestra una LoRA che produce una colonna sonora corrispondente all'azione mostrata nel video. Ogni clip di addestramento deve mantenere una traccia audio, quindi la suddivisione delle scene è disattivata per impostazione predefinita per evitare segmenti finali silenziosi. I campioni di convalida (fino a 2) associano ciascuno un prompt a un video senza audio. I dati sono forniti in uno zip tramite `training_data_url`.
Parametri
training_data_urlobbligatorio
rankfacoltativo
number_of_stepsfacoltativo
learning_ratefacoltativo
number_of_framesfacoltativo
frame_ratefacoltativo
resolutionfacoltativo
aspect_ratiofacoltativo
trigger_phrasefacoltativo
auto_scale_inputfacoltativo
split_input_into_scenesfacoltativo
split_input_duration_thresholdfacoltativo
debug_datasetfacoltativo
validationfacoltativo
validation[].promptobbligatorio
validation[].video_urlobbligatorio
validation_negative_promptfacoltativo
validation_number_of_framesfacoltativo
validation_frame_ratefacoltativo
validation_resolutionfacoltativo
validation_aspect_ratiofacoltativo
stg_scalefacoltativo
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "ltx23-trainer-v2/v2a",
"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": 9800,
"usd": "9.80",
"charged": 9800,
"refunded": 0
},
"input": {
"training_data_url": "https://example.com/your-file.zip"
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"audio": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"lora_file": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"config_file": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"debug_dataset": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
}
},
"outputs": [
{
"type": "file",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_size": 1843200,
"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"
}
}
Campi dell'output
- video
- object {url, content_type, file_name, file_size} | nullAnteprima video combinata dalla convalida, quando disponibile per gli endpoint che producono video.
- audio
- object {url, content_type, file_name, file_size} | nullAudio combinato dalla convalida, fornito come anteprima quando disponibile per questi percorsi solo audio: /audio-inpaint, /audio-extend-suffix, /audio-extend-prefix, /t2a, /a2a e /v2a.
- lora_file
- object {url, content_type, file_name, file_size}URL dei pesi LoRA addestrati in formato .safetensors.
- config_file
- object {url, content_type, file_name, file_size}Configurazione per l'impostazione dell'endpoint di inferenza.
- debug_dataset
- object {url, content_type, file_name, file_size} | nullOutput di debug disponibile quando `debug_dataset` è abilitato: un archivio scaricabile che contiene i dati di addestramento dopo il preprocessing.
Altre varianti di LTX 2.3 Trainer
Altri modelli: Addestramento
Per gli agenti AI: questa pagina in Markdown è disponibile all'indirizzo https://doitong.com/it/developers/models/ltx23-trainer-v2/v2a.md. Tutti i modelli e le guide: https://doitong.com/developers/llms.txt