# LTX-Video 13B 0.9.8 Distilled · Extend API

> Ymestyn fideo presennol gyda'r model 13B distylliedig 0.9.8, wedi'i lywio gan brompt testun

Parhau â chlip a basiwyd yn `video`, wedi'i lywio gan `prompt` gofynnol. Y cydraniad yw 480p neu 720p, a gall `aspect_ratio` fod yn auto, 9:16, 1:1 neu 16:9. Mae `num_frames` yn amrywio o 9 i 1441. Mae `constant_rate_factor` (0 i 51) yn cywasgu'r mewnbwn i gyd-fynd yn well â'r data hyfforddi, ac mae `loras` yn derbyn pwysau personol.

- Model id: `ltxv-13b-098-distilled/extend`
- Made by: Lightricks
- Category: Video to Video
- Output: video
- Price per second of your output video: from $0.02 / second of output video (cheapest run $0.02 (20 API credits))
- Run: `POST https://api.doitong.ru/v1/run/ltxv-13b-098-distilled/extend`
- Quote: `POST https://api.doitong.ru/v1/quote/ltxv-13b-098-distilled/extend`
- Docs page: https://doitong.com/cy/developers/models/ltxv-13b-098-distilled/extend

## Pricing

Price: **from $0.02 / second of output video** (the lowest tier; the quote prices your exact input). Price per second of your output video: the input files are measured before the run (length, resolution, frame rate). The quote measures the same files and is exactly what the run charges.

The full example input below costs $0.101 = 101 API credits (5.0417 s output video × $0.02).

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/ltxv-13b-098-distilled/extend` 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 |
|---|---|---|---|---|---|---|
| `prompt` |  | string | yes |  |  | Cyfarwyddiadau testun sy’n arwain cynhyrchu. |
| `negative_prompt` |  | string | no | `worst quality, inconsistent motion, blurry, jittery, distorted` |  | Cyfarwyddiadau testun negyddol ar gyfer cynhyrchu. |
| `loras` |  | array of object {path, weight_name, scale} | no | `[]` |  | Pwysoliadau LoRA a gymhwysir wrth gynhyrchu. |
| `loras[].path` |  | string | yes |  |  | Lleoliad y pwysoliadau LoRA, wedi’i roi fel URL neu lwybr. |
| `loras[].weight_name` |  | string \| null | no |  |  | Enw pwysau LoRA ar gyfer dewis rhwng pwysau lluosog mewn ystorfa HuggingFace; dim ond ystorfeydd sy'n cynnwys pwysau lluosog sydd ei angen. Nid yw'r gosodiad hwn yn cael effaith oni bai bod `path` yn dynodi ystorfa HuggingFace. |
| `loras[].scale` |  | number | no | `1` | 0 – 4 | Lluosydd sy’n graddio pwysoliad LoRA wrth ei lwytho. |
| `resolution` |  | enum (string) | no | `720p` | `480p`, `720p` | Cydraniad yr allbwn fideo. |
| `aspect_ratio` |  | enum (string) | no | `auto` | `9:16`, `1:1`, `16:9`, `auto` | Cymhareb agwedd y fideo. |
| `seed` |  | integer \| null | no |  |  | Hedyn sy’n rheoli hap wrth gynhyrchu. |
| `num_frames` |  | integer | no | `121` | 9 – 1,441 | Cyfanswm cyfrif fframiau’r fideo. |
| `first_pass_num_inference_steps` |  | integer | no | `8` | 2 – 12 | Cyfrif camau casglu ar gyfer y pas cyntaf. |
| `second_pass_num_inference_steps` |  | integer | no | `8` | 2 – 12 | Cyfrif camau casglu ar gyfer yr ail bas. |
| `second_pass_skip_initial_steps` |  | integer | no | `5` | 1 – 11 | Cyfrif cychwynnol camau casglu i’w hepgor yn ystod yr ail bas, gan symud y pas hwnnw tuag at waith manylder mân yn hytrach na newidiadau ar raddfa fawr. |
| `frame_rate` |  | integer | no | `24` | 1 – 60 | Cyfradd ffrâm y fideo. |
| `expand_prompt` |  | boolean | no | `false` |  | Ehangu anogiad drwy fodel iaith. |
| `reverse_video` |  | boolean | no | `false` |  | Gwrthdroi trefn chwarae’r fideo. |
| `enable_safety_checker` |  | boolean | no | `true` |  | Switsh gwirio diogelwch y caiff ei osodiad diffodd ei barchu ar gyfer cyfrifon awdurdodedig yn unig. Mae pob cais heb yr awdurdodiad hwnnw yn cael gwiriadau diogelwch. |
| `enable_detail_pass` |  | boolean | no | `false` |  | Ail bas mireinio dewisol sy’n gwella manylion fideo pan gaiff ei alluogi. |
| `temporal_adain_factor` |  | number | no | `0.5` | 0 – 1 | Cryfder normaleiddio enghraifft addasol (AdaIN), gan gydbwyso cysondeb lliw ar osodiadau uwch yn erbyn mwy o amrywiad lliw ar osodiadau is. Mae’n gweithredu ar ddarnau a gynhyrchir ac eithrio’r cyntaf, gan normaleiddio dosbarthiadau lliw drwy’r fideo i helpu i wrthbwyso cynnydd graddol mewn dirlawnder neu gyferbyniad. |
| `tone_map_compression_ratio` |  | number | no | `0` | 0 – 1 | Lefel cywasgu mapio tôn, yn amrywio o ddim cywasgu ar 0.0 i gywasgu mwyaf ar 1.0. Mae cywasgu ystod ddeinamig y fideo fel hyn yn gwella ansawdd gweledol. |
| `constant_rate_factor` |  | integer | no | `29` | 0 – 51 | Ffactor cyfradd gyson (CRF) a ddefnyddir ar gyfer cywasgu mewnbwn, a all wella ansawdd symudiad drwy ddod â’r cyfryngau a ddarperir yn nes at ddata hyfforddi’r model. |
| `video` |  | object {video_url, start_frame_num, strength, limit_num_frames, max_num_frames, resample_fps, target_fps, reverse_video} | yes |  |  | Fideo ffynhonnell ar gyfer estyniad. |
| `video.video_url` |  | string (video URL) | yes |  |  | Fideo cyflyru a ddarperir drwy URL. |
| `video.start_frame_num` |  | integer | no | `0` | 0 – 1,440 | Safle cychwyn cyflyru yn y fideo, wedi’i nodi fel rhif ffrâm sy’n rhanadwy â 8. |
| `video.strength` |  | number | no | `1` | 0 – 1 | Dwysedd cyflyru: mae 0.0 yn analluogi cyflyru, tra bod 1.0 yn ei gymhwyso’n llawn. |
| `video.limit_num_frames` |  | boolean | no | `false` |  | Switsh terfyn fframiau fideo: mae ei alluogi’n gwneud `max_num_frames` yn derfyn ar y fframiau a gymerir o’r fideo. |
| `video.max_num_frames` |  | integer | no | `1441` | 1 – 1,441 | Terfyn ar y fframiau fideo a ddefnyddir, gyda None yn dewis y fideo cyfan yn hytrach na chyfrif fframiau cyfyngedig. |
| `video.resample_fps` |  | boolean | no | `false` |  | Switsh trosi cyfradd ffrâm fideo: mae ei alluogi’n ailddosbarthu’r fideo ar y gyfradd a nodir gan `target_fps`. |
| `video.target_fps` |  | integer | no | `24` | 1 – 60 | Cyfradd ffrâm ailddosbarthu mewn FPS, sy’n berthnasol dim ond gyda `resample_fps` wedi’i alluogi. |
| `video.reverse_video` |  | boolean | no | `false` |  | Gwrthdroi trefn y fideo ar gyfer tasgau lle mae angen i’r cyflyru ddilyn y fframiau am yn ôl. |

## Example input

Required parameters only:

```json
{
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
  "video": {
    "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
  }
}
```

A fuller example:

```json
{
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
  "video": {
    "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
  }
}
```

## 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/ltxv-13b-098-distilled/extend?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "video": {
      "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
    }
  }'

# 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/ltxv-13b-098-distilled/extend?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "video": {
      "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
    }
  }),
});
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 = {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "video": {
        "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    },
}

# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/ltxv-13b-098-distilled/extend", 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": "ltxv-13b-098-distilled/extend",
      "input": {
        "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
        "video": {
          "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
        }
      },
      "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": "ltxv-13b-098-distilled/extend",
  "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": 101,
    "usd": "0.101",
    "charged": 101,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "video": {
      "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
    }
  },
  "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
    },
    "prompt": "Woman walking on a street in Tokyo",
    "seed": 42
  },
  "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"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `video` | object {url, content_type, file_name, file_size} | Ffeil fideo a gynhyrchir. |
| `prompt` | string | Anogiad a ddefnyddiwyd i gynhyrchu'r allbwn. |
| `seed` | integer | Gwerth hedyn a gymhwysir wrth gynhyrchu. |

## Related models

- [LTX-Video 13B 0.9.8 Distilled](https://doitong.com/developers/models/ltxv-13b-098-distilled.md) (`ltxv-13b-098-distilled`): from $0.02 / second of output video
- [LTX-Video 13B 0.9.8 Distilled · Image to Video](https://doitong.com/developers/models/ltxv-13b-098-distilled/image-to-video.md) (`ltxv-13b-098-distilled/image-to-video`): from $0.02 / second of output video
- [LTX-Video 13B 0.9.8 Distilled · Multiconditioning](https://doitong.com/developers/models/ltxv-13b-098-distilled/multiconditioning.md) (`ltxv-13b-098-distilled/multiconditioning`): from $0.02 / second of output video
- [Ltx 2.3](https://doitong.com/developers/models/ltx-2.3/reframe.md) (`ltx-2.3/reframe`): from $0.10 / second of input video
- [LTX 2.3 22B](https://doitong.com/developers/models/ltx-2.3-22b/reference-video-to-video/lora.md) (`ltx-2.3-22b/reference-video-to-video/lora`): $0.00181 / megapixel of output video
- [Ltx 2.3 Quality · Clean Plate](https://doitong.com/developers/models/ltx-2.3-quality/clean-plate.md) (`ltx-2.3-quality/clean-plate`): $0.00241 / megapixel of output video
- [Ltx 2.3 Quality · Colorization](https://doitong.com/developers/models/ltx-2.3-quality/colorization.md) (`ltx-2.3-quality/colorization`): $0.00241 / megapixel of output video
- [Ltx 2.3 Quality · Cross Eyed](https://doitong.com/developers/models/ltx-2.3-quality/cross-eyed.md) (`ltx-2.3-quality/cross-eyed`): $0.00241 / megapixel of output video

## Links

- HTML page: https://doitong.com/developers/models/ltxv-13b-098-distilled/extend
- 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=ltxv-13b-098-distilled/extend
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.ru/v1/models/ltxv-13b-098-distilled/extend
