Saltar al contenido principal

Endpoints

MétodoEndpointDescripción
POST/api/v1/generateTask/ltx-2-19bCrear tarea de generación
GET/api/v1/statusTask/ltx-2-19bConsultar estado de la tarea

Autenticación

Todas las solicitudes requieren una clave API en el header:
Authorization: Bearer YOUR_API_KEY

Cuerpo de la solicitud

{
  "request_type": "async",
  "callback_url": "https://...",
  "provider": "auto",
  "input": {
    "mode": "text-to-video",
    "prompt": "...",
    "resolution": "1080p",
    "duration": 10,
    "aspect_ratio": "16:9",
    "image_urls": ["..."],
    "seed": 12345,
    "loras": [
      {"path": "...", "scale": 1.2}
    ]
  }
}

Parámetros

request_type
string
predeterminado:"async"
async (polling) or callback (webhook)
callback_url
string
Callback URL, required when request_type=callback (conditional)
provider
string
predeterminado:"auto"
Routing strategy: auto, value, or official
input
object
requerido
Model input parameters
Mode Options:
  • text-to-video — Generate video from text
  • image-to-video — Generate video from image
  • text-to-video-LoRA — Text-to-video with LoRA
  • image-to-video-LoRA — Image-to-video with LoRA

Example

Text-to-Video
curl -X POST "https://api.apixo.ai/api/v1/generateTask/ltx-2-19b" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "input": {
      "mode": "text-to-video",
      "prompt": "a futuristic city with flying cars at sunset",
      "resolution": "1080p",
      "duration": 10,
      "aspect_ratio": "16:9",
      "seed": 54248617
    }
  }'
Image-to-Video with LoRA
curl -X POST "https://api.apixo.ai/api/v1/generateTask/ltx-2-19b" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "callback",
    "callback_url": "https://your-server.com/callback",
    "provider": "official",
    "input": {
      "mode": "image-to-video-LoRA",
      "prompt": "make it cinematic with slow pan and dramatic lighting",
      "resolution": "720p",
      "duration": 8,
      "image_urls": ["https://example.com/ref.jpg"],
      "loras": [
        {
          "path": "https://huggingface.co/username/model.safetensors?download=true",
          "scale": 1.2
        }
      ]
    }
  }'
Text-to-Video with Multiple LoRAs
curl -X POST "https://api.apixo.ai/api/v1/generateTask/ltx-2-19b" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "input": {
      "mode": "text-to-video-LoRA",
      "prompt": "anime style magical girl transformation sequence",
      "resolution": "720p",
      "duration": 12,
      "aspect_ratio": "9:16",
      "loras": [
        {"path": "https://huggingface.co/user1/anime_style.safetensors?download=true", "scale": 1.5},
        {"path": "https://huggingface.co/user2/magic_effects.safetensors?download=true", "scale": 0.8}
      ]
    }
  }'

Respuesta

POST /api/v1/generateTask/ltx-2-19b

Devuelve taskId en éxito para consultas de estado posteriores. Éxito:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678"
  }
}
Error:
{
  "code": 400,
  "message": "Insufficient credits",
  "data": null
}

GET /api/v1/statusTask/ltx-2-19b

Consulta el estado de ejecución y resultados de la tarea vía taskId.
curl -X GET "https://api.apixo.ai/api/v1/statusTask/ltx-2-19b?taskId=task_12345678" \
  -H "Authorization: Bearer YOUR_API_KEY"
Éxito:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://r2.apixo.ai/video.mp4\"]}",
    "createTime": 1767965610929,
    "completeTime": 1767965652317,
    "costTime": 41388
  }
}
Fallido:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678",
    "state": "failed",
    "failCode": "CONTENT_VIOLATION",
    "failMsg": "Content does not meet safety guidelines"
  }
}

Campos de respuesta de estado

taskId
string
Identificador único de la tarea.
state
string
Estado actual: pending, processing, success, or failed.
resultJson
string
JSON string containing resultUrls array. Only present on success. Parse with JSON.parse().
failCode
string
Error code. Only present when state is failed. See Códigos de error.
failMsg
string
Human-readable error message. Only present when state is failed.
createTime
integer
Task creation timestamp (Unix milliseconds).
completeTime
integer
Task completion timestamp (Unix milliseconds).
costTime
integer
Processing duration in milliseconds.

Códigos de error

CódigoDescripción
400Parámetros inválidos o error de solicitud
401Clave API inválida o faltante
429Límite de tasa excedido
Fail CodeDescripción
CONTENT_VIOLATIONContent violates safety guidelines
INVALID_IMAGE_URLCannot access provided image URL
INVALID_LORA_URLCannot download LoRA model

Límites de tasa

LímiteValor
Requests10000 / minute
Concurrent tasks1000
Superar los límites devuelve error 429. Espera y reintenta.

Consejos

  • Generation time:
    • 480p: ~40-60 seconds
    • 720p: ~60-90 seconds
    • 1080p: ~90-120 seconds
    • LoRA mode adds 10-20 seconds for loading
    • Submit task, wait 60 seconds, then poll every 5 seconds
  • Callback mode: Video generation takes time, strongly recommend using callback mode.
  • Video expiration: Result URLs are valid for 15 days. Download promptly.
  • Content moderation: Prompts must comply with content safety guidelines.
  • LoRA fine-tuning:
    • Load custom LoRA models for specific styles or characters
    • LoRA URL must be publicly downloadable (HuggingFace, Civitai, etc.)
    • URL should include ?download=true or similar download parameters
    • Max 3 LoRA models simultaneously
    • scale parameter controls LoRA influence, recommended: 0.5-2.0
  • Resolution selection:
    • 480p: Fast generation, for previews
    • 720p: Balanced quality and speed
    • 1080p: Highest quality, for final output
  • Duration: Supports flexible 5-20 second duration, billed per second.
  • Seed reproduction: Same seed + prompt + parameters reproduces identical results.
  • Image formats: image_urls supports JPG, PNG, WebP, max 10MB per image.
  • LoRA compatibility: Use video-trained LoRAs; image LoRAs may not work well.

Video generation takes longer than images — use callback mode for production workloads. Result URLs expire after 15 days; download important outputs promptly.

Relacionado