Skip to content

Ltx 2.3 Quality · Reference Video to Video

Integrate

Model id ltx-2.3-quality/reference-video-to-video
# 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/reference-video-to-video?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": "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"

Files like the example: $0.27 270 API credits your files are measured before the run Run it on this page

Get API key
Lightricks · Video

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.

•required

Prompt used to direct generation.

•required video_url
Drop a file, or

URL pointing to a reference video used to guide motion and structure.

resolution default auto

Output video dimensions, which also affect stable duration: smaller sizes allow more frames, while larger sizes lower the maximum. Built-in control estimation keeps the size close to the official control workflow; direct control through `skip_control_preprocess` and `control_video_url` instead respects explicit dimensions with 64px alignment. In direct-control mode, `auto` inherits source dimensions and aspect ratio within LTX limits.

default 121

Output frame count, subject to an IC-LoRA stability budget based on resolution multiplied by frames. A 422 response means that budget was exceeded: lower the resolution or `num_frames`. The budget allows approximately 150 frames at 720p-class dimensions and more at smaller sizes.

Advanced negative_prompt · control_video_url · image · mid_image_url · end_image · video_quality · video_write_mode · video_strength · strength · frames_per_second · num_inference_steps · guidance_scale · seed · skip_control_preprocess · preserve_original_video · enable_prompt_expansion · enable_safety_checker
default color distortion, ove...

Negative prompt specifying what generation should avoid.

Drop a file, or

Optional precomputed control video, used instead of built-in control estimation when supplied together with `skip_control_preprocess`. It becomes the direct control signal after resampling to match output dimensions and frame count. The video may, for example, contain an already-rendered depth, edge, or pose composite.

image_url
Drop a file, or

Optional image anchoring style or character identity as the first-frame keyframe.

Drop a file, or

Optional image anchoring appearance near the clip's midpoint, supplementing the initial `image_url` keyframe. It helps appearance track camera movement rather than drift; requires `image_url`.

end_image_url
Drop a file, or

Optional image anchoring appearance at the clip's final frame. Useful when camera movement ends at a location different from the starting image; requires `image_url`.

video_quality default high

Quality preset applied to the output video.

video_write_mode default balanced

Write mode for the resulting video.

default 0.6

Freedom to alter motion and structure from the reference video is controlled by this conditioning strength: smaller settings permit greater changes.

default 1

Denoising control for reference-video-to-video sampling whose effect depends on `preserve_original_video`. When that mode is off, it merely shortens the denoising schedule; when on, it controls transformation of the source pixels, with 1.0 regenerating everything and lower settings preserving more (for example, 0.5 preserves about 50%).

default 24

Output video frame rate, measured in frames per second.

default 15

Set how many inference steps to run, up to 30; leaving this unchanged uses 15.

default 1

Adjust classifier-free guidance using this scale; its default tuning targets both high quality and fast generation.

Seed that makes generation reproducible. Setting it to None selects a seed randomly.

POST /run/ltx-2.3-quality/reference-video-to-video?wait=20 quote → $0.27
# 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/reference-video-to-video?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": "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"

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 Quality · Reference Video to Video

Creates a new video from a required `prompt` and a reference `video_url` that supplies motion and structure. Optional `image_url`, `mid_image_url` and `end_image_url` anchor the look at the start, middle and end. `video_strength` and `strength` (both 0 to 1) control how closely it follows or preserves the source, and `control_video_url` can supply a precomputed control signal. `resolution` offers auto or fixed presets such as square and 16:9 portrait or landscape.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
promptrequired
Typestring
Prompt used to direct generation.
video_urlrequired video
Typeurl · video
URL pointing to a reference video used to guide motion and structure.
control_video_urloptional
Typeurl · video
Optional precomputed control video, used instead of built-in control estimation when supplied together with `skip_control_preprocess`. It becomes the direct control signal after resampling to match output dimensions and frame count. The video may, for example, contain an already-rendered depth, edge, or pose composite.
skip_control_preprocessoptional
Typeboolean
Defaultfalse
Direct control mode using `control_video_url` instead of estimating depth, edges, or pose internally; without that URL, this setting is ignored. Output sizing in this mode respects explicit dimensions with 64 alignment to keep RGB and control videos matched, while `auto` takes the source dimensions and aspect ratio within LTX limits.
preserve_original_videooptional
Typeboolean
Defaultfalse
Original-video preservation mode, available only with `skip_control_preprocess`, `video_url`, and `control_video_url`. Disabled by default, it leaves standard control processing intact; enabling it starts generation from `video_url` while retaining structural guidance from `control_video_url`. Denoising through `strength` sets the amount preserved, with lower settings retaining more original pixels.
image_urloptional image
Typeurl · image
Optional image anchoring style or character identity as the first-frame keyframe.
mid_image_urloptional
Typeurl · image
Optional image anchoring appearance near the clip's midpoint, supplementing the initial `image_url` keyframe. It helps appearance track camera movement rather than drift; requires `image_url`.
end_image_urloptional end_image
Typeurl · image
Optional image anchoring appearance at the clip's final frame. Useful when camera movement ends at a location different from the starting image; requires `image_url`.
video_strengthoptional
Typenumber
Default0.6
0 – 1
Freedom to alter motion and structure from the reference video is controlled by this conditioning strength: smaller settings permit greater changes.
strengthoptional
Typenumber
Default1
0 – 1
Denoising control for reference-video-to-video sampling whose effect depends on `preserve_original_video`. When that mode is off, it merely shortens the denoising schedule; when on, it controls transformation of the source pixels, with 1.0 regenerating everything and lower settings preserving more (for example, 0.5 preserves about 50%).
num_framesoptional
Typeinteger
Default121
9 – 481
Output frame count, subject to an IC-LoRA stability budget based on resolution multiplied by frames. A 422 response means that budget was exceeded: lower the resolution or `num_frames`. The budget allows approximately 150 frames at 720p-class dimensions and more at smaller sizes.
resolutionoptional
Typeobject
Defaultauto
autosquare_hdsquareportrait_4_3portrait_16_9landscape_4_3landscape_16_9
Output video dimensions, which also affect stable duration: smaller sizes allow more frames, while larger sizes lower the maximum. Built-in control estimation keeps the size close to the official control workflow; direct control through `skip_control_preprocess` and `control_video_url` instead respects explicit dimensions with 64px alignment. In direct-control mode, `auto` inherits source dimensions and aspect ratio within LTX limits.
frames_per_secondoptional
Typenumber
Default24
1 – 60
Output video frame rate, measured in frames per second.
num_inference_stepsoptional
Typeinteger
Default15
8 – 30
Set how many inference steps to run, up to 30; leaving this unchanged uses 15.
guidance_scaleoptional
Typenumber
Default1
1 – 20
Adjust classifier-free guidance using this scale; its default tuning targets both high quality and fast generation.
generate_audiooptional
Typeboolean
Defaulttrue
Audio-track toggle for the returned MP4: off produces a video-only file, and on includes audio.
negative_promptoptional
Typestring
Defaultcolor 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
Negative prompt specifying what generation should avoid.
seedoptional
Typeinteger | null
Seed that makes generation reproducible. Setting it to None selects a seed randomly.
enable_prompt_expansionoptional
Typeboolean
Defaulttrue
Controls whether prompt expansion is enabled.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Controls whether safety checking is enabled.
video_qualityoptional
Typeenum
Defaulthigh
lowmediumhighmaximum
Quality preset applied to the output video.
video_write_modeoptional
Typeenum
Defaultbalanced
fastbalancedsmall
Write mode for the resulting video.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "ltx-2.3-quality/reference-video-to-video",
  "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": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "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"
  }
}
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}Video produced by the model.
seed
integerActual seed applied during generation.
prompt
stringGeneration prompt, including any expansion applied before use.

More models: Video to Video

For AI agents: this page as Markdown is at https://doitong.com/developers/models/ltx-2.3-quality/reference-video-to-video.md. All models and guides: https://doitong.com/developers/llms.txt