Documentation Index
Fetch the complete documentation index at: https://apixo.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
LTX 2 19B is a Lightricks video generation model for text-to-video and image-to-video workflows. It also supports LoRA-conditioned variants when you need custom styles, characters, or structural guidance. Use this page when you are ready to call the API after trying the model in the APIXO playground.| Capability | Value |
|---|---|
| Model ID | ltx-2-19b |
| Modes | text-to-video, image-to-video, text-to-video-LoRA, image-to-video-LoRA |
| Prompt length | 1-5000 characters |
| Reference images | Exactly 1 URL for image-to-video and image-to-video-LoRA |
| Aspect ratios | 16:9, 9:16 for text-to-video modes |
| Resolution tiers | 480p, 720p, 1080p |
| Duration | 5-20 seconds |
| LoRA controls | Up to 3 LoRA items, each with path and scale |
| Seed | -1, or 1 through 2147483647 |
Endpoint and authentication
Base URL:| Method | Endpoint | Purpose |
|---|---|---|
POST | /generateTask/ltx-2-19b | Submit a generation task |
GET | /statusTask/ltx-2-19b?taskId={taskId} | Poll task status and retrieve results |
Copy-paste async quickstart
This minimal request submits a text-to-video task and returns ataskId.
taskId; you need it to poll for the final result.
Poll for result
resultJson after state becomes success:
Request body
Text-to-video
Image-to-video
Image-to-video with LoRA
Parameters
Result delivery mode. Use
async for polling with statusTask, or callback for webhook delivery.Required when
request_type is callback. Must be a public HTTPS endpoint that can receive the final task payload. See Webhooks.LTX 2 19B input parameters.
Response format
Submit task response
POST /generateTask/ltx-2-19b returns a task ID when the task is accepted:
API status code.
200 means the task was accepted.Human-readable status message.
Unique task identifier used with the status endpoint.
Status response fields
Unique task identifier.
Current task state:
pending, processing, success, or failed.JSON string containing the generated video URLs in
resultUrls. Present when state is success.Machine-readable failure code. Present when
state is failed.Human-readable failure message. Present when
state is failed.Task creation timestamp in Unix milliseconds.
Task completion timestamp in Unix milliseconds. Present after completion.
Processing duration in milliseconds when available. Present after completion.
Webhook callback mode
Use callback mode when your backend should receive the final result automatically instead of polling.data object uses the same terminal fields as the status response. See Webhooks for delivery requirements and retry behavior.
Billing
LTX 2 19B is billed per second. The backend selects the unit price byresolution and base vs LoRA mode, then multiplies that unit price by the submitted duration.
| Resolution | Base modes price | LoRA modes price | Minimum 5s cost |
|---|---|---|---|
480p | $0.012 / second | $0.015 / second | Base $0.06; LoRA $0.075 |
720p | $0.016 / second | $0.02 / second | Base $0.08; LoRA $0.10 |
1080p | $0.024 / second | $0.03 / second | Base $0.12; LoRA $0.15 |
Latency and polling
Actual latency may vary by prompt complexity, duration, resolution, LoRA loading, provider queue load, and storage transfer time.| Workload | Typical generation time | Recommended first poll | Poll interval |
|---|---|---|---|
480p | 40s-60s | 40s after task creation | 5s |
720p | 60s-90s | 60s after task creation | 5s |
1080p | 90s-120s | 90s after task creation | 5s |
| LoRA modes | Add about 10s-20s | Add about 10s to the base first poll | 5s |
path and scale, even if you want a neutral scale like 1.0.
Rate limits and concurrency can vary by account, API key, and route. If you receive 429, slow down requests and retry with backoff. For account-level details, see System APIs.
Errors and troubleshooting
HTTP errors
| Code | Meaning | What to do |
|---|---|---|
400 | Invalid request body, missing input, missing mode, missing prompt, invalid resolution, invalid duration, invalid seed, invalid image_urls, or invalid loras | Fix the request before retrying |
401 | Missing or invalid API key | Check the Authorization header |
402 | Insufficient balance or quota | Add balance or switch account/key |
403 | Key or route cannot access the model | Check permissions and route strategy |
404 | Task not found when polling | Check the taskId and model endpoint |
429 | Rate limit or concurrency limit reached | Retry with exponential backoff |
500 | Server error or unknown upstream failure | Retry with backoff |
502 | Upstream provider or network error | Retry with backoff |
503 | Service temporarily unavailable or async queue is full | Retry later |
504 | Upstream timeout | Retry or use callback mode for long-running jobs |
Validation notes
| Parameter | Backend behavior |
|---|---|
input.mode | Required for routing. Must be one of text-to-video, image-to-video, text-to-video-LoRA, image-to-video-LoRA. |
input.prompt | Required string. Must not be empty and cannot exceed 5000 characters. |
input.resolution | Required string. Must be 480p, 720p, or 1080p. |
input.duration | Required JSON integer. Must be from 5 through 20; quoted strings are not valid. |
input.image_urls | Required for image-to-video modes. Must be an array with exactly 1 string URL. |
input.aspect_ratio | Optional for text-to-video modes. Must be 16:9 or 9:16; defaults to 16:9 when omitted. |
input.seed | Optional JSON integer. Must be -1, or from 1 through 2147483647. |
input.loras | Optional array. If present, it cannot contain more than 3 items. |
input.loras[].path | Required for each LoRA item. Must be a non-empty string. |
input.loras[].scale | Required for each LoRA item. Must be numeric and from 0.0 through 4.0. |
Task failure codes
| Fail code | Meaning | What to do |
|---|---|---|
SensitiveContent / InputOutputSensitiveContentDetected | Prompt, input image, or output failed provider safety checks | Change the prompt or input image |
PromptInvalid | Prompt was rejected or malformed | Adjust the prompt and retry |
ImageFormatIncorrect / InvalidImageSize | Input image failed upstream image validation | Use a public, direct JPG, PNG, or WebP URL |
ImageNotAccess | APIXO could not fetch an input URL | Use a public HTTP or HTTPS URL that returns 200 or 206 |
RateLimited | Provider-side rate limit | Retry with exponential backoff |
Timeout | Provider-side timeout | Retry, simplify the request, or use callback mode |
Unknown error | Provider returned an unmapped failure | Retry with backoff or contact support with the taskId |