Loading playground
Input
Additional Settings
Customize your input with more control.
Result
Idle
Customize your input with more control.
Customize your input with more control.
Hint: Upload a prepared .zip archive or provide a URL. See the field description for the required file layout.
Customize your input with more control.
The cost of training depends on the number of steps. The formula is: 0.0023 * steps. With 1000 steps, your request will cost $2.30.
Fine-tune your training parameters and start right now.
/audio-extend-suffix)The /audio-extend-suffix endpoint trains a LoRA for the LTX 2.3 model that generates the lead-in to an audio clip — it extends audio backward in time. During training, the last few seconds of each clip are kept as a clean "suffix" and the model learns to generate the audio leading up to them. At inference you supply a closing audio clip and the model produces the preceding section. This is audio-only.
Key features:
audio_duration_seconds.Provide a single .zip archive (linked via training_data_url) of plain audio clips:
.wav, .mp3, .flac, .ogg, .aac, .m4a.txt with the same base name as each audio clip (optional but recommended).File names must be unique across the archive. Aim for at least 10 clips. Clips shorter than audio_duration_seconds are skipped, so make each clip at least that long — and since conditioning_seconds must be smaller than audio_duration_seconds, every kept clip leaves a lead-in to learn.
training_data_url (required)Type: string
URL to the .zip archive of audio clips.
trigger_phraseType: string
Default: ""
Phrase prepended to captions during training; include it at inference.
rankType: integer (8, 16, 32, 64, 128)
Default: 32
LoRA capacity.
number_of_stepsType: integer
Default: 2000 (range 100–20000)
Number of optimization steps.
learning_rateType: number
Default: 0.0002
Optimization step size.
conditioning_secondsType: number
Default: 1.0 (range 0.1–30.0)
Seconds of trailing audio kept as the clean suffix the model leads up to. Must be less than audio_duration_seconds so there is a lead-in to generate (and not so close to it that nothing is left after rounding).
audio_duration_secondsType: number
Default: 5.0 (range 0.5–60.0)
Target audio clip length in seconds (the audio duration bucket). Clips shorter than this are skipped; longer clips are trimmed.
audio_normalizeType: boolean
Default: true
Peak-normalize audio for consistent loudness across the dataset.
audio_preserve_pitchType: boolean
Default: true
Preserve pitch when fitting audio to the target duration.
validationType: array
Default: [] (max 2 entries)
Validation samples, each an object with:
prompt (string) — the text prompt.audio_url (string, required) — an audio clip to extend backward. Its closing conditioning_seconds are used as the suffix.The validation clip must be at least conditioning_seconds long. When validation prompts are provided, conditioning_seconds is also bounded by the preview length: the validation preview generates an audio span sized from audio_duration_seconds (capped at 121 frames divided by validation_frame_rate), and a conditioning_seconds that would fill that span is rejected at request time (HTTP 422). A very low validation_frame_rate shrinks this preview window, so keep conditioning_seconds comfortably below audio_duration_seconds.
validation_negative_promptType: string
Default: a built-in quality negative prompt.
validation_frame_rateType: integer
Default: 24 (range 8–60)
Used together with the audio bucket to size the preview audio length.
stg_scaleType: number
Default: 1.0 (range 0.0–3.0)
debug_datasetType: boolean
Default: false
Return an archive of the preprocessed data for inspection.
Note: this audio-only mode also accepts the shared video/validation-video fields, but they have no effect — no video is processed.
lora_file — the trained LoRA weights (.safetensors).config_file — JSON describing the trigger phrase and training type.audio — a combined preview of the generated validation audio.debug_dataset — preprocessed-data archive, only when debug_dataset is enabled.A successful run is billed max(100, number_of_steps) billable units. Requests that fail before training completes (input-validation errors / HTTP 422, or dataset-download failures) are billed 0 units.
audio_duration_seconds bucket.conditioning_seconds of audio are held clean as the suffix and the model learns to generate the preceding lead-in. Validation previews run at intervals..zip is unpacked; macOS metadata and hidden files are ignored..txt of the same base name.audio_duration_seconds bucket (shorter clips skipped, longer ones trimmed; normalized and pitch-fit as configured).conditioning_seconds of each clip are kept clean as conditioning; everything before is the generation target. This happens automatically.conditioning_seconds.audio_duration_seconds that fits most clips so few are skipped.Good caption: a drum fill building up to a cymbal crash
Weak caption: drums
At inference, supply a closing audio clip at least conditioning_seconds long, use the same caption style and trigger phrase, and keep durations in line with audio_duration_seconds.
json{ "training_data_url": "https://example.com/audio_clips.zip", "trigger_phrase": "", "rank": 32, "number_of_steps": 2000, "learning_rate": 0.0002, "conditioning_seconds": 1.0, "audio_duration_seconds": 5.0, "validation": [ { "prompt": "a drum fill building up", "audio_url": "https://example.com/closing.wav" } ] }
conditioning_seconds for more closing context.conditioning_seconds long, or lower conditioning_seconds.conditioning_seconds relative to audio_duration_seconds.rank, more clips.conditioning_seconds too close to (or above) audio_duration_seconds — nothing left to generate.audio_duration_seconds so long that most clips are skipped.