Skip to main content

LTX 2.3 Spicy is an uncensored image-to-video build on Lightricks' LTX 2.3: your opening frame carries the content and the prompt is optional. Clips run 3 to 20 whole seconds at 480p, 720p or 1080p, with no audio field.

From $0.019/s5% below the Spicy list price

Workbench

Input

Image to video
Optional. Describe the beat, the camera and the pacing; do not re-describe the frame.
Style preset
TunedOriginal
Tuned is the maintained general-purpose stack. Original applies almost no styling — pick it when the preset fights the look you wrote.
1/1

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

  • 1
1 / 1 files
Required. The still that animates - it decides the content and the output shape.
Durationaffects price
Whole seconds, 3 to 20. Twenty is one generation, not a stitched sequence. no lower than 3 · no higher than 20
affects price
480p, 720p or 1080p. It defaults to 480p - raise it for anything you deliver.
Seed
Makes two runs comparable when you change one variable. Not a frame-identical guarantee. 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.

These previews show selected examples. Try your own prompt and settings in the Playground.

Set the runtime to any whole second from 3 to 20

The LTX 2.3 Spicy image to video API turns one uploaded still into a clip of 3 to 20 whole seconds at 480p, 720p or 1080p. Only image_url has to be in the request; duration_seconds takes every whole number across that range, so a 13-second cut is requested as 13 seconds. The prompt is optional, and the request body has no audio, negative-prompt or aspect-ratio field.

Open the playground
Set the runtime to any whole second from 3 to 20
Required input
image_url only; prompt, seed and preset are optional
Duration
3 to 20 whole seconds, default 5
Resolution
480p, 720p or 1080p, default 480p
Preset
tuned (default) or original, a two-value style bundle
Seed
Any integer from 0 to 2,147,483,647
Not in the schema
No audio, negative_prompt, aspect_ratio or last-frame field
Duration
Every whole second in the range is validduration_seconds is declared as an integer with a minimum of 3 and a maximum of 20, so 7, 13 and 19 seconds are all ordinary requests. The field defaults to 5 seconds. Length is also one of the two pricing dimensions, which is why drafts usually sit at the short end of the range.
Resolution
Three tiers on one endpointresolution accepts 480p, 720p and 1080p, and defaults to 480p, so a request that omits the field comes back at the lowest tier. Each tier carries its own per-second price, which makes 480p the cheap place to find out whether a frame animates and 1080p the tier to save for a take you intend to ship.
Contract
Six fields, one of them requiredimage_url, prompt, duration_seconds, resolution, seed and preset are the entire input schema, and it is set to reject anything else. preset chooses between two style bundles, tuned and original. Setting the strength of one LoRA at a time is the field the LTX 2.3 Spicy LoRA family adds on top of this contract.

What LTX 2.3 Spicy does

Clips cut to an exact length

Clips cut to an exact length

Send the number of seconds the edit actually needs: 7 for a quick beat, 13 to land on a cut point, 20 for the longest run the endpoint allows. The value goes in as duration_seconds and comes back as the length of the clip, and since billing runs per second of output, asking for 13 seconds is priced as 13 seconds.

Three resolution tiers

Three resolution tiers

resolution takes 480p, 720p or 1080p and defaults to the lowest of the three. The tier is independent of everything else in the body, so a prompt and seed settled at 480p can be sent again at 720p for a review pass and at 1080p for delivery with no other field touched. Each tier has its own per-second price.

  • Optional prompt

    prompt is absent from the required list, so a request carrying an image and a duration is valid and returns the model's own reading of how that frame should move. Text added later gives it a beat to follow: what the subject does, where the camera goes, how fast it all happens. Describing what is already visible in the still spends the prompt on nothing.

  • No negative prompt field

    There is no negative_prompt on this endpoint, so exclusions have to be phrased as direction: name the lighting, the framing and the action you do want, and let the rest fall outside the shot. Cropping or relighting the opening image before the request is the stronger control, because wardrobe, pose and framing all arrive from the frame itself.

  • No audio field, so sound comes from the edit

    The schema has no audio field: nothing is uploaded and nothing is requested, so every cue in the clip comes from the opening frame and the prompt. A returned file can carry an audio track, though it is often silent or very quiet, so any sound a delivery needs gets laid over the clip afterwards in the edit.

  • Seed-controlled comparisons

    The seed field runs from 0 to 2,147,483,647. Holding it steady alongside the frame, prompt, duration and resolution is what makes a one-variable comparison readable: reword the prompt and the seed is not what moved. The schema says plainly that this is a control for comparisons and not a guarantee of an identical clip, so read every render as a fresh take.

Who reaches for LTX 2.3 Spicy

  • When something else fixes the runtime

    Cut-to-length delivery

    When something else fixes the runtime

    A clip that has to sit inside a 13-second hole in an edit, land on a music cue, or run under a recorded line can be requested at that exact length. Nothing downstream has to trim a longer take back into place, and nothing has to be looped to fill a gap.

  • One tier per stage

    Draft-to-delivery pipelines

    One tier per stage

    480p is where prompt wording and composition get settled, 720p is enough to review motion at speed, and 1080p is saved for the take that ships. Since each tier has its own per-second price, keeping the long renders on the top tier and the experiments on the bottom one is the main cost control here.

  • A short form to fill in

    Minimal-configuration workflows

    A short form to fill in

    Six fields, one of them required, with no audio field to configure and no negative prompt to maintain. preset already sits on the recommended bundle, so a product wrapping this endpoint can ship an upload box, an optional prompt box, a length slider and a resolution choice, with seed and preset left on their defaults.

  • A first pass that costs nothing to write

    Character and roleplay work

    A first pass that costs nothing to write

    Send a character frame with no prompt at all, 3 seconds at 480p, and see how the model reads the pose before any direction is written. Sessions built around one recurring character gain from that: the frame carries the likeness, so each new beat is a short movement note on top of a still that already works.

How to call the LTX 2.3 Spicy API

  1. Settle the runtime before the prompt

    Pick the number of seconds the cut needs and put it in duration_seconds. Pacing follows length: the same action written for 5 seconds and for 15 reads differently, so the prompt is easier to write once the number is fixed.

  2. Draft at 480p

    Leave resolution on its default for the first passes. 480p is the cheapest tier per second, which makes it the place to find out whether a frame animates at all and whether the prompt is aimed at the right beat.

  3. Write exclusions as direction

    There is no negative_prompt field, so anything you want kept out of the shot has to be handled by what you do ask for, or by cropping the opening frame before it is uploaded.

  4. Pin the seed, then raise the tier

    Once 480p reads right, send the same image, prompt, duration and seed at 720p or 1080p. The seed keeps the comparison honest without promising a frame-for-frame match, so give the higher-tier render its own review before it goes out.

  5. Collect the clip asynchronously

    The create call returns a task, not the video. Poll it or take the callback, then download the file the finished task points at, and keep the task id so a delivered clip can be traced back to the settings that produced it.

LTX 2.3 Spicy worked examples

  • A 13-second beat cut to length

    duration_seconds at 13 to land on a fixed edit point, 720p for a review pass, with the seed written down so the delivery render can reuse it.

    The character steps back from the doorway, glances down the hallway, then turns to face camera fully; handheld camera with a slight settle at the end
  • A no-prompt baseline, then one movement note

    The first request carries the frame, 3 seconds and 480p with no prompt at all, which shows how the model reads the pose unaided. The second sends the same frame and seed with a short movement note, so the text is the only thing separating the two clips.

    She shifts her weight, lets one shoulder drop as she looks off to the left, then back to camera; slow handheld drift, warm lamplight from the right
  • A 5-second delivery pass at 1080p

    Carry the prompt and seed over from a 480p draft, then request 5 seconds at the top tier. Length and resolution both changed, so review the result as a new take before it goes out.

    The character's expression softens as they look past camera, slow push-in, warm late-afternoon light through a window

LTX 2.3 Spicy API questions

Write the length down before anything else, because duration_seconds shapes the rest of the request: a 4-second beat and a 16-second one need different prompts for the same action. Keep the first passes at 480p with the seed noted, spend the prompt on movement and camera instead of on what the frame already shows, and reserve 1080p for the version that ships. Anything you want kept out of the shot is easier to remove from the opening still than to argue away in text.