Skip to main content

LTX 2.5 image-to-video from Lightricks animates an opening frame into a clip of 5 to 20 seconds, optionally landing on a closing frame you set. Render at 720p, 1080p, 2K or 4K, with a generated soundtrack on every clip.

From $0.09/s

Workbench

Input

Image to video
Required. Describe what changes after the frame - action, camera, light - not the frame itself. at least 1 characters
1/1

Drop files or media links, paste, or browse · 1 file · Max 10 MB · JPG · PNG · WEBP · GIF

  • 1
1 / 1 files
The opening frame. It fixes subject and composition and sets the output shape.
1/1

Drop files or media links, paste, or browse · 1 file · Max 10 MB · JPG · PNG · WEBP · GIF

  • 1
1 / 1 files
Optional closing frame, valid only alongside image_url. It pins the ending, not the route.
affects price
720p, 1080p, 2k or 4k. 2k comes back about 2560 px wide.
Durationaffects price
Whole seconds, 5 to 20. Longer clips wander further from a supplied closing frame. no lower than 5 · no higher than 20
Seed
Hold it constant when you step up the resolution so only one variable has changed. no lower than 0 · no higher than 2147483647
Safety checkerOff

SpicyAPI does not run a safety checker on this model. Your prompt and media go to the model as written, and the model itself decides what comes back.

Checking your account before enabling submission and pricing.

Output

Ready for a new run
Example result

Related models and next tasks

Missing the model you need?

Tell us what to add and where you would use it. Requests go to the people who decide what gets onboarded next.

No extend task, so chain scenes frame by frame

LTX 2.5 image-to-video animates one approved frame into a 5 to 20 second clip at 720p, 1080p, 2K or 4K, with an optional closing frame to land on. There is no aspect_ratio field here: the opening frame's own dimensions set the output shape. There is no extend task either, so a sequence longer than 20 seconds is chained by hand.

Open the playground
No extend task, so chain scenes frame by frame
Required fields
image_url and prompt, both required; last_image_url and seed are optional
Output shape
No aspect_ratio field; the opening frame's dimensions decide it
Closing frame
last_image_url pins the ending and is rejected without image_url
Duration
5 to 20 whole seconds per call, default 5, with no extend task
Resolution ladder
Four billed tiers: 720p, 1080p, 2K and 4K, default 720p
Request body
Six fields and nothing else; unknown keys are rejected
Shape inheritance
The frame sets the canvas, not a parameterThere is no aspect_ratio field on this endpoint, unlike the text-to-video sibling. Crop or letterbox the source image to the delivery shape before uploading it, because nothing in the request body can change the output shape afterwards.
No extend task
Twenty seconds is the ceiling for one callLonger sequences are built segment by segment: generate, extract the final frame, and send it back as the next call's image_url. The API has no way to resume a clip from the middle, so the join between segments is yours to manage.
Two-frame control
last_image_url decides where the shot endsLightricks documents the equivalent last-frame parameter as valid alongside an opening frame on their own image-to-video endpoint. Here it fixes the landing while the motion between the two frames is still generated, and across 20 seconds that middle is a long way to travel.

What the LTX 2.5 image-to-video API does well

Literal continuity from a real frame

Literal continuity from a real frame

Starting from an actual image fixes subject, wardrobe and composition exactly. When a clip has to match an approved still, animating that still is the reliable route, because a written description of the same scene reconstructs it from scratch on every run.

Chaining past the 20-second ceiling

Chaining past the 20-second ceiling

There is no extend endpoint, so a 40-second sequence is two calls: the first clip's final frame, extracted and resubmitted as the second call's image_url, continues the scene from where it stopped. Each link is a full generation billed at whatever tier you set.

  • Two-frame pinning for board-to-board cuts

    Sending image_url and last_image_url together locks both ends of a move, which is what lets a generated clip sit next to a specific next shot in a timeline. The middle is still generated, so keep the two frames continuous in subject and light.

  • One less field to configure

    The opening frame's dimensions are the only source of the output shape, so there is no aspect_ratio to get wrong. The trade is that the crop has to be correct before upload, since the request body cannot correct it later.

  • A tier above the Spicy siblings

    4K is available here, where LTX 2.3 Spicy and LTX 2.3 Spicy LoRA stop at 1080p. That matters when the animated frame has to survive a grade, a reframe or a slow push added in the edit instead of shipping exactly as generated.

  • Uncensored frames animate as they are

    This endpoint runs on the unrestricted policy tier with no content-mode field in the request. An uncensored opening frame is followed the way any other frame is, which is why the source image, not the wording around it, decides how the clip reads.

Who reaches for LTX 2.5 image-to-video

  • A frame exists before the motion does

    Storyboard-driven production

    A frame exists before the motion does

    When composition, wardrobe and lighting are already locked as a still, animating that still beats describing it again in words. The prompt then only has to carry the move, which is a much smaller thing to get right on the first try.

  • Building past the ceiling by hand

    Sequences longer than one call

    Building past the ceiling by hand

    Extract the final frame of a finished clip, submit it as the next call's image_url, and repeat until the sequence is long enough. There is no built-in extend task, so continuity across the joins is the caller's job.

  • Locking both ends of a cut

    Edit-ready deliverables

    Locking both ends of a cut

    A shot that has to arrive on a specific next frame is worth pinning with last_image_url, so the outgoing composition matches the cut it sits against. Leave it out and the ending lands wherever the generated motion takes it.

  • 4K plates from an approved still

    Finishing pipelines

    4K plates from an approved still

    An approved frame animated at 4K carries enough detail for a grade and a reframe. Draft the move at 720p with the seed held, then re-run the same call once at the top tier so only the pixel count has changed.

How to call the LTX 2.5 image-to-video API

  1. Crop the source frame to the delivery shape

    There is no aspect_ratio field to fix this later: the frame's own dimensions become the output shape, so crop or letterbox before uploading rather than after the clip comes back.

  2. Write the prompt for the motion

    image_url and prompt are both required. The frame already carries subject and composition, so the text should describe the action, the camera move and the change in light that follow it.

  3. Send last_image_url only when the ending is already decided

    It fixes where the shot lands, not the path there, so across a 20-second clip keep the two frames continuous in subject, wardrobe and light or the transition reads as a correction.

  4. Set resolution for the pass you are running

    The field defaults to 720p however large the uploaded frame is. Draft the move at 720p, then re-run the same request with resolution set to 1080p, 2k or 4k once the motion reads correctly.

  5. For a longer sequence, extract the final frame

    Pull the last frame of the finished clip and submit it as image_url on the next call. This is the only way to continue a scene past one generation, and matching the grade across the join is what hides the seam.

LTX 2.5 image-to-video worked examples

  • A physics-driven motion beat

    The opening frame carries the setting, so the prompt only has to describe what moves: the lean, the wind, the camera going with it.

    She leans back against the balcony rail as a gust lifts her hair and pulls the silk scarf loose from her shoulders, sending it out over the street; the camera drifts up with the scarf, city traffic blurred far below, late afternoon light raking across the building face.
  • A two-frame pinned ending

    image_url and last_image_url both supplied, so the shot starts and ends on a decided composition and only the move between them is generated.

    She sets the wine glass down, turns from the counter and walks toward camera through the kitchen light, stopping with one hand on the back of a chair and her eyes level with the lens.
  • A chained continuation from a prior clip

    The image_url here is the extracted final frame of an earlier 20-second generation, so the scene continues instead of restarting.

    She pushes up from the chair, crosses to the balcony door and slides it open, night air moving the curtain past her as she steps through and looks back over her shoulder.

LTX 2.5 image-to-video API questions

Because there is no extend task, treat 20 seconds as a segment length: build longer sequences by extracting the final frame of each clip and sending it back as the next call's image_url. Keep subject, wardrobe and light continuous across that handoff, since a mismatch reads as a visible seam. Draft the move at 720p with a fixed seed, and set resolution to 4k only for the pass that ships.