> ## Documentation Index
> Fetch the complete documentation index at: https://dripart-matt-router-queue-preview.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Use LTX 2.5 Pro with Comfy Router

> Call ltx/ltx-2-5-pro through Comfy Router: endpoint, request shape and the response Router returns.

API Reference for `ltx/ltx-2-5-pro`, served by Comfy Router from LTX.

## Request setup

Create a key at [platform.comfy.org/profile/api-keys](https://platform.comfy.org/profile/api-keys) and export it as `COMFY_API_KEY`. For Python, run `pip install comfy-sdk`. For TypeScript, run `npm install @comfyorg/sdk`. cURL uses raw HTTP.

**Model ID:** `ltx/ltx-2-5-pro`

**Endpoint:** `POST https://api.comfy.org/v2/models/ltx/ltx-2-5-pro`

<Note>
  This model has no runnable request example. Build the body from the input documentation below, then use it with the [Router quickstart](/development/comfy-router/quickstart).
</Note>

## Schema

### Input

<Note>
  Router has not published an authored input schema for this model yet: `GET /v2/models/ltx/ltx-2-5-pro/openapi.json` returns an open object with `x-comfy-input-schema-authored: false`. Router forwards the body to LTX unchanged, so LTX's own API documentation is authoritative for the request fields, and Router does not perform model-specific input validation. Provider validation still applies.
</Note>

### Output

<ResponseField name="completed_at" type="string">
  Job completion timestamp (ISO 8601)
</ResponseField>

<ResponseField name="created_at" type="string">
  Job creation timestamp (ISO 8601)
</ResponseField>

<ResponseField name="error" type="object">
  Present when status is failed
</ResponseField>

<ResponseField name="error.message" type="string" />

<ResponseField name="error.type" type="string" />

<ResponseField name="id" type="string">
  Unique job identifier
</ResponseField>

<ResponseField name="result" type="object">
  Present when status is completed; output URLs expire 24 hours after completion
</ResponseField>

<ResponseField name="result.video_url" type="string">
  URL of the generated video
</ResponseField>

<ResponseField name="status" type="string">
  Job status (pending, processing, completed, failed)
</ResponseField>

## Examples

### Output

```json theme={null}
{
  "completed_at": "2026-01-01T00:02:10Z",
  "created_at": "2026-01-01T00:00:00Z",
  "id": "3f7a1b28-5c0d-4e91-8a6f-1b2c3d4e5f60",
  "result": {
    "video_url": "https://example.invalid/ltx/generated.mp4"
  },
  "status": "completed"
}
```

## Before you ship

The SDKs create an `Idempotency-Key` and reuse it for automatic retries. For manual retries, reuse the original key. Router can hold the connection for up to 10 minutes.

When a request fails, Router sends an `X-Comfy-Error-Type` response header explaining why. A `422` means Router rejected the input before calling the provider. Download generated assets promptly because [result URLs can expire](/development/comfy-router/reference#result-assets).

<CardGroup cols={3}>
  <Card title="Headers" icon="list" href="/development/comfy-router/headers">
    Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.
  </Card>

  <Card title="Using the Router API" icon="code" href="/development/comfy-router/models">
    Model discovery, validation errors, retries, and billing.
  </Card>

  <Card title="Limitations" icon="triangle-exclamation" href="/development/comfy-router/limitations">
    What Router does not do today, and what to use instead.
  </Card>
</CardGroup>
