Glosario
Todos los términos de esta documentación, de clave de API a webhook, explicados con palabras sencillas, con lo que significan en SpicyAPI y dónde ampliar información.
Esta documentación usa palabras técnicas porque el producto es una API. En esta página se explica cada una en lenguaje llano, por orden alfabético. Cada entrada tiene tres partes: qué significa la palabra en general, qué significa en SpicyAPI y qué página tiene todos los detalles.
Las demás páginas enlazan directamente a cada entrada, así que si una palabra te frena en otro sitio, lo más probable es que esté aquí. Para ver el panorama completo, empieza por Cómo funciona SpicyAPI.
Agent Skill
Una carpeta de instrucciones escritas que un asistente de programación con IA lee antes de ponerse con una tarea, como el manual de procedimientos que le entregas a un compañero nuevo. No contiene ningún programa y no hace nada por sí sola.
En SpicyAPI: el Skill oficial, publicado como @spicyapi/skill, enseña a asistentes como Claude Code, Codex o Cursor a usar SpicyAPI correctamente: leer el catálogo en vivo en lugar de adivinar, mostrarte el precio antes de cualquier trabajo de pago, reutilizar las claves de idempotencia y no pegar nunca tu clave de API en el código. Se instala con npx skills add spicyapi-ai/spicy-skill. Combina bien con el servidor MCP.
Más información: Agent Skill
API
Siglas de application programming interface (interfaz de programación de aplicaciones): un conjunto fijo de solicitudes que un programa puede enviar a otro y las respuestas que recibe a cambio. Un sitio web está hecho para que las personas hagan clic; una API está hecha para que la llamen los programas.
En SpicyAPI: la API es el camino por el que todas las herramientas llegan a los modelos. El Playground, la CLI, el servidor MCP y el SDK envían a api.spicyapi.ai los mismos tipos de solicitudes que puede enviar tu propio código.
Más información: OpenAPI y lista de endpoints
Archivo generado (asset) y su URL
Un asset es cada uno de los archivos que produce una tarea, por ejemplo una imagen o un video. Su URL de salida es la dirección web desde la que lo descargas.
En SpicyAPI: una tarea terminada enumera sus archivos en output.assets[]. Cada uno tiene una url que puedes descargar directamente, sin tu clave de API, además de expiresAt, mime (el tipo de archivo) y datos sobre su tamaño. El enlace dura unos 20 minutos; vuelve a consultar la tarea para obtener uno nuevo. El archivo en sí se guarda como máximo unos 14 días, así que guarda una copia de todo lo que necesites. Un asset marcado con pending: true todavía se está almacenando (vuelve a intentarlo en unos segundos); uno marcado con unavailable: true ya no existe y no volverá.
Más información: Tareas asíncronas · Carga y descarga de medios
Callback
Otro nombre de un webhook. En SpicyAPI, la dirección se indica en el campo callBackUrl al crear una tarea.
Catálogo
La lista de modelos disponibles, con sus precios y las entradas que acepta cada uno.
En SpicyAPI: hay dos versiones de la misma lista.
- El catálogo público no necesita cuenta ni clave. Es lo que muestra spicyapi.ai/explore y lo que devuelve
GET /console/v1/catalog/models. Úsalo para explorar y comparar. - El catálogo autenticado,
GET /api/v1/modelscon tu clave de API, es la única fuente fiable de los modelos que tu clave puede llamar en este momento, a los precios de tu cuenta. Antes de un trabajo de pago, elige un elemento que tengaenabledyavailableentrue.
El comando de la CLI spicyapi models list, el método del SDK listModels() y la herramienta MCP spicyapi_models_list leen todos el catálogo autenticado.
Más información: Catálogo de modelos y esquemas
Clave de API
Una cadena secreta que demuestra que una solicitud viene de ti. Trátala como una contraseña que usan los programas.
En SpicyAPI: las claves empiezan por sk-spicy- y se crean en la página Claves de API de la consola. Una clave se muestra una sola vez; si la pierdes, crea otra. Cada solicitud envía la clave en la cabecera Authorization: Bearer. Guarda las claves en tu propio equipo o servidor, nunca en una página web, una aplicación móvil, un repositorio público, una captura de pantalla o un chat. Cada clave puede tener sus propios límites de gasto, una lista de modelos permitidos y una lista de direcciones IP permitidas.
Más información: Autenticación · Configura tu cuenta
Clave de idempotencia
Una etiqueta que inventas para un trabajo concreto, de forma que enviar dos veces la misma solicitud haga el trabajo una sola vez. «Idempotente» significa que repetir una acción no tiene ningún efecto adicional.
En SpicyAPI: envíala en la cabecera Idempotency-Key al crear o reintentar una tarea, por ejemplo order-8814-render-1. Si se te corta la conexión y no sabes si la tarea llegó a iniciarse, vuelve a enviar la misma solicitud con la misma clave de idempotencia y la misma clave de API en menos de 24 horas: recibes la tarea original y no se te cobra dos veces. Usa una clave nueva para cada trabajo nuevo. Reutilizar una clave con una solicitud distinta se rechaza con 409. Las claves pueden tener hasta 128 caracteres.
Más información: Idempotencia
CLI
Siglas de command-line interface (interfaz de línea de comandos): un programa que se usa escribiendo comandos en una terminal en lugar de hacer clic en botones.
En SpicyAPI: el comando spicyapi, publicado como @spicyapi/cli, te permite listar modelos, consultar precios, crear tareas de imagen y video, esperar a que terminen y descargar los resultados sin escribir código. Solo tasks create y tasks retry cuestan dinero, y los dos te preguntan antes. Necesita Node.js 22.13 o posterior; puedes ejecutarla con npx @spicyapi/cli sin instalarla.
Más información: Herramienta de línea de comandos (CLI)
Código de error
Un valor corto y fijo que le dice a un programa qué ha fallado, para que pueda reaccionar sin leer el texto del mensaje.
En SpicyAPI: hay dos tipos.
code, dentro de la envoltura, describe la propia solicitud.200es éxito; otros valores son400(solicitud no válida),401(problema con la clave),40201(saldo insuficiente),40202(se alcanzó un límite de gasto) y429(demasiadas solicitudes). Es un código de negocio, más específico que el estado HTTP que se envía junto a él.errorCodeaparece en una tarea que se aceptó pero después falló. Toma uno de estos nueve valores:invalid_request,unsupported_combination,content_rejected,rate_limited,upstream_unavailable,generation_failed,timeout,invalid_assetoupstream_failed.
Los mensajes que los acompañan, msg y errorMessage, son para personas: su redacción puede cambiar y pueden llegar en el idioma que elijas. Los programas deben decidir qué hacer basándose solo en los códigos.
Más información: Errores
Compatible con OpenAI
Que acepta solicitudes en el mismo formato que la API de OpenAI, de modo que el software escrito para OpenAI funciona cambiando solo la dirección y la clave.
En SpicyAPI: los modelos de texto se pueden llamar con POST /v1/chat/completions y POST /v1/responses en formato OpenAI, con POST /v1/messages en formato Anthropic y con /v1beta/models/… en formato Google Gemini, siempre con la misma clave de API. Apunta la biblioteca oficial openai a https://api.spicyapi.ai/v1. Cualquier modelo de texto funciona con cualquiera de estos formatos. Estos endpoints cobran el precio vigente en el momento en que se acepta la solicitud y no admiten cotización, así que pon límites de gasto a la clave.
Más información: Texto y streaming
Conservación
Cuánto tiempo se guardan los datos almacenados antes de borrarse.
En SpicyAPI:
| Qué | Cuánto tiempo se guarda |
|---|---|
| Enlace de descarga de un resultado | Unos 20 minutos; vuelve a consultar para obtener otro |
| Imágenes y videos generados | Como máximo unos 14 días |
| Archivos que subes como entrada | 1 día |
| Texto del prompt y demás contenido de la tarea | 30 días |
| El registro de la tarea (ID, modelo, estado, importe, fechas) | Se conserva, sin contenido |
Puedes acortar cuánto tiempo se guardan los archivos generados, las subidas y el texto del prompt en la página Protección de datos de la consola, o para una sola tarea con la cabecera X-Spicy-Retention, y destruir el contenido en cualquier momento con la purga. Nada de lo que configures alarga un plazo.
Más información: Conservación y destrucción
Cotización
Un precio calculado de antemano para una solicitud exacta.
En SpicyAPI: POST /api/v1/jobs/quote recibe el mismo cuerpo que enviarías y devuelve estimatedCost, maxCharge y expiresAt, sin crear ninguna tarea ni retener dinero. No cuesta nada y es válida durante cinco minutos. Si envías la tarea con el quoteId y el expectedCost devueltos y la solicitud o el precio han cambiado, el envío se rechaza con 40901 en lugar de cobrarte un importe distinto. La CLI y el servidor MCP piden una cotización automáticamente antes de crear una tarea.
Más información: Cotizaciones y compatibilidad
Endpoint
Una solicitud concreta que acepta una API, identificada por un método HTTP (como GET para leer o POST para enviar) y una ruta.
En SpicyAPI: por ejemplo, POST /api/v1/jobs/createTask inicia una generación y GET /api/v1/jobs/recordInfo lee una tarea. La dirección completa es la URL base seguida de la ruta.
Más información: OpenAPI y lista de endpoints
Envoltura
Un envoltorio exterior fijo en el que va cada respuesta, para que un programa sepa siempre dónde mirar.
En SpicyAPI: las respuestas de la API nativa (bajo /api/v1) tienen este aspecto:
{ "code": 200, "msg": "success", "data": {}, "request_id": "req_01k3m8x9q2z4v7n5p6r8s0t1w2" }code es un código de negocio (200 significa éxito), msg es un mensaje legible para personas, data contiene la respuesta y se omite por completo cuando hay un error, y request_id identifica esta solicitud. Los endpoints compatibles con OpenAI, Anthropic y Gemini usan en su lugar la estructura de sus propios protocolos.
Más información: Errores
Espacio de trabajo y equipo
Un espacio compartido en el que varias personas usan las mismas claves, tareas y presupuestos bajo una misma cuenta.
En SpicyAPI: un espacio de trabajo de equipo tiene miembros con roles: owner, admin, developer, billing y readonly. Todos los miembros ven los resúmenes de las tareas y el consumo; owner, admin y developer ven además las entradas y los resultados de las tareas. La cuenta del propietario paga las tareas nuevas del equipo, y los miembros nunca ven el saldo ni los pagos propios del propietario. Los equipos pueden fijar presupuestos diarios y mensuales.
Más información: Consola y espacios de trabajo
Esquema de entrada
Una descripción legible por máquinas de qué campos puede contener una solicitud, de qué tipo es cada uno y qué valores se permiten.
En SpicyAPI: cada modelo tiene su propio inputSchema, escrito en JSON Schema. Enumera los campos que puedes poner en input, como prompt, image_url o duration_seconds, con sus límites y valores predeterminados. El servidor comprueba cada solicitud contra él, y basta un solo campo desconocido para recibir un error 400. El Playground construye su formulario a partir del mismo esquema, y los examples del catálogo son entradas completas que ya lo han superado.
Más información: Catálogo de modelos y esquemas · Spicy Schema
Estado de la tarea
En qué punto de su vida está una tarea.
En SpicyAPI:
| Estado | Significado | ¿Se cobra? |
|---|---|---|
queued | Aceptada y a la espera de empezar | Importe retenido, sin cobrar |
running | El modelo está trabajando | Importe retenido, sin cobrar |
succeeded | Terminó con un resultado | Se cobra el uso real, nunca más de lo retenido |
failed | Terminó sin resultado; errorCode indica por qué | Las tareas fallidas o vencidas normalmente liberan toda la retención. Algunos rechazos de contenido se cobran al precio aceptado, solo si la página del modelo indica expresamente esta excepción. Consulta settled y cost para conocer el importe final. |
expired | Superó su plazo sin terminar | No, se libera todo |
Los registros antiguos también pueden mostrar canceled, un estado al que las tareas nuevas nunca llegan. Trata cualquier estado distinto de queued o running como un estado terminal.
Más información: Tareas asíncronas
Estado HTTP
Un número de tres cifras al principio de cada respuesta web que indica, a grandes rasgos, cómo fue la solicitud. 2xx significa que funcionó, 4xx que algo de la solicitud estaba mal y 5xx que el servidor tuvo un problema.
En SpicyAPI: crear una tarea responde 202 Accepted, que significa que la tarea se aceptó, no que haya terminado. Las respuestas nativas llevan además un code de negocio más específico: por ejemplo, un saldo insuficiente es HTTP 402 con code 40201. Elige uno de los dos para decidir qué hace tu código, y sé constante.
Más información: Errores
Estado terminal
Un estado final: cuando una tarea llega a él, ya no vuelve a cambiar.
En SpicyAPI: cualquier estado de tarea distinto de queued o running es terminal: succeeded, failed, expired y, en registros antiguos, canceled. Comprueba «ni queued ni running» en lugar de enumerar los estados finales, para que tu código siga funcionando si se añade uno nuevo. Los webhooks solo se envían cuando una tarea llega a un estado terminal. Solo se pueden purgar las tareas terminadas, y las tareas failed o expired se pueden reintentar.
Más información: Tareas asíncronas
Firma (HMAC)
Un código calculado a partir de un mensaje y un secreto compartido, para que quien lo recibe pueda comprobar que el mensaje es auténtico y que no se modificó por el camino. HMAC es el método estándar para calcularlo.
En SpicyAPI: cada entrega de webhook lleva una cabecera X-Webhook-Signature: un HMAC-SHA256 calculado sobre el ID de la tarea, la hora de la entrega y un resumen (hash) del cuerpo exacto, con tu clave de firma de webhooks. Esa clave se genera o se rota en la página Webhooks de la consola y solo se muestra en ese momento; si no la copiaste, rótala allí. Comprueba la firma antes de fiarte de una entrega, con verifyWebhook del SDK o con spicyapi webhooks verify, y rechaza las entregas cuya marca de tiempo se aleje más de cinco minutos de la hora actual.
Más información: Webhooks
ID de modelo
El nombre exacto que envías para elegir un modelo.
En SpicyAPI: los ID tienen la forma publisher/model/task: quién creó el modelo, qué modelo y versión es, y qué hace el endpoint. Los endpoints de edición de imagen terminan en edit. Copia siempre el ID del catálogo en vivo (GET /api/v1/models, spicyapi models list o listModels()), nunca de memoria ni de una página web, porque los modelos se añaden, se pausan y se retiran. Los ejemplos de esta documentación escriben MODEL_ID_FROM_CATALOG donde va un ID real; si envías ese marcador tal cual, la solicitud falla.
Más información: Catálogo de modelos y esquemas
JSON
Un formato de texto plano para datos estructurados, hecho de nombres y valores entre llaves. Casi todas las API lo usan, porque cualquier lenguaje de programación sabe leerlo.
En SpicyAPI: las solicitudes y las respuestas son JSON. Una solicitud de tarea mínima tiene este aspecto:
{ "model": "MODEL_ID_FROM_CATALOG", "input": { "prompt": "A paper lantern on a rainy street at night" } }MODEL_ID_FROM_CATALOG representa un ID de modelo real tomado del catálogo en vivo. Los importes de dinero se envían siempre como texto, por ejemplo "0.008", para que ninguno se redondee por accidente.
Más información: Inicio rápido
Límite de gasto
Un techo de gasto que fijas de antemano para que un error o una clave filtrada no puedan agotar todo tu saldo.
En SpicyAPI: cada clave de API puede tener un límite diario, uno mensual y uno acumulado, en dólares estadounidenses, que fijas tú; las claves nuevas no tienen ninguno hasta que añades uno. Los equipos pueden añadir presupuestos diarios y mensuales, y la plataforma tiene su propio límite diario. Una tarea que superaría cualquiera de ellos se rechaza con 40202 antes de empezar, y no se cobra nada. Los límites diarios se reinician a las 00:00 UTC y los mensuales el día 1 de cada mes; los acumulados no se reinician nunca. Escribir 0 significa que no hay límite en ese nivel.
Más información: Facturación · Autenticación
Límite de solicitudes
Un máximo de solicitudes que puedes enviar en un periodo de tiempo, para que un programa descontrolado no pueda saturar un servicio.
En SpicyAPI: la API nativa permite, de forma predeterminada, 1.000 solicitudes cada 10 segundos por cuenta, para lecturas y otras tantas para escrituras, y cada cupo lo comparten todas las claves de la cuenta. El sondeo cuenta como lectura, así que un bucle de sondeo intenso no puede frenar el envío de tus tareas. Si lo superas, recibes 429 con una cabecera Retry-After que indica cuántos segundos esperar. El límite cuenta solicitudes, no tareas: las tareas que ya están en marcha no lo consumen.
Más información: Límites de solicitudes
MCP
Siglas de Model Context Protocol: un estándar abierto que permite a los asistentes de IA cargar capacidades adicionales, llamadas herramientas, desde pequeños programas llamados servidores MCP.
En SpicyAPI: el servidor oficial, @spicyapi/mcp, se ejecuta en tu propio equipo y da a asistentes como Claude, Cursor, VS Code o Codex 15 herramientas de SpicyAPI: explorar modelos, pedir cotizaciones, crear tareas, subir archivos y obtener resultados. Iniciar, reintentar o destruir una tarea se detiene y te pide confirmación, mostrando el precio cuando lo hay; el asistente no puede responder por ti. Necesita Node.js 22.13 o posterior.
Más información: Servidor MCP
Modalidad
El tipo de medio con el que trabaja un modelo.
En SpicyAPI: cada entrada del catálogo tiene un modality, como image, video o text, y una lista de tasks, como text-to-image o image-to-video. Úsalos para filtrar el catálogo, por ejemplo GET /api/v1/models?modality=video&task=image-to-video.
Más información: Catálogo de modelos y esquemas
Node.js
Un programa gratuito que ejecuta JavaScript fuera del navegador. Muchas herramientas para desarrolladores están escritas en JavaScript y necesitan tenerlo instalado.
En SpicyAPI: el SDK, la CLI y el servidor MCP necesitan Node.js 22.13 o posterior; el instalador que usa el Skill pide la 22.20 o posterior. Instala la versión LTS desde nodejs.org y compruébala en una terminal con node --version. No necesitas Node.js para el Playground ni si llamas a la API desde otro lenguaje.
Más información: CLI: antes de empezar
npm y npx
npm es el gestor de paquetes que viene con Node.js: descarga e instala paquetes de JavaScript. npx, que se instala con él, ejecuta un paquete sin instalarlo de forma permanente.
En SpicyAPI: las cuatro herramientas de Node.js son paquetes npm: @spicyapi/sdk, @spicyapi/cli, @spicyapi/mcp y @spicyapi/skill. Por ejemplo, npm install @spicyapi/sdk añade el SDK de TypeScript a un proyecto y npx @spicyapi/cli status ejecuta la CLI una vez sin instalarla. Los SDK de Python, Go, PHP y Java se instalan, en cambio, con las herramientas de sus propios ecosistemas; consulta la página de cada SDK.
Más información: SDK de TypeScript · Herramienta de línea de comandos (CLI)
Playground
Un formulario en un sitio web donde puedes probar un modelo rellenando campos y pulsando un botón, sin escribir código.
En SpicyAPI: cada página de modelo en spicyapi.ai tiene una pestaña Playground. Puedes rellenar el formulario y ver la solicitud que construye sin tener cuenta; para ejecutarlo necesitas iniciar sesión y tener saldo. Cada ejecución muestra primero su costo estimado, se cobra igual que una llamada a la API y aparece en Registros, dentro de la consola.
Más información: Cómo funciona SpicyAPI
Purga
Borrar de forma permanente, cuando lo pides, el contenido almacenado, en lugar de esperar a que caduque.
En SpicyAPI: POST /api/v1/jobs/purge (o Destruir resultados en los Registros de la consola, spicyapi tasks purge, purgeTask()) borra los archivos generados de una tarea terminada, su resultado y el texto del prompt de su entrada. El registro de facturación se mantiene: importe, modelo, estado, fechas y request_id. Purgar no es cancelar, no reembolsa nada y no se puede deshacer. Solo funciona con tareas que ya han terminado.
Más información: Conservación y destrucción
request_id
Un identificador que el servidor asigna a una solicitud para poder encontrarla después en los registros.
En SpicyAPI: toda respuesta nativa lleva request_id (por ejemplo req_01k3…), que también se envía en la cabecera X-Request-Id, tanto si la solicitud sale bien como si falla. Guárdalo en tus registros e inclúyelo cuando contactes con soporte. En un webhook de la versión 2, en cambio, request_id identifica esa entrega (whd_…) y no cambia cuando la entrega se reintenta.
Más información: Errores · Webhooks
Retención, liquidación y liberación
Los tres pasos del pago de una tarea. Una retención es dinero apartado pero todavía no gastado, como cuando un hotel bloquea un importe en tu tarjeta.
En SpicyAPI:
- Retención: cuando se acepta una tarea, su costo estimado (
estimatedCost) se aparta de tu saldo y aparece comoheld(retenido). Todavía no es un cargo, y es también lo máximo que podrá costar esa tarea. - Liquidación: cuando la tarea sale bien, se te cobra lo que realmente consumió, nunca más de lo retenido. Lo que sobre vuelve a tu saldo disponible.
settled: trueen la tarea significa que el importe decostes definitivo. - Liberación: Las tareas fallidas o vencidas normalmente liberan toda la retención. Algunos rechazos de contenido se cobran al precio aceptado, solo si la página del modelo indica expresamente esta excepción. Consulta
settledycostpara conocer el importe final.
Más información: Facturación
Saldo
El dinero de tu cuenta con el que se pagan las generaciones.
En SpicyAPI: un saldo prepagado en dólares estadounidenses, sin créditos ni puntos. Lo que pagas no caduca nunca; el bono promocional tiene su propia fecha de caducidad. Se añade saldo en la página Facturación de la consola. GET /api/v1/chat/credit devuelve tres importes como texto, por ejemplo "128.42": available (disponible para gastar), held (retenido para tareas que aún están en marcha) y total. Algunas cuentas tienen además bonos promocionales o una línea de crédito aprobada, que aparecen en un desglose aparte. No hay plan gratuito: las cuentas nuevas empiezan en cero.
Más información: Facturación · Configura tu cuenta
SDK
Siglas de software development kit (kit de desarrollo de software): una biblioteca de código ya hecha que añades a tu propio programa para no tener que construir cada solicitud a mano.
En SpicyAPI: hay cinco SDK oficiales: @spicyapi/sdk para TypeScript y JavaScript en Node.js, más uno para Python, otro para Go, otro para PHP y otro para Java. Cada uno se ocupa de la clave, de esperar a las tareas, de los reintentos, de las subidas y de comprobar los webhooks, de modo que un par de llamadas llevan una tarea desde el envío hasta el resultado. Todos funcionan solo en servidores, no en navegadores ni en aplicaciones móviles, y ninguno cubre los modelos de chat.
Más información: SDK de TypeScript · SDK de Python · SDK de Go · SDK de PHP · SDK de Java
Sondeo (polling)
Preguntar a un servidor una y otra vez si algo ha terminado, en lugar de esperar a que te avise.
En SpicyAPI: para sondear una tarea usas GET /api/v1/jobs/recordInfo?taskId=… hasta que su estado deja de ser queued o running. Espera de 2 a 3 segundos antes de la primera comprobación, haz que cada espera sea aproximadamente 1,5 veces más larga que la anterior hasta llegar a entre 10 y 15 segundos, y deja de esperar al llegar a un plazo que elijas tú. Dejar de esperar no detiene la tarea. El sondeo cuenta para tu límite de solicitudes, así que en producción es preferible un webhook.
Más información: Tareas asíncronas
Streaming (SSE)
Enviar una respuesta por partes a medida que se produce, por una única conexión abierta, en lugar de enviarla entera al final. SSE, siglas de server-sent events (eventos enviados por el servidor), es el formato web habitual para hacerlo.
En SpicyAPI: los modelos de texto pueden transmitir su respuesta palabra por palabra a través de los endpoints compatibles (por ejemplo, stream: true en /v1/chat/completions) o del endpoint nativo POST /api/v1/jobs/stream. Cada protocolo marca el final del stream a su manera. Cerrar la conexión antes de tiempo hace que dejes de recibir el texto, pero no detiene el modelo, y el consumo se cobra igualmente. El texto transmitido no se almacena, así que después no se puede volver a obtener.
Más información: Texto y streaming
Subida de archivos
Enviar un archivo desde tu equipo a un servidor para poder usarlo allí.
En SpicyAPI: un modelo que admite una entrada de imagen, video o audio puede recibirla de tres formas: un enlace HTTPS público al archivo, una imagen pequeña incrustada en la solicitud como data URI (hasta 1 MiB) o un archivo subido. Subir un archivo lleva tres pasos: pedir un ticket (POST /api/v1/common/upload-url), enviar el archivo a la dirección que indica el ticket y confirmarlo (POST /api/v1/files/{fileId}/commit). La confirmación devuelve una dirección spicy:// que pones en el campo de entrada del modelo. Se puede usar durante un día. Las imágenes pueden ocupar hasta 10 MiB, y el audio o el video hasta 90 MiB y 600 segundos. uploadFile() del SDK, spicyapi files upload y el servidor MCP hacen los tres pasos por ti.
Más información: Carga y descarga de medios
Tarea
Una unidad de trabajo que se ejecuta en segundo plano: la entregas y recoges el resultado más tarde.
En SpicyAPI: cada generación de imagen o de video es una tarea. POST /api/v1/jobs/createTask la acepta y devuelve un ID de tarea que empieza por job_; después sondeas la tarea o recibes un webhook cuando termina. A través de la API, una tarea solo se puede leer con la misma clave de API que la creó; la página Registros de la consola muestra todas las tareas de tu cuenta. Una tarea aceptada no se puede cancelar.
Más información: Tareas asíncronas · Ejecución y reintentos
Terminal
Una ventana de texto en la que escribes comandos y pulsas Enter para ejecutarlos. En macOS es la aplicación Terminal; en Windows, usa PowerShell; en la mayoría de los escritorios Linux se abre una con Ctrl + Alt + T. No hay que confundirla con un estado terminal.
En SpicyAPI: usas una terminal para ejecutar la CLI, para instalar herramientas de Node.js como el servidor MCP o el Skill y para probar los ejemplos con curl de esta documentación.
Más información: CLI: antes de empezar
URL base
La primera parte fija de todas las direcciones que usa una API. La escribes una vez en tu código o en la configuración de tu herramienta, y cada solicitud añade detrás su propia ruta.
En SpicyAPI: hay dos.
| URL base | Para qué se usa |
|---|---|
https://api.spicyapi.ai/api/v1 | La API nativa: modelos, cotizaciones, tareas, subidas, saldo |
https://api.spicyapi.ai/v1 | Endpoints en formato OpenAI (texto y video) y en formato Anthropic (texto) |
Las solicitudes en formato Google Gemini van a https://api.spicyapi.ai/v1beta. Las bibliotecas oficiales de Anthropic y de Google GenAI añaden ellas mismas la parte de la versión, así que para ellas configuras solo https://api.spicyapi.ai.
Más información: Inicio rápido · Texto y streaming
Variable de entorno
Un valor con nombre que tu terminal entrega a cada programa que inicia. Permite que un programa lea un ajuste, como una clave secreta, sin que el valor quede escrito en un archivo o en un comando.
En SpicyAPI: el SDK, la CLI, el servidor MCP y los ejemplos de código de esta documentación leen tu clave de API de una variable llamada SPICY_API_KEY. Para configurarla en la ventana de terminal actual:
export SPICY_API_KEY="sk-spicy-paste-your-key-here"Ese ajuste se pierde al cerrar la ventana. La página de la CLI explica cómo hacerlo permanente y cómo comprobarlo sin mostrar la clave completa.
Más información: CLI: antes de empezar · Configura tu cuenta
Webhook
Una dirección en tu propio servidor a la que otro servicio llama cuando ocurre algo, para que no tengas que estar preguntando. También se llama callback.
En SpicyAPI: pon una dirección HTTPS pública en callBackUrl al crear una tarea. Cuando la tarea llega a un estado terminal, SpicyAPI envía allí una solicitud POST con el mismo contenido que devolvería recordInfo, firmada con tu clave de firma de webhooks. Responde con cualquier estado 2xx en menos de 15 segundos; si no, la entrega se reintenta, hasta ocho intentos a lo largo de unas nueve horas, y puedes reenviarla desde la página Webhooks de la consola. No hay ninguna notificación cuando una tarea simplemente empieza. Las direcciones locales como http://localhost:3000 no pueden recibir webhooks, así que mientras desarrollas en tu propio equipo usa el sondeo.
Más información: Webhooks
Preguntas frecuentes
Respuestas breves a lo que más se pregunta sobre SpicyAPI, desde el plan gratuito y el cobro de las tareas fallidas hasta cancelar tareas, conservar resultados y resolver los errores más comunes.
Contenido y responsabilidad de uso
Qué comprueba SpicyAPI, de qué eres responsable, qué usos están prohibidos, dónde está disponible el servicio y cómo denunciar abusos.

