# Ltx 2.3 Quality · Render to Real API

> 3D-, CG- vagy játékrender-felvételek fotorealisztikus videóvá alakítása választható intenzitással

A `video_url` címen megadott 3D-renderelést valósághűbb megjelenésűvé alakítja. Az `intensity` lehet light, strong vagy strong-v2, az enyhétől az erőteljesig. Az opcionális `image_url` fotorealisztikus első képkockát állít be, az `enable_detail_refine` pedig egy második élesítési lépést ad hozzá, a `detail_refine_strength` értéke 0.3 to 0.95 lehet. A prompt megtartja a `3DREAL` aktiválót, a kimenet pedig 480p vagy 720p.

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

## Pricing

Price: **from $0.00241 / megapixel of output video** (the lowest tier; the quote prices your exact input). 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.

Price by tier:

- base rate: $0.00241 / megapixel of output video
- detail refine: $0.00963 / megapixel of output video

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.ru/v1/quote/ltx-2.3-quality/render-to-real` 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 |  |  | Fotorealisztikus átalakításhoz használt, 3D-s, CG- vagy játékból renderelt videóra mutató URL. |
| `image_url` | `image` | string (image URL) \| null | no |  |  | Opcionális képanker a 0. képkockához, amely meghatározza annak fotorealisztikus megjelenését. Nélküle csak a renderelés vezérli az eredményt; megadásakor a kép lesz az első képkocka, összhangban az adapter kép-videó tanításával. |
| `intensity` |  | enum (string) | no | `light` | `light`, `strong`, `strong-v2` | A fotorealisztikus átalakítás szintje; a `strong-v2` a legújabb, továbbfejlesztett adaptert választja a jelenetek, a hang, a beszélő karakterek és az általános minőség jobb koherenciájához. A többi lehetőségnél válaszd a `light` értéket a forrásrenderelés megjelenésének és mozgásának nagyobb megőrzéséhez, vagy a `strong` értéket az agresszívebb, fotorealizmus felé mutató változtatásokhoz. |
| `enable_detail_refine` |  | boolean | no | `false` |  | További finomítási szakaszt engedélyez az élesség és a felbontás növeléséhez; alapértelmezés szerint le van tiltva. Az alapgenerálás után egy térbeli felskálázó kétszeresére növeli a videó látens reprezentációját, majd egy rövid részletfinomító menet a desztillált modell használatával finomítja azt. |
| `detail_refine_strength` |  | number | no | `0.75` | 0.3 – 0.95 | A részletfinomító zajtalanítási erőssége, alapértelmezett értéke 0.75, és csak az `enable_detail_refine` engedélyezésekor alkalmazható. Az alaperedményt megőrző enyhébb módosításokhoz használj alacsonyabb értéket; növelése kiterjedtebb részlet-újragenerálást végez, de nagyobb eltérés kockázatával jár. |
| `prompt` |  | string | no | `3DREAL.` |  | A kívánt fotorealisztikus eredményt leíró szöveges prompt, amelyet az előre kitöltött `3DREAL` adapteraktiváló trigger után kell megadni. Sem a prompt törlése, sem a promptbővítés engedélyezése nem távolítja el ezt a triggert; mindig megmarad. |
| `resolution` |  | enum (string) | no | `720p` | `480p`, `720p` | A rövidebb oldal kimeneti felbontása a forrás képarányának megtartásával: a 480p lágyabb eredményt ad legfeljebb körülbelül 15 másodperces klipeknél, míg a 720p élesebbet legfeljebb körülbelül 6 másodpercig. Hosszabb klipekhez válaszd a 480p-t, mert az IC-LoRA vezérlési útja korlátozza a felbontás és a képkockaszám szorzatát; az ezt meghaladó kéréseket egyértelmű hibával elutasítja. A kimenet időtartama `num_frames` / `frames_per_second` képlettel számítható. |
| `num_frames` |  | integer | no | `121` | 9 – 481 | Kimeneti képkockaszám, amelyre az IC-LoRA felbontás- és képkockaszorzatra vonatkozó kerete érvényes: 720p esetén körülbelül 6 másodperc, 480p esetén 15 másodperc. A keret túllépése 422 hibát ad; csökkentsd a `num_frames` értékét, vagy válaszd a 480p-t. A klip időtartama másodpercben `num_frames` / `frames_per_second`. |
| `frames_per_second` |  | number | no | `24` | 1 – 60 | A kimeneti videó képkockasebessége, képkocka/másodpercben mérve. |
| `num_inference_steps` |  | integer | no | `15` | 8 – 30 | A futtatandó következtetési lépések száma, legfeljebb 30; változatlanul hagyva 15 lépést használ. |
| `guidance_scale` |  | number | no | `1` | 1 – 20 | A classifier-free guidance beállítása ezzel a skálával; alapértelmezett hangolása a jó minőséget és a gyors generálást egyaránt célozza. |
| `generate_audio` |  | boolean | no | `true` |  | A visszaadott MP4 hangsáv-kapcsolója: kikapcsolva csak videót tartalmazó fájlt ad, bekapcsolva hangot is. |
| `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` |  | A generálás során kerülendő tartalmat meghatározó negatív prompt. |
| `enable_prompt_expansion` |  | boolean | no | `false` |  | A generálási prompt AI-alapú bővítése, alapértelmezés szerint letiltva, így a megfogalmazásod változatlanul kerül továbbításra. A kimenet a ténylegesen használt promptot jelenti, amely mindig tartalmazza a `3DREAL` elemet; a bővítés engedélyezésekor egy AI-modell részletesebbé teszi a leírást a generálás előtt. |
| `seed` |  | integer \| null | no |  |  | A generálást reprodukálhatóvá tevő seed. A None érték véletlenszerű seedet választ. |
| `enable_safety_checker` |  | boolean | no | `true` |  | Meghatározza, hogy engedélyezve van-e a biztonsági ellenőrzés. |
| `video_quality` |  | enum (string) | no | `high` | `low`, `medium`, `high`, `maximum` | A kimeneti videóra alkalmazott minőségi előbeállítás. |
| `video_write_mode` |  | enum (string) | no | `balanced` | `fast`, `balanced`, `small` | A létrejövő videó írási módja. |

File parameters (`video`, `image`) 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.ru/v1/run/ltx-2.3-quality/render-to-real?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.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/ltx-2.3-quality/render-to-real?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.ru/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/render-to-real", 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": "ltx-2.3-quality/render-to-real",
      "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/render-to-real",
  "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.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} | A modell által létrehozott videó. |
| `seed` | integer | A generálás során ténylegesen alkalmazott seed. |
| `prompt` | string | Generálási prompt, a használat előtt alkalmazott esetleges bővítéssel együtt. |

## 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/render-to-real
- 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/render-to-real
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.ru/v1/models/ltx-2.3-quality/render-to-real
