CreaVibeAPIVolver a CreaVibe

Trabajos de IA

Crear una imagen o un SVG, o aplicar un estilo, tarda unos segundos, así que la API trabaja con trabajos asíncronos: un solo recurso, /jobs, para todos.

El flujo

  1. Crea el trabajo con POST /jobs, indicando su type y su input (y, si quieres, una Idempotency-Key). La API responde 202 y la cabecera Location con la URL del trabajo.
  2. Consulta esa URL cada 1 o 2 segundos (Consultar un trabajo), o indica una webhook_url y recibirás el resultado (Webhooks).
  3. Cuando status sea succeeded o failed, ha terminado.

Tipos

typeQué haceCoste
generate_imageImagen nueva desde una descripción.1 crédito
restyle_imageUn estilo (o un cambio descrito) aplicado a una imagen de tu biblioteca.1 crédito
generate_svgUn SVG o un sprite de 2 a 6 iconos.1 crédito por icono

Estados

statusSignificado
queuedEl trabajo está en cola.
processingLa IA está trabajando.
succeededListo: el resultado está en asset y en tu biblioteca.
failedNo se pudo completar: el motivo está en error.code y los créditos se han devuelto.

Ejemplo

POST /jobs · 202 · cabeceras
Location: /api/v1/jobs/394730eb-3747-4fd2-9e06-9a945e9f12fb
POST /jobs · 202
{
  "id": "394730eb-3747-4fd2-9e06-9a945e9f12fb",
  "type": "generate_image",
  "status": "queued",
  "style": null,
  "asset": null,
  "reply": null,
  "error": null,
  "credits_remaining": 19,
  "webhook_url": null,
  "created_at": "2026-10-12T10:10:32.061Z",
  "updated_at": "2026-10-12T10:10:32.061Z"
}
GET /jobs/{id} · 200 (succeeded)
{
  "id": "394730eb-3747-4fd2-9e06-9a945e9f12fb",
  "type": "generate_image",
  "status": "succeeded",
  "style": null,
  "asset": {
    "id": "ba0f0e44-38f6-497a-86d7-0fa26638ef4f",
    "url": "https://creavibe.app/media/recursos/017dfef2-eaf5-429a-86f3-307b8bf36189/fe9c605529e44f34b85de1305c39c239.png",
    "thumbnail_url": "https://creavibe.app/media/miniaturas/recurso/51a5e906ffa3464f874b1156cc35212e.webp",
    "type": "image",
    "source": "generated",
    "name": "A red apple on a wooden table, soft daylight",
    "font_family": null,
    "width": 896,
    "height": 1152,
    "size_bytes": 1181799,
    "created_at": "2026-10-12T10:10:40.432Z"
  },
  "reply": null,
  "error": null,
  "credits_remaining": 15,
  "webhook_url": null,
  "created_at": "2026-10-12T10:10:32.061Z",
  "updated_at": "2026-10-12T10:10:32.084Z"
}

Si falla

Un trabajo fallido devuelve los créditos y explica el motivo en error.code:

error.codeMotivo
content_flaggedLa IA rechazó la imagen o el resultado por posible contenido sensible.
timeoutLa IA tardó demasiado.
busyLa IA está saturada: vuelve a intentarlo en un minuto.
failedCualquier otro fallo de la IA.
GET /jobs/{id} · 200 (failed)
{
  "id": "394730eb-3747-4fd2-9e06-9a945e9f12fb",
  "type": "generate_image",
  "status": "failed",
  "style": null,
  "asset": null,
  "reply": null,
  "error": {
    "code": "content_flagged",
    "message": "The AI rejected the image for possibly sensitive content."
  },
  "credits_remaining": 15,
  "webhook_url": null,
  "created_at": "2026-10-12T10:10:32.061Z",
  "updated_at": "2026-10-12T10:10:32.084Z"
}

Una imagen suele estar lista en menos de un minuto. Si un trabajo sigue sin terminar al cabo de unos minutos, consulta tu biblioteca más tarde.