Ltx 2 19b Control

Ltx 2 19b Control

Playground

Try it on WavespeedAI!

LTX-2 19B ControlNet generates synchronized audio-video (up to 20s) from video input with pose, depth, or canny edge guidance. Supports audio preservation, generation, or removal for flexible video transformation. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.

Features

LTX-2 19B ControlNet

LTX-2 ControlNet is a video-to-video transformation model that applies pose, depth, or edge guidance to generate new video content while preserving motion structure from the input. Built on the 19B DiT architecture, it supports synchronized audio handling with options to preserve original audio, generate new audio, or output silent video.


Why Choose This?

  • ControlNet guidance modes Choose from pose, depth, or canny edge detection to guide video generation while preserving motion structure.

  • Flexible audio handling Preserve original audio, generate new synchronized audio, or create silent output.

  • High-fidelity output Leverages the 19B-parameter DiT architecture for detailed, temporally consistent video.

  • Character-driven transformation Use a reference image to drive the appearance while the input video controls motion.

  • Prompt Enhancer Built-in tool to automatically improve your prompts for better results.


Parameters

ParameterRequiredDescription
videoYesInput video providing motion and structure
imageNoReference image for appearance guidance
promptNoText description of desired output
modeNoControl mode: pose (default), depth, or canny
audio_modeNoAudio handling: preserve (default), generate, or none
resolutionNoOutput resolution: 480p, 720p (default), or 1080p
seedNoRandom seed for reproducibility (-1 for random)

Control Modes

ModeDescription
poseSkeleton/pose guidance for human motion (default)
depthDepth map guidance for scene structure
cannyEdge detection guidance for shape preservation

Audio Modes

ModeDescription
preserveKeep original audio from input video (default)
generateCreate new synchronized audio
noneOutput video without audio

How to Use

  1. Upload your video — the input video providing motion structure.
  2. Upload your image (optional) — reference image that defines appearance.
  3. Write your prompt — describe the desired transformation.
  4. Select control mode — pose, depth, or canny based on your needs.
  5. Select audio mode — preserve, generate, or none.
  6. Set resolution — 480p for speed, 720p for balance, 1080p for quality.
  7. Run — submit and download the transformed video.

Pricing

Resolution5s10s15s20s (max)
480p$0.15$0.30$0.45$0.60
720p$0.20$0.40$0.60$0.80
1080p$0.30$0.60$0.90$1.20

Billing Rules

  • Base price: $0.20 (720p, 5 seconds)
  • Resolution multiplier: 480p = 0.75×, 720p = 1×, 1080p = 1.5×
  • Minimum charge: 5 seconds
  • Maximum billed duration: 20 seconds
  • Total cost = (duration / 5) × $0.20 × resolution_multiplier

Best Use Cases

  • Character Animation — Animate a character image with motion from reference video.
  • Style Transfer — Apply a reference style to existing video content.
  • Motion Preservation — Maintain motion structure while changing appearance.
  • Video Editing — Transform video subjects while keeping movement.
  • Dance Transfer — Apply dance moves to different characters.

Pro Tips

  • Match the subject pose in your image to the starting pose in the video.
  • Use pose mode for human/character motion, depth for scene structure, canny for edge-based guidance.
  • Preserve audio for lip-sync scenarios, generate for new content.
  • Iterate at 480p, then render final at 720p or 1080p.

Notes

  • Maximum video duration is 20 seconds per job.
  • Videos shorter than 5 seconds are billed as 5 seconds.
  • For best results, ensure the reference image matches the subject type in the video.

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-19b/control" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "mode": "pose",
    "audio_mode": "preserve",
    "resolution": "720p",
    "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
videostringYes-The video for generating the output.
imagestringNo-Optional reference image for appearance guidance. If not provided, the model generates based on the prompt.
promptstringNo-The positive prompt for the generation.
modestringNoposecanny, depth, poseThe control mode for video generation. Canny: edge detection guidance. Depth: depth map guidance. Pose: skeleton/pose guidance.
audio_modestringNopreservepreserve, generate, noneAudio handling mode. Preserve: keep original audio from input video. Generate: create new synchronized audio. None: output video without audio.
resolutionstringNo720p480p, 720p, 1080pThe resolution of the output video.
seedintegerNo-1-1 ~ 2147483647The random seed to use for the generation. -1 means a random seed will be used.

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.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
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.