Saltar al contenido principal

Endpoints

MétodoEndpointDescripción
POST/api/v1/generateTask/seedream-4-5Crear tarea de generación
GET/api/v1/statusTask/seedream-4-5Consultar 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": "text-to-image",
    "prompt": "...",
    "max_images": 4,
    "resolution": "2K",
    "aspect_ratio": "16:9",
    "sequential_image_generation": "disabled",
    "image_urls": ["..."]
  }
}

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:
  • text-to-image — Generar desde descripción de texto
  • image-to-image — Generar con imágenes de referencia
Generación secuencial de imágenes:
  • disabled — Generar imágenes independientes, sin relación
  • auto — El modelo decide si generar imágenes secuenciales/relacionadas según max_images

Ejemplo

Text-to-Image
curl -X POST "https://api.apixo.ai/api/v1/generateTask/seedream-4-5" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "provider": "value",
    "input": {
      "mode": "text-to-image",
      "prompt": "a cozy cyberpunk cafe with neon lights, ultra detailed",
      "max_images": 4,
      "resolution": "2K",
      "aspect_ratio": "16:9",
      "sequential_image_generation": "disabled"
    }
  }'
Image-to-Image (múltiples referencias)
curl -X POST "https://api.apixo.ai/api/v1/generateTask/seedream-4-5" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "async",
    "provider": "official",
    "input": {
      "mode": "image-to-image",
      "prompt": "make this scene look like sunrise with warm colors",
      "max_images": 3,
      "resolution": "4K",
      "aspect_ratio": "3:4",
      "sequential_image_generation": "auto",
      "image_urls": [
        "https://example.com/ref1.jpg",
        "https://example.com/ref2.jpg"
      ]
    }
  }'

Respuesta

POST /api/v1/generateTask/seedream-4-5

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/seedream-4-5

Consulta el estado de ejecución y resultados de la tarea vía taskId.
curl -X GET "https://api.apixo.ai/api/v1/statusTask/seedream-4-5?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/img1.png\",\"https://r2.apixo.ai/img2.png\",\"https://r2.apixo.ai/img3.png\",\"https://r2.apixo.ai/img4.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:
    • Resolución 2K: ~25-35 segundos
    • Resolución 4K: ~40-55 segundos
    • Envía la tarea, espera 20 segundos y luego consulta cada 3 segundos
  • Modo callback: Para alta concurrencia o generación en alta resolución, 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.
  • Alta resolución: Soporta hasta 4K, ideal para impresión y uso profesional.
  • Generación por lotes: max_images soporta 1-10, genera múltiples candidatos de una vez, facturación por imagen.
  • Imágenes secuenciales:
    • disabled: Generar imágenes independientes
    • auto: Generar inteligentemente imágenes secuenciales con continuidad
    • Ideal para storyboards, viñetas de cómic, etc.
  • Fusión de múltiples referencias: El modo image-to-image soporta hasta 14 referencias.
  • Selección de resolución: 2K equilibrado, 4K para creación profesional.
  • Sugerencias de proporción: 16:9/21:9 apaisado, 9:16 retrato, 1:1 cuadrado.
  • Formatos de imagen: image_urls soporta JPG, PNG, WebP, máx. 10MB por imagen.

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