Skip to content

LTX 2.3 Trainer (V2) - Keyframe Interpolation

Integrate

Model id ltx23-trainer-v2/interpolate
# 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/ltx23-trainer-v2/interpolate?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.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: $4.80 4,800 API credits Run it on this page

Get API key
Lightricks · File

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

resolution default medium

Training resolution. Increasing the resolution raises memory requirements.

aspect_ratio default 1:1

Training aspect ratio.

•required

URL for a `.zip` containing training data, organized according to the selected training mode. Each media file may have an accompanying `.txt` caption with a matching base name.

default 2000

Total count of training steps.

Advanced validation_negative_prompt · rank · validation_resolution · validation_aspect_ratio · trigger_phrase · learning_rate · number_of_frames · frame_rate · split_input_duration_threshold · validation_number_of_frames · validation_frame_rate · stg_scale · auto_scale_input · split_input_into_scenes · debug_dataset · include_middle_keyframe · validation
default blurry, out of focus,...

Negative prompt applied during validation, which uses a single-stage preview process. Because that process approximates distilled production inference with two stages, its guidance and preview quality differ from the final results.

rank default 32

LoRA adaptation rank, trading increased memory consumption for greater capacity as the setting rises.

validation_resolution default high

Resolution used during validation.

validation_aspect_ratio default 1:1

Aspect ratio used during validation.

default

LoRA style activation phrase, inserted at the start of captions during training.

default 0.0002

Optimization learning rate.

default 89

Frame count for each training sample. Dividing the count by 8 must leave a remainder of 1; examples include 1, 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97.

default 24

Training video's target frame rate in frames per second. The native rate for LTX-2.3 is 24.

default 30

Scene-splitting trigger expressed as a duration in seconds: only videos longer than the threshold are split.

default 89

Frame count for each validation video.

default 24

Target frame rate for validation videos, in frames per second; LTX-2.3 runs natively at 24.

default 1

Spatio-Temporal Guidance (STG) scale, with 1.0 recommended and 0.0 turning STG off.

default []

Validation data supplied as a list; an entry combines keyframe images with a prompt.

POST /run/ltx23-trainer-v2/interpolate?wait=20 quote → $4.80
# 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/ltx23-trainer-v2/interpolate?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.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About LTX 2.3 Trainer (V2) - Keyframe Interpolation

Trains a LoRA for keyframe interpolation: at inference you supply first and last frames and the model generates the video in between. Enable `include_middle_keyframe` to train on first, middle and last frames; every validation sample must then provide `middle_image_url`. Data comes as a zip via `training_data_url`, with up to 2 validation entries.

Parameters

NameType DefaultAllowed Description
training_data_urlrequired
Typestring
URL for a `.zip` containing training data, organized according to the selected training mode. Each media file may have an accompanying `.txt` caption with a matching base name.
rankoptional
Typeenum
Default32
8163264128
LoRA adaptation rank, trading increased memory consumption for greater capacity as the setting rises.
number_of_stepsoptional
Typeinteger
Default2000
100 – 10,000
Total count of training steps.
learning_rateoptional
Typenumber
Default0.0002
0.000001 – 1
Optimization learning rate.
number_of_framesoptional
Typeinteger
Default89
9 – 121
Frame count for each training sample. Dividing the count by 8 must leave a remainder of 1; examples include 1, 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97.
frame_rateoptional
Typeinteger
Default24
8 – 60
Training video's target frame rate in frames per second. The native rate for LTX-2.3 is 24.
resolutionoptional
Typeenum
Defaultmedium
lowmediumhigh
Training resolution. Increasing the resolution raises memory requirements.
aspect_ratiooptional
Typeenum
Default1:1
16:91:19:16
Training aspect ratio.
trigger_phraseoptional
Typestring
Default
LoRA style activation phrase, inserted at the start of captions during training.
auto_scale_inputoptional
Typeboolean
Defaultfalse
Automatic video adjustment to match the requested FPS and frame count when enabled; image datasets remain unchanged.
split_input_into_scenesoptional
Typeboolean
Defaulttrue
Scene splitting for videos exceeding a duration threshold, enabled when true.
split_input_duration_thresholdoptional
Typenumber
Default30
1 – 60
Scene-splitting trigger expressed as a duration in seconds: only videos longer than the threshold are split.
debug_datasetoptional
Typeboolean
Defaultfalse
Preprocessing inspection mode for checking videos, images, and captions before a full training run. Enabling it makes the trainer return the processed training dataset in a downloadable archive for manual review.
validationoptional
Typeobject[]
Default[]
≤ 2 items
Validation data supplied as a list; an entry combines keyframe images with a prompt.
validation[].promptrequired
Typestring
Prompt used during validation.
validation[].start_image_urlrequired
Typeurl · image
≥ 1 characters
Keyframe image URL for the initial frame.
validation[].end_image_urlrequired
Typeurl · image
≥ 1 characters
Keyframe image URL for the final frame.
validation[].middle_image_urloptional
Typeurl · image
Middle-keyframe image URL for first+middle+last interpolation. Runs with `include_middle_keyframe=true` require it; otherwise, it is optional.
validation_negative_promptoptional
Typestring
Defaultblurry, 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.
Negative prompt applied during validation, which uses a single-stage preview process. Because that process approximates distilled production inference with two stages, its guidance and preview quality differ from the final results.
validation_number_of_framesoptional
Typeinteger
Default89
9 – 121
Frame count for each validation video.
validation_frame_rateoptional
Typeinteger
Default24
8 – 60
Target frame rate for validation videos, in frames per second; LTX-2.3 runs natively at 24.
validation_resolutionoptional
Typeenum
Defaulthigh
lowmediumhigh
Resolution used during validation.
validation_aspect_ratiooptional
Typeenum
Default1:1
16:91:19:16
Aspect ratio used during validation.
stg_scaleoptional
Typenumber
Default1
0 – 3
Spatio-Temporal Guidance (STG) scale, with 1.0 recommended and 0.0 turning STG off.
include_middle_keyframeoptional
Typeboolean
Defaultfalse
Middle-keyframe inclusion for video generation: true requires `middle_image_url` in every validation sample and retains the middle frame alongside the first and last, rather than using the first and last alone.
required

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "ltx23-trainer-v2/interpolate",
  "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": 4800,
    "usd": "4.80",
    "charged": 4800,
    "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.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size} | nullCombined video preview from validation, when available for endpoints that produce video.
audio
object {url, content_type, file_name, file_size} | nullCombined audio from validation, provided as a preview when available for these audio-only routes: /audio-inpaint, /audio-extend-suffix, /audio-extend-prefix, /t2a, /a2a, and /v2a.
lora_file
object {url, content_type, file_name, file_size}URL for trained LoRA weights in .safetensors format.
config_file
object {url, content_type, file_name, file_size}Configuration for inference endpoint setup.
debug_dataset
object {url, content_type, file_name, file_size} | nullDebug output available when `debug_dataset` is enabled: an archive that can be downloaded and contains the training data after preprocessing.

More models: Training

For AI agents: this page as Markdown is at https://doitong.com/developers/models/ltx23-trainer-v2/interpolate.md. All models and guides: https://doitong.com/developers/llms.txt