LTX 2.3 Trainer (V2) - Audio-to-Video
整合
模型 id
ltx23-trainer-v2/a2v
# 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/a2v?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/a2v?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/a2v", 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/zh-TW/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/a2v",
"input": {
"training_data_url": "https://example.com/your-file.zip"
}
}
透過 Doitong API 呼叫 LTX 2.3 Trainer (V2) - Audio-to-Video 模型(ltx23-trainer-v2/a2v)。代理程式文件:https://doitong.com/zh-TW/developers/models/ltx23-trainer-v2/a2v.md
POST https://api.doitong.ru/v1/run/ltx23-trainer-v2/a2v?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"training_data_url": "https://example.com/your-file.zip"
}
如果回應狀態為 "queued" 或 "running",請輪詢 GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20,直到狀態變為 "succeeded";檔案位於 outputs[].url。使用相同主體傳送 POST https://api.doitong.ru/v1/quote/ltx23-trainer-v2/a2v,可在執行前取得確切價格。
此請求: $12.00 12,000 API 點數 · ≈ ₽1,287.76 在此頁面執行
您的新 API 金鑰。 僅會在此時顯示,且已填入下方的程式碼與 API 金鑰欄位。請妥善保密:切勿將其放入在瀏覽器中執行的程式碼。
建立請求
控制項是根據模型結構描述生成的。變更設定時,程式碼和價格會同步更新。
POST
/run/ltx23-trainer-v2/a2v?wait=20
報價 → $12.00
# 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/a2v?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/a2v?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/a2v", 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/a2v",
"input": {
"training_data_url": "https://example.com/your-file.zip"
},
"wait_seconds": 20
}
}
}
關於 LTX 2.3 Trainer (V2) - Audio-to-Video
從 `training_data_url` 中的 `.zip` 訓練資料訓練音訊轉影片的 LoRA。`rank` 為 8 到 128,`number_of_steps` 為 100 到 10000,`number_of_frames` 為 9 到 121。`validation` 最多接受 2 個項目,每個項目包含條件音訊軌道。輸出 LoRA 權重、設定檔和可選的預覽。
參數
名稱類型
預設值允許值
說明
training_data_url必填
類型string
包含訓練資料的 `.zip` URL,資料依選取的訓練模式組織。每個媒體檔案可搭配具有相同基本名稱的 `.txt` 說明檔。
rank選填
類型enum
預設值32
8163264128
LoRA 適配階數;設定越高,記憶體消耗越大,但容量也越高。
number_of_steps選填
類型integer
預設值2000
100 – 10,000
訓練步驟總數。
learning_rate選填
類型number
預設值0.0002
0.000001 – 1
最佳化學習率。
number_of_frames選填
類型integer
預設值89
9 – 121
每個訓練樣本的影格數。將數量除以 8 後餘數必須為 1;例如 1、9、17、25、33、41、49、57、65、73、81、89、97。
frame_rate選填
類型integer
預設值24
8 – 60
訓練影片的目標影格率(每秒影格數)。LTX-2.3 的原生速率為 24。
resolution選填
類型enum
預設值medium
lowmediumhigh
訓練解析度。提高解析度會增加記憶體需求。
aspect_ratio選填
類型enum
預設值1:1
16:91:19:16
訓練長寬比。
trigger_phrase選填
類型string
預設值
LoRA 風格啟用片語,訓練時插入說明的開頭。
auto_scale_input選填
類型boolean
預設值false
啟用後自動調整影片,以符合要求的 FPS 與影格數;圖像資料集不會變更。
split_input_into_scenes選填
類型boolean
預設值false
超過時長門檻之合成訓練影片的場景分割。為 true 時,會在組合起始圖像與音訊後分割。
split_input_duration_threshold選填
類型number
預設值30
1 – 60
以秒數表示的場景分割觸發門檻:只有長於該門檻的影片才會分割。
debug_dataset選填
類型boolean
預設值false
預處理檢查模式,用於完整訓練前檢查影片、圖像與說明。啟用後,訓練器會將處理過的訓練資料集放入可下載的封存檔,供手動檢查。
audio_normalize選填
類型boolean
預設值true
條件音訊的峰值正規化,以維持整個資料集的一致音量。
audio_preserve_pitch選填
類型boolean
預設值true
調整音訊以符合影片長度時保留音高,而非裁切或補齊。
validation選填
類型object[]
預設值[]
≤ 2 個項目
驗證提示詞清單,每個提示詞配對一個條件音訊軌。
validation[].prompt必填
類型string
驗證期間使用的提示詞。
validation[].image_url必填
類型url · image
≥ 1 characters
a2v 直接用作第一個影格的圖像 URL,而非生成該影格。a2v 圖像與音訊轉影片流程會同時使用提供的音訊與此圖像作為條件。
validation[].audio_url必填
類型url · audio
≥ 1 characters
用於驅動影片生成的條件音訊 URL。
validation_negative_prompt選填
類型string
預設值blurry, out of focus, overexposed, underexposed, low contrast, washed out colors, excessive noise, grainy texture, poor lighting, flickering, motion blur, distorted proportions, unnatural skin tones, deformed facial features, asymmetrical face, missing facial features, extra limbs, disfigured hands, wrong hand count, artifacts around text, inconsistent perspective, camera shake, incorrect depth of field, background too sharp, background clutter, distracting reflections, harsh shadows, inconsistent lighting direction, color banding, cartoonish rendering, 3D CGI look, unrealistic materials, uncanny valley effect, incorrect ethnicity, wrong gender, exaggerated expressions, wrong gaze direction, mismatched lip sync, silent or muted audio, distorted voice, robotic voice, echo, background noise, off-sync audio, incorrect dialogue, added dialogue, repetitive speech, jittery movement, awkward pauses, incorrect timing, unnatural transitions, inconsistent framing, tilted camera, flat lighting, inconsistent tone, cinematic oversaturation, stylized filters, or AI artifacts.
驗證期間套用的負面提示詞;驗證使用單階段預覽流程。由於該流程近似兩階段的蒸餾生產推論,其引導方式與預覽品質會不同於最終結果。
validation_number_of_frames選填
類型integer
預設值89
9 – 121
每部驗證影片的影格數。
validation_frame_rate選填
類型integer
預設值24
8 – 60
驗證影片的目標影格率(每秒影格數);LTX-2.3 的原生速率為 24。
validation_resolution選填
類型enum
預設值high
lowmediumhigh
驗證期間使用的解析度。
validation_aspect_ratio選填
類型enum
預設值1:1
16:91:19:16
驗證期間使用的長寬比。
stg_scale選填
類型number
預設值1
0 – 3
時空引導(STG)比例;建議使用 1.0,0.0 會關閉 STG。
必填
輸出
GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "ltx23-trainer-v2/a2v",
"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": 12000,
"usd": "12.00",
"charged": 12000,
"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"
}
}
您的檔案,由您選擇每個 outputs[].url 都是儲存空間中的副本:可永久保留(按 GB-月計費),或免費保留 7 天;可透過帳戶設定或 ?storage= 設定。
所有模型使用相同結構圖片、影片和音訊皆包含 type、url、content_type、width、height 和 duration。output 是模型自己的結果物件。
輸出欄位
- video
- object {url, content_type, file_name, file_size} | null驗證產生的合併影片預覽;對可產生影片的端點,若有提供則包含此欄位。
- audio
- object {url, content_type, file_name, file_size} | null驗證產生的合併音訊;對以下音訊專用路由,若有提供則作為預覽:/audio-inpaint、/audio-extend-suffix、/audio-extend-prefix、/t2a、/a2a 與 /v2a。
- lora_file
- object {url, content_type, file_name, file_size}`.safetensors` 格式訓練 LoRA 權重的 URL。
- config_file
- object {url, content_type, file_name, file_size}推論端點設定的組態。
- debug_dataset
- object {url, content_type, file_name, file_size} | null啟用 `debug_dataset` 時可用的除錯輸出:可下載且包含預處理後訓練資料的封存檔。
其他 LTX 2.3 Trainer 變體
更多模型:訓練
給 AI 代理程式:此頁面的 Markdown 位於 https://doitong.com/zh-TW/developers/models/ltx23-trainer-v2/a2v.md. 所有模型與指南: https://doitong.com/developers/llms.txt