# LTX 2.3 Trainer (V2) - Masked Audio+Video Transformation API

> Trèanaichidh e LoRA a lìonas raon bhidio masgaichte bho iomradh bhidio fhad ’s a ghineas e fuaim bho iomradh fuaime

Ionnsaichidh e ath-dhealbhadh a dhèanamh air an raon masgaichte de chriomag a-mhàin. Bidh na piogsail gun mhasg agus bhidio iomraidh a’ stiùireadh na dealbh, agus bidh iomradh fuaime a’ stiùireadh an fhuaim a thèid a ghineadh. Feumaidh gach sampall trèanaidh triplet tòiseachaidh, deireannach agus masg anns an zip `training_data_url`, agus mar sin tha sgaradh sheallaidhean à comas a ghnàth. Tha an àireamh de fhrèamaichean gach sampall eadar 9 agus 121, agus gabhaidh dearbhadh ri suas ri 2 inntrigeadh.

- Model id: `ltx23-trainer-v2/av2av-masked`
- Made by: Lightricks
- Category: Training
- Output: file
- Price: $0.0068 / step (cheapest run $13.60 (13600 API credits))
- Run: `POST https://api.doitong.ru/v1/run/ltx23-trainer-v2/av2av-masked`
- Quote: `POST https://api.doitong.ru/v1/quote/ltx23-trainer-v2/av2av-masked`
- Docs page: https://doitong.com/gd/developers/models/ltx23-trainer-v2/av2av-masked

## Pricing

Price: **$0.0068 / step**. Billed per training step (`number_of_steps`).

The full example input below costs $13.60 = 13600 API credits (2000 steps × 6.8 API credits).

Prices are the upstream price in USD, paid from the API balance in API credits (1000 API credits = 1 USD). `POST https://api.doitong.ru/v1/quote/ltx23-trainer-v2/av2av-masked` with the same JSON body returns the exact price for that input; the quote is exactly what a run charges. Invalid input is never charged and failed or canceled requests are refunded automatically.

## Input parameters

| Parameter | Canonical name | Type | Required | Default | Allowed values / range | Description |
|---|---|---|---|---|---|---|
| `training_data_url` |  | string | yes |  |  | URL airson `.zip` anns a bheil dàta trèanaidh, air a chur air dòigh a rèir a’ mhodh trèanaidh thaghte. Faodaidh caption `.txt` co-cheangailte le bun-ainm co-ionann a bhith aig gach faidhle mheadhanan. |
| `rank` |  | enum (integer) | no | `32` | `8`, `16`, `32`, `64`, `128` | Rang atharrachaidh LoRA, ag iomlaid barrachd caitheamh cuimhne airson comas nas motha mar a dh’èireas an suidheachadh. |
| `number_of_steps` |  | integer | no | `2000` | 100 – 10,000 | Àireamh iomlan de cheumannan trèanaidh. |
| `learning_rate` |  | number | no | `0.0002` | 0.000001 – 1 | Ìre ionnsachaidh optimization. |
| `number_of_frames` |  | integer | no | `89` | 9 – 121 | Àireamh frèam airson gach sampall trèanaidh. Feumaidh roinneadh na h-àireimh le 8 còrr de 1 fhàgail; tha eisimpleirean a’ gabhail a-steach 1, 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97. |
| `frame_rate` |  | integer | no | `24` | 8 – 60 | Ìre frèam targaid bhidio trèanaidh ann am frèaman gach diog. Is e an ìre dhùthchasach airson LTX-2.3 24. |
| `resolution` |  | enum (string) | no | `medium` | `low`, `medium`, `high` | Dùmhlachd-bhreacaidh trèanaidh. Le bhith ag àrdachadh na dùmhlachd-bhreacaidh àrdaichear riatanasan cuimhne. |
| `aspect_ratio` |  | enum (string) | no | `1:1` | `16:9`, `1:1`, `9:16` | Co-mheas-taobhan trèanaidh. |
| `trigger_phrase` |  | string | no | `` |  | Abairt gnìomhachaidh stoidhle LoRA, air a cur aig toiseach nan captions rè trèanaidh. |
| `auto_scale_input` |  | boolean | no | `false` |  | Atharrachadh bhidio fèin-obrachail gus a bhith a rèir an FPS agus àireamh frèam a chaidh iarraidh nuair a tha e air; bidh seataichean-dàta ìomhaighe gun atharrachadh. |
| `split_input_into_scenes` |  | boolean | no | `false` |  | Tha sgoltadh sheallaidhean à comas ann an av2av masgaichte gus an triplet _start/_end/_mask a chumail sioncronaichte. Feumar criomagan a sgoltadh ro-làimh; chan eil ullachadh target/reference/mask a’ toirt aire don t-suidheachadh sgoltadh-sheallaidhean. |
| `split_input_duration_threshold` |  | number | no | `30` | 1 – 60 | Trigger sgaradh sheallaidhean air a chur an cèill mar fhad ann an diogan: cha tèid ach bhidiothan nas fhaide na an stairsneach a sgaradh. |
| `debug_dataset` |  | boolean | no | `false` |  | Modh sgrùdaidh ro-ghiullachd airson bhidiothan, ìomhaighean agus captions a dhearbhadh ro ruith trèanaidh iomlan. Le bhith ga chur an comas tillidh an trèanair an seata-dàta trèanaidh giullaichte ann an tasglann a ghabhas luchdadh a-nuas airson sgrùdadh làimhe. |
| `audio_normalize` |  | boolean | no | `true` |  | Normalachadh stùc claisneachd gus ìrean co-sheasmhach a chumail air feadh an t-seata-dàta. |
| `audio_preserve_pitch` |  | boolean | no | `true` |  | Gleidheadh pitch fhad ’s a thathar ag atharrachadh claisneachd gus a bhith a rèir fad a’ bhidio seach a bearradh. |
| `validation` |  | array of object {prompt, video_url, mask_url, reference_video_url, reference_audio_url} | no | `[]` | ≤ 2 items | Liosta in-chur dearbhaidh; tha masg, bhidio tùsail, prompt agus bhidio iomraidh le claisneachd anns gach innteart. |
| `validation[].prompt` |  | string | yes |  |  | Prompt a thèid a chleachdadh rè dearbhaidh. |
| `validation[].video_url` |  | string (video URL) | yes |  | ≥ 1 characters | URL a’ bhidio thùsail airson an raon masgaichte ath-ghineadh fhad ’s a thathar a’ gleidheadh nam piogsail tùsail air feadh an raoin gun masg. |
| `validation[].mask_url` |  | string (image URL) | yes |  | ≥ 1 characters | Masg air a sholarachadh tro URL mar ìomhaigh no bhidio, a’ cleachdadh dubh airson raointean a dh’fhanas gun atharrachadh agus geal airson raointean ri ath-ghineadh. |
| `validation[].reference_video_url` |  | string (video URL) | yes |  | ≥ 1 characters | URL a’ bhidio iomraidh airson bhidio agus claisneachd ath-ghinte a stiùireadh. Tha slighe claisneachd a’ bhidio cuideachd a’ solarachadh na h-iomraidh claisneachd. |
| `validation[].reference_audio_url` |  | string (audio URL) \| null | no |  |  | Faodar slighe claisneachd `reference_video_url` a chur na h-àite le bhith a’ toirt seachad URL airson faidhle claisneachd iomraidh fa leth. |
| `validation_negative_prompt` |  | string | no | `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.` |  | Prompt àicheil air a chur an sàs rè dearbhaidh, a bhios a’ cleachdadh pròiseas ro-sheallaidh aon-ìre. Leis gu bheil am pròiseas sin a’ dèanamh tuairmse air inference riochdachaidh distilled le dà ìre, tha an stiùireadh agus càileachd an ro-sheallaidh eadar-dhealaichte bho na toraidhean deireannach. |
| `validation_number_of_frames` |  | integer | no | `89` | 9 – 121 | Àireamh frèam airson gach bhidio dearbhaidh. |
| `validation_frame_rate` |  | integer | no | `24` | 8 – 60 | Ìre frèam targaid airson bhidiothan dearbhaidh, ann am frèaman gach diog; tha LTX-2.3 a’ ruith gu dùthchasach aig 24. |
| `validation_resolution` |  | enum (string) | no | `high` | `low`, `medium`, `high` | Dùmhlachd-bhreacaidh a thèid a chleachdadh rè dearbhaidh. |
| `validation_aspect_ratio` |  | enum (string) | no | `1:1` | `16:9`, `1:1`, `9:16` | Co-mheas-taobhan a thèid a chleachdadh rè dearbhaidh. |
| `stg_scale` |  | number | no | `1` | 0 – 3 | Sgèile Spatio-Temporal Guidance (STG), le 1.0 air a mholadh agus 0.0 a’ cur STG dheth. |

## Example input

Required parameters only:

```json
{
  "training_data_url": "https://example.com/your-file.zip"
}
```

A fuller example:

```json
{
  "training_data_url": "https://example.com/your-file.zip"
}
```

## Run it

Set `DOITONG_API_KEY` to a key from https://doitong.com/developers/dashboard#keys. `?wait=20` returns the finished request in the same call when it is ready within 20 seconds; otherwise poll `GET /requests/{id}` (it also accepts `?wait=`), or pass `webhook_url`.

### curl

```bash
# 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/av2av-masked?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"
```

### JavaScript

```javascript
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/av2av-masked?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 + ")");
```

### Python

```python
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/av2av-masked", 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"])
```

### MCP

The MCP server at `https://api.doitong.ru/v1/mcp` exposes the tools `search_models`, `get_model`, `quote`, `run`, `get_request`, `cancel_request`, `list_requests`, `create_upload` and `get_account`. A `run` call for this model:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run",
    "arguments": {
      "model_id": "ltx23-trainer-v2/av2av-masked",
      "input": {
        "training_data_url": "https://example.com/your-file.zip"
      },
      "wait_seconds": 20
    }
  }
}
```

## Response

Every call returns a request object. `status` is one of `queued`, `running`, `succeeded`, `failed`, `canceled`. `outputs` lists the generated files with URLs on our storage (kept forever, or 7 days with `?storage=temporary`; `storage` says which); `output` is the model's own result object with the same URLs.

```json
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "ltx23-trainer-v2/av2av-masked",
  "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": 13600,
    "usd": "13.60",
    "charged": 13600,
    "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"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `video` | object {url, content_type, file_name, file_size} \| null | Ro-shealladh bhidio co-mheasgaichte bho dhearbhadh, nuair a tha e ri fhaighinn airson puingean-crìche a chruthaicheas bhidio. |
| `audio` | object {url, content_type, file_name, file_size} \| null | Claisneachd cho-mheasgaichte bho dhearbhadh, air a thoirt seachad mar ro-shealladh nuair a tha e ri fhaighinn airson na slighean claisneachd a-mhàin seo: /audio-inpaint, /audio-extend-suffix, /audio-extend-prefix, /t2a, /a2a, agus /v2a. |
| `lora_file` | object {url, content_type, file_name, file_size} | URL airson cuideaman LoRA trèanaichte ann an cruth .safetensors. |
| `config_file` | object {url, content_type, file_name, file_size} | Rèiteachadh airson suidheachadh puing-crìche inference. |
| `debug_dataset` | object {url, content_type, file_name, file_size} \| null | Às-chur dì-bhugachaidh ri fhaighinn nuair a tha `debug_dataset` air: tasglann a ghabhas luchdadh a-nuas anns a bheil an dàta trèanaidh às dèidh ro-ghiullachd. |

## Related models

- [LTX 2.3 Trainer (V2) - Audio Inpainting](https://doitong.com/developers/models/ltx23-trainer-v2/audio-inpaint.md) (`ltx23-trainer-v2/audio-inpaint`): $0.0023 / step
- [LTX 2.3 Trainer (V2) - Audio+Video Reference IC-LoRA](https://doitong.com/developers/models/ltx23-trainer-v2/ic-lora/av2av.md) (`ltx23-trainer-v2/ic-lora/av2av`): $0.0068 / step
- [LTX 2.3 Trainer (V2) - Audio+Video Reference Transformation](https://doitong.com/developers/models/ltx23-trainer-v2/av2av.md) (`ltx23-trainer-v2/av2av`): $0.0068 / step
- [LTX 2.3 Trainer (V2) - Audio-to-Audio](https://doitong.com/developers/models/ltx23-trainer-v2/a2a.md) (`ltx23-trainer-v2/a2a`): $0.0023 / step
- [LTX 2.3 Trainer (V2) - Audio-to-Audio IC-LoRA](https://doitong.com/developers/models/ltx23-trainer-v2/ic-lora/a2a.md) (`ltx23-trainer-v2/ic-lora/a2a`): $0.0023 / step
- [LTX 2.3 Trainer (V2) - Audio-to-Video](https://doitong.com/developers/models/ltx23-trainer-v2/a2v.md) (`ltx23-trainer-v2/a2v`): $0.006 / step
- [LTX 2.3 Trainer (V2) - Backward Audio Extension](https://doitong.com/developers/models/ltx23-trainer-v2/audio-extend-suffix.md) (`ltx23-trainer-v2/audio-extend-suffix`): $0.0023 / step
- [LTX 2.3 Trainer (V2) - Backward Video Extension](https://doitong.com/developers/models/ltx23-trainer-v2/extend-suffix.md) (`ltx23-trainer-v2/extend-suffix`): $0.0061 / step

## Links

- HTML page: https://doitong.com/developers/models/ltx23-trainer-v2/av2av-masked
- All models and guides for AI agents: https://doitong.com/developers/llms.txt
- OpenAPI 3.1 with this model's typed request body: https://doitong.com/developers/openapi.json?model=ltx23-trainer-v2/av2av-masked
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.ru/v1/models/ltx23-trainer-v2/av2av-masked
