Browse ModelsWavespeed AILtx 2.3 Spicy Image To Video LoRA

Ltx 2.3 Spicy Image To Video LoRA

Ltx 2.3 Spicy Image To Video LoRA

Playground

Try it on WavespeedAI!

LTX 2.3 Spicy LoRA Image to Video API turns a reference image and prompt into expressive AI videos using selectable LoRA presets, optional LoRA strength overrides, duration, and resolution controls. Run fast REST inference on WaveSpeedAI with no cold starts and affordable pricing.

Features

Ltx-2.3-spicy/image-to-video-lora

wavespeed-ai/ltx-2.3-spicy/image-to-video-lora uses the same audio-video generation pipeline as the base image-to-video endpoint, while adding a curated LoRA stack for stronger style, motion, and visual control. You can use the recommended preset or override individual LoRA strengths per request.


Why Choose This?

  • Same base image-to-video workflow Uses the same core audio-video pipeline as the base image-to-video endpoint.

  • Preset-based LoRA control Choose between original for lighter styling or tuned for the recommended LoRA stack.

  • Per-LoRA override support Override individual LoRA strengths on top of the selected preset for more flexible control.

  • Style, motion, and look control Fine-tune visual style, motion behavior, and overall output feel with a curated LoRA set.

  • Unlimited creative flexibility Designed for users who want more direct control over the generation result.


Parameters

This endpoint supports all inputs from the base image-to-video endpoint, plus the following extra fields:

ParameterRequiredDescription
presetNoLoRA preset. original applies lighter styling. tuned applies the recommended LoRA stack. Default: tuned.
lorasNoPer-LoRA strength overrides merged on top of the selected preset. Example: {"omninft": 0.5, "better_motion": 0.3}. Unknown keys are ignored. Default: {}.

Available LoRA Keys

sulphur, sulphur_v1, vbvr, dreamly, synth, plora, singularity, omninft, omninft_bf16, better_motion, physics_v2, hardcut, transition


How to Use

  1. Prepare your base image-to-video inputs — Use the same required inputs as the base image-to-video endpoint.
  2. Choose a preset (optional) — Use tuned for the recommended LoRA stack or original for a lighter effect.
  3. Set LoRA overrides (optional) — Pass a loras object to adjust individual LoRA strengths.
  4. Submit — Generate the final video result with LoRA-enhanced control.

Pricing

ResolutionPer 5sPer secondMax length
480p$0.15$0.03 / s20 s
720p$0.25$0.05 / s20 s
1080p$0.35$0.07 / s20 s

Billing Rules

  • Minimum charge: 5 seconds.
  • Maximum billed duration: 20 seconds.
  • 720p costs 5/3× the 480p price.
  • 1080p costs 7/3× the 480p price.
  • Billing is based on max(5, min(duration, 20)).

Best Use Cases

  • Style-controlled image-to-video generation — Apply stronger visual styling on top of the base image-to-video workflow.
  • Motion tuning — Use motion-focused LoRAs such as better_motion or physics_v2 to guide output behavior.
  • Look-and-feel customization — Combine preset stacks and LoRA overrides to shape the final visual result.
  • Creative experimentation — Try different LoRA combinations for varied output styles and motion characteristics.

Pro Tips

  • Use preset = tuned for the recommended default behavior.
  • Use preset = original when you want results closer to the base input style.
  • Use the loras object to override only the LoRAs you want to adjust.
  • Set a LoRA value to 0 if you want to disable that LoRA while keeping the rest of the preset unchanged.
  • Start with a small number of LoRA overrides before stacking many changes together.

Notes

  • This endpoint includes all base image-to-video inputs and adds preset and loras.
  • Default preset is tuned.
  • Default loras value is {}.
  • Unknown LoRA keys are ignored.
  • Each active LoRA adds approximately 0.5–0.8 seconds of extra runtime at 480p / 5s.
  • In the worst case, using all 13 LoRAs may increase runtime by approximately 30% compared with using no LoRAs.
  • Pass loras: {"omninft": 0} to fully disable that LoRA from the selected preset without changing the rest.
  • By using this endpoint, you confirm that you have the right to generate the requested content under your jurisdiction.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/ltx-2.3-spicy/image-to-video-lora" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "preset": "tuned",
    "loras": [],
    "resolution": "480p",
    "duration": 5,
    "seed": -1
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
imagestringYes-Reference image for the first frame (JPG/PNG recommended).
promptstringYes-Positive prompt describing the desired motion / scene.
presetstringNotunedtuned, originalLoRA preset bundle. `original` = light styling. `tuned` = the recommended general-purpose stack. Overridden per-LoRA via `loras`.
lorasarrayNomax undefined itemsOptional list of LoRA strength overrides merged on top of the preset, e.g. `[{"path": "sulphur", "scale": 0.3}, {"path": "omninft", "scale": 0.5}]`.
loras[].pathstringYes-Path to the LoRA model
loras[].scalefloatYes-0.0 ~ 4.0Scale of the LoRA model
resolutionstringNo480p480p, 720p, 1080pOutput resolution tier.
durationintegerNo53 ~ 20Output duration in seconds (3-20).
seedintegerNo-1-1 ~ 2147483647Random seed. -1 for a random seed.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.