# Ltx 2.3 Quality · Decompression API

> Εφέ αποκατάστασης βίντεο που μειώνει τα τεχνουργήματα συμπίεσης και τον θόρυβο σε ένα κλιπ

Επεξεργάζεται ένα συμπιεσμένο βίντεο με πολλά τεχνουργήματα από `video_url` για να παράγει καθαρότερη έκδοση. Προσθέστε σύντομο `prompt` που περιγράφει τη σκηνή αν θέλετε να την καθοδηγήσετε. Επιλέξτε έξοδο 480p ή 720p· το 720p χωρά περίπου 6 δευτερόλεπτα και το 480p περίπου 15 δευτερόλεπτα. Το `num_frames` δέχεται 9 έως 481 και το `generate_audio` ελέγχει αν το αποτέλεσμα διατηρεί ηχητικό κομμάτι.

- Model id: `ltx-2.3-quality/decompression`
- Made by: Lightricks
- Category: Video to Video
- Output: video
- Price per megapixel of your output video: $0.00241 / megapixel of output video (cheapest run $0.003 (3 API credits))
- Run: `POST https://api.doitong.com/v1/run/ltx-2.3-quality/decompression`
- Quote: `POST https://api.doitong.com/v1/quote/ltx-2.3-quality/decompression`
- Docs page: https://doitong.com/el/developers/models/ltx-2.3-quality/decompression

## Pricing

Price: **$0.00241 / megapixel of output video**. Price per megapixel 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.27 = 270 API credits (112 MP output video × $0.002408).

Prices are the upstream price in USD, paid from the API balance in API credits (1000 API credits = 1 USD). `POST https://api.doitong.com/v1/quote/ltx-2.3-quality/decompression` 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

Send either the canonical name or the native field name (not both). Canonical names are the same across models.

| Parameter | Canonical name | Type | Required | Default | Allowed values / range | Description |
|---|---|---|---|---|---|---|
| `video_url` | `video` | string (video URL) | yes |  |  | URL που προσδιορίζει το βίντεο πηγής για μετασχηματισμό. |
| `prompt` |  | string | no | `` |  | Προαιρετική σύντομη περιγραφή σκηνής ή περιεχομένου που αντικαθιστά τη γενική περιγραφή όταν είναι κενή. Για πιο ακριβές αποτέλεσμα, το παρεχόμενο κείμενο ενσωματώνεται στη λεζάντα στην οποία εκπαιδεύτηκε το εφέ. |
| `resolution` |  | enum (string) | no | `720p` | `480p`, `720p` | Επιλέξτε την ανάλυση της μικρής πλευράς της εξόδου διατηρώντας την αναλογία διαστάσεων της πηγής: το 480p δίνει πιο απαλό αποτέλεσμα για κλιπ έως περίπου 15 δευτερόλεπτα, ενώ το 720p πιο ευκρινές για έως περίπου 6 δευτερόλεπτα. Επιλέξτε 480p για μεγαλύτερα κλιπ, επειδή η διαδρομή ελέγχου IC-LoRA περιορίζει την ανάλυση πολλαπλασιασμένη με τον αριθμό καρέ· αιτήματα που υπερβαίνουν αυτόν τον προϋπολογισμό απορρίπτονται με σαφές σφάλμα. Υπολογίστε τη διάρκεια εξόδου ως `num_frames` / `frames_per_second`. |
| `num_frames` |  | integer | no | `121` | 9 – 481 | Αριθμός καρέ εξόδου, με περιορισμό από τον προϋπολογισμό IC-LoRA για ανάλυση επί καρέ: περίπου 6 δευτερόλεπτα στα 720p ή 15 δευτερόλεπτα στα 480p. Η υπέρβαση επιστρέφει 422· μειώστε το `num_frames` ή επιλέξτε 480p. Η διάρκεια κλιπ σε δευτερόλεπτα ισούται με `num_frames` / `frames_per_second`. |
| `frames_per_second` |  | number | no | `24` | 1 – 60 | Ρυθμός καρέ βίντεο εξόδου, μετρημένος σε καρέ ανά δευτερόλεπτο. |
| `num_inference_steps` |  | integer | no | `15` | 8 – 30 | Ορίστε έως 30 βήματα inference· αν δεν αλλάξει, χρησιμοποιούνται 15. |
| `guidance_scale` |  | number | no | `1` | 1 – 20 | Ρυθμίστε το classifier-free guidance με αυτήν την κλίμακα· η προεπιλογή στοχεύει σε υψηλή ποιότητα και γρήγορη παραγωγή. |
| `generate_audio` |  | boolean | no | `true` |  | Εναλλαγή ηχητικού κομματιού για το επιστρεφόμενο MP4: απενεργοποιημένη παράγει αρχείο μόνο βίντεο, ενώ ενεργοποιημένη περιλαμβάνει ήχο. |
| `negative_prompt` |  | string | no | `color distortion, overexposure, static, blurry details, subtitles, style, artwork, painting, frame, still, dim overall tone, worst quality, low quality, JPEG compression artifacts, ugly, mutilated, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, motionless frame, cluttered background, three legs, crowded background, walking backwards` |  | Αρνητικό prompt που καθορίζει τι πρέπει να αποφεύγει η παραγωγή. |
| `seed` |  | integer \| null | no |  |  | Seed που καθιστά την παραγωγή αναπαραγώγιμη. Η ρύθμισή του σε None επιλέγει τυχαία ένα seed. |
| `enable_safety_checker` |  | boolean | no | `true` |  | Ελέγχει αν είναι ενεργοποιημένος ο έλεγχος ασφάλειας. |
| `video_quality` |  | enum (string) | no | `high` | `low`, `medium`, `high`, `maximum` | Προεπιλογή ποιότητας που εφαρμόζεται στο βίντεο εξόδου. |
| `video_write_mode` |  | enum (string) | no | `balanced` | `fast`, `balanced`, `small` | Λειτουργία εγγραφής για το βίντεο που προκύπτει. |

File parameters (`video`) take a public `https://` URL, a `data:` URI up to 10 MB, or the `file_url` of an upload from `POST /files`.

## Example input

Required parameters only:

```json
{
  "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}
```

A fuller example:

```json
{
  "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.com/v1/run/ltx-2.3-quality/decompression?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "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.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
```

### JavaScript

```javascript
const API = "https://api.doitong.com/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/ltx-2.3-quality/decompression?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}

payload = {
    "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/ltx-2.3-quality/decompression", 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.com/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": "ltx-2.3-quality/decompression",
      "input": {
        "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": "ltx-2.3-quality/decompression",
  "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": 270,
    "usd": "0.27",
    "charged": 270,
    "refunded": 0
  },
  "input": {
    "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
    },
    "seed": 42,
    "prompt": "string"
  },
  "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.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `video` | object {url, content_type, file_name, file_size} | Βίντεο που παράγεται από το μοντέλο. |
| `seed` | integer | Το seed που εφαρμόστηκε κατά την παραγωγή. |
| `prompt` | string | Prompt παραγωγής, συμπεριλαμβανομένης κάθε επέκτασης που εφαρμόστηκε πριν από τη χρήση. |

## Related models

- [Ltx 2.3 Quality · Text to Video](https://doitong.com/developers/models/ltx-2.3-quality/text-to-video.md) (`ltx-2.3-quality/text-to-video`): $0.00241 / megapixel of output video
- [Ltx 2.3 Quality · Text to Video · LoRA](https://doitong.com/developers/models/ltx-2.3-quality/text-to-video/lora.md) (`ltx-2.3-quality/text-to-video/lora`): $0.00271 / megapixel of output video
- [Ltx 2.3 Quality · Image to Video](https://doitong.com/developers/models/ltx-2.3-quality/image-to-video.md) (`ltx-2.3-quality/image-to-video`): $0.00241 / megapixel of output video
- [Ltx 2.3 Quality · Image to Video · LoRA](https://doitong.com/developers/models/ltx-2.3-quality/image-to-video/lora.md) (`ltx-2.3-quality/image-to-video/lora`): $0.00271 / megapixel of output video
- [Ltx 2.3 Quality · Ingredient](https://doitong.com/developers/models/ltx-2.3-quality/ingredient.md) (`ltx-2.3-quality/ingredient`): $0.00241 / 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/ltx-2.3-quality/decompression
- 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=ltx-2.3-quality/decompression
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.com/v1/models/ltx-2.3-quality/decompression
