Picsart API Platform
← All models

LTX 2.5 Fast

LTX · Video · Text → Video

Speed-optimized 2.5 with synchronized native audio — up to 4K, up to 20s, with camera motion control.

Model ID: ltx-v2.5-fastWorkflow: lightricks/ltx-2.5/text-to-video/fast
Image InputStart FrameEnd FrameFastUp to 20sAudio4KCamera Motion
Try on Playground ↗

Authentication

Send your Picsart API key as a bearer token on every request.

Header
Authorization: Bearer <PICSART_API_KEY>

Make a request

One endpoint serves every model: POST to /workflows/v1/models/execute with the model id and its input in the body. The nesting is deliberate — the outer paramsis the envelope every workflow takes, and the inner one is this model's own input. Those inner names are the same unified ones the SDK takes, so a call translates one-to-one between the two — no per-vendor naming to learn.

cURL
curl -X POST 'https://api.green-salad-4efd.toolsminati.workers.dev/workflows/v1/models/execute' \
  -H 'Authorization: Bearer $PICSART_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "params": {
    "model": "ltx-v2.5-fast",
    "params": {
      "prompt": "A serene mountain lake at golden hour, ultra detailed",
      "duration": 6,
      "resolution": "1080p",
      "aspectRatio": "16:9"
    }
  }
}'

Async (submit & poll)

This model can run longer than the sync limit (~20s), so send it to /workflows/v1/models/submit, which returns a task id, and poll /workflows/v1/models/{taskId}/result until response.status is COMPLETED or FAILED.

cURL
# 1. Submit the job
curl -X POST 'https://api.green-salad-4efd.toolsminati.workers.dev/workflows/v1/models/submit' \
  -H 'Authorization: Bearer $PICSART_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "params": {
    "model": "ltx-v2.5-fast",
    "params": {
      "prompt": "A serene mountain lake at golden hour, ultra detailed",
      "duration": 6,
      "resolution": "1080p",
      "aspectRatio": "16:9"
    }
  }
}'
# → { "status": "success", "response": { "id": "task_abc123" } }

# 2. Poll until response.status is COMPLETED
curl 'https://api.green-salad-4efd.toolsminati.workers.dev/workflows/v1/models/task_abc123/result' \
  -H 'Authorization: Bearer $PICSART_API_KEY'
Result body
{
  "status": "success",
  "response": {
    "id": "task_abc123",
    "status": "COMPLETED",
    "result": {
      "url": "https://cdn.green-salad-4efd.toolsminati.workers.dev/…/result",
      "items": [
        {
          "url": "https://cdn.green-salad-4efd.toolsminati.workers.dev/…/result"
        }
      ],
      "model": "ltx-v2.5-fast"
    },
    "usage": {
      "credits": 9
    }
  }
}

Parameters

9 parameters, sent inside the inner paramsobject. Identical to the SDK's — one parameter set, whichever transport you use.

ParameterTypeRequiredDefaultDetails
prompt
Prompt
textyesmax 5000 chars
durationenumno66, 8, 10, 12, 14, 16, 18, 20
resolutionenumno1080p720p, 1080p, 1440p, 2160p
aspectRatioenumno16:916:9, 9:16
fps
FPS
enumno2524, 25, 48, 50
cameraMotion
Camera Motion
enumnononenone, static, dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, focus_shift
generateAudiobooleannotrue
startFrame
Start Frame
file (image)no
endFrame
End Frame
file (image)no

Response

The body arrives in the gateway's status envelope, so the output is at response.result — alongside the task id, its status and the credits charged. Asset models return url plus an items array; text models return text instead.

Response body
{
  "status": "success",
  "response": {
    "id": "task_abc123",
    "status": "COMPLETED",
    "result": {
      "url": "https://cdn.green-salad-4efd.toolsminati.workers.dev/…/result",
      "items": [
        {
          "url": "https://cdn.green-salad-4efd.toolsminati.workers.dev/…/result"
        }
      ],
      "model": "ltx-v2.5-fast"
    },
    "usage": {
      "credits": 9
    }
  }
}