Saltar al contenido principal

Endpoints

MétodoEndpointDescripción
POST/api/v1/generateTask/flux-kontextCrear tarea de generación
GET/api/v1/statusTask/flux-kontextConsultar estado de la tarea

Autenticación

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

Cuerpo de la solicitud

{
  "request_type": "async",
  "callback_url": "https://...",
  "provider": "auto",
  "input": {
    "mode": "pro",
    "prompt": "...",
    "aspect_ratio": "16:9",
    "image_urls": ["..."],
    "output_format": "jpeg"
  }
}

Parámetros

request_type
string
predeterminado:"async"
async (polling) o callback (webhook)
callback_url
string
URL de callback, requerida cuando request_type=callback (condicional)
provider
string
predeterminado:"auto"
Estrategia de enrutamiento: auto, value u official
input
object
requerido
Parámetros de entrada del modelo
Opciones de modo:
  • pro — Mayor calidad, generación más lenta
  • max — Calidad y velocidad equilibradas

Ejemplo

Text-to-Image
curl -X POST "https://api.apixo.ai/api/v1/generateTask/flux-kontext" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "input": {
      "mode": "pro",
      "prompt": "a castle on the hill at sunset",
      "aspect_ratio": "16:9",
      "output_format": "jpeg"
    }
  }'
Image-to-Image (transferencia de estilo)
curl -X POST "https://api.apixo.ai/api/v1/generateTask/flux-kontext" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "provider": "official",
    "input": {
      "mode": "max",
      "prompt": "transform this into a watercolor painting",
      "aspect_ratio": "16:9",
      "image_urls": ["https://example.com/ref.jpg"],
      "output_format": "png",
      "safetyTolerance": 2
    }
  }'

Respuesta

POST /api/v1/generateTask/flux-kontext

Devuelve taskId en caso de é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/flux-kontext

Consulta el estado de ejecución y resultados de la tarea vía taskId.
curl -X GET "https://api.apixo.ai/api/v1/statusTask/flux-kontext?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/xxx.png\"]}",
    "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 o failed.
resultJson
string
Cadena JSON que contiene el array resultUrls. Solo presente en éxito. Parsea con JSON.parse().
failCode
string
Código de error. Solo presente cuando state es failed. Consulta Códigos de error.
failMsg
string
Mensaje de error legible. Solo presente cuando state es failed.
createTime
integer
Marca temporal de creación (Unix milisegundos).
completeTime
integer
Marca temporal de finalización (Unix milisegundos).
costTime
integer
Duración del procesamiento en milisegundos.

Códigos de error

CódigoDescripción
400Parámetros inválidos o error de solicitud
401Clave de API inválida o ausente
429Límite de tasa superado
Código de falloDescripción
CONTENT_VIOLATIONEl contenido viola directrices de seguridad
INVALID_IMAGE_URLNo se puede acceder a la URL de imagen proporcionada

Límites de tasa

LímiteValor
Solicitudes10000 / minuto
Tareas simultáneas1000
Superar los límites devuelve error 429. Espera y reintenta.

Consejos

  • Tiempo de generación: Media ~30 segundos. Envía la tarea, espera 20 segundos y luego consulta cada 3 segundos.
  • Modo callback: Para alta concurrencia, usa modo callback.
  • Caducidad de imágenes: Las URLs de resultado son válidas 15 días.
  • Moderación de contenido: Violaciones devuelven CONTENT_VIOLATION.
  • Imágenes de referencia: image_urls soporta JPG, PNG, WebP, máx. 10MB por imagen.
  • Comprensión de contexto: El modo Kontext destaca al entender estilo y composición de la imagen de referencia.
  • Selección de modo: El modo pro ofrece mayor calidad pero menor velocidad; max equilibra calidad y velocidad.

Las URLs de resultado caducan tras 15 días. Descarga y almacena salidas importantes con prontitud. Para escenarios de alta concurrencia, usa modo callback.

Relacionado