# 3d render to real

Transform your 3D video render into realistic using first frame with Ltx 2.3

### Table of contents

1. **Calling the API**
   - Install the client
   - Setup your API Key
   - Submit a request

2. **Authentication**
   - API Key

3. **Queue**
   - Submit a request
   - Fetch request status
   - Get the result

4. **Files**
   - Data URI (base64)
   - Hosted files (URL)
   - Uploading files

5. **Schema**
   - Input
   - Output
   - Other

### About

Turn a stylized 3D / CG / game render into photorealistic footage.

Shares the effect IC-LoRA machinery (raw render into the Union Control guide, render-to-real adapter on node 5011, size auto from the render capped to the stable IC-LoRA budget), plus an optional first-frame image anchor (image-to-video) matching training. The caller writes the prompt (starting with the `3DREAL` trigger). Prompt expansion runs when the caller enables it, but the `3DREAL` trigger is always guaranteed in the final prompt (which is returned in the output).

### 1. Calling the API

#### Install the client

The client provides a convenient way to interact with the model API.

```
npm install --save @fal-ai/client
```

#### Setup your API Key

Set `FAL_KEY` as an environment variable in your runtime.

```
export FAL_KEY="YOUR_API_KEY"
```

#### Submit a request

The client API handles the API submit protocol. It will handle the request status updates and return the result when the request is completed.

```
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/ltx-2.3-quality/render-to-real", {
  input: {
    video_url: "https://v3b.fal.media/files/b/0a8824b1/sdm0KfmenrlywesfzY1Y1_if6euPp1.mp4"
  },
  logs: true,
  onQueueUpdate: (update) => {
    if (update.status === "IN_PROGRESS") {
      update.logs.map((log) => log.message).forEach(console.log);
    }
  },
});
console.log(result.data);
console.log(result.requestId);
```

## 2. Authentication

The API uses an API Key for authentication. It is recommended you set the `FAL_KEY` environment variable in your runtime when possible.

#### API Key

In case your app is running in an environment where you cannot set environment variables, you can set the API Key manually as a client configuration.

```
import { fal } from "@fal-ai/client";

fal.config({
  credentials: "YOUR_FAL_KEY"
});
```

### 3. Queue

#### Submit a request

The client API provides a convenient way to submit requests to the model.

```
import { fal } from "@fal-ai/client";

const { request_id } = await fal.queue.submit("fal-ai/ltx-2.3-quality/render-to-real", {
  input: {
    video_url: "https://v3b.fal.media/files/b/0a8824b1/sdm0KfmenrlywesfzY1Y1_if6euPp1.mp4"
  },
  webhookUrl: "https://optional.webhook.url/for/results"
});
```

### 4. Files

Some attributes in the API accept file URLs as input. Whenever that's the case you can pass your own URL or a Base64 data URI.

#### Data URI (base64)

You can pass a Base64 data URI as a file input. The API will handle the file decoding for you.

### 5. Schema

#### Input
`video_url` string * required
The URL of the 3D / CG / game render to make photorealistic.

`intensity` IntensityEnum
How hard to push the render toward photorealism.

Default value: "light"
Possible enum values: light, strong, strong-v2.

`detail_refine_strength` float
Denoise strength of the detailer pass.

Default value: 0.75

`prompt` string
The text prompt, pre-filled with the `3DREAL` trigger the adapter activates on.

Default value: "3DREAL. "

`resolution` ResolutionEnum
Output resolution (short side), preserving the source aspect ratio.
Default value: "720p"
Possible enum values: 480p, 720p.

`num_frames` integer
The number of output frames.

Default value: 121

`frames_per_second` float
Frames per second of the generated video.

Default value: 24

`num_inference_steps` integer
Number of inference steps.

Default value: 15

`guidance_scale` float
Classifier-free guidance scale.

Default value: 1

`generate_audio` boolean
Whether to include audio in the returned video.

Default value: true

`negative_prompt` string
The negative prompt to steer generation away from.

Default value: according to the requirements.

`enable_safety_checker` boolean
Whether to enable the safety checker.

Default value: true

`video_quality` VideoQualityEnum
The quality preset of the generated video.

Default value: "high"
Possible enum values: low, medium, high, maximum.

`video_write_mode` VideoWriteModeEnum
The write mode of the generated video.

Default value: "balanced"
Possible enum values: fast, balanced, small.

`sync_mode` boolean
If True, the media is returned as a data URI inline in the response.
