Envía una tarea de generación a cualquier modelo de IA compatible.
Endpoint
POST https://api.apixo.ai/api/v1/generateTask/{model}
Reemplaza {model} con el ID del modelo (ej. nano-banana, flux-2, sora-2, midjourney).
Token Bearer para autenticación API. Formato: Bearer YOUR_API_KEY
Debe ser application/json.
Cuerpo de la solicitud
request_type
string
predeterminado: "async"
requerido
Cómo recibir resultados. async para polling vía el endpoint de estado, callback para entrega por webhook.
URL del webhook para recibir resultados. Obligatorio cuando request_type es callback. Debe ser una URL HTTPS accesible públicamente que responda con HTTP 200 en 30 segundos. Consulta Webhooks para detalles.
Parámetros de generación específicos del modelo. Modo de generación (ej. text-to-image, image-to-image, text-to-video).
Descripción de texto del resultado deseado.
Imágenes de referencia para modos de edición (ej. image-to-image).
Proporción de dimensiones de salida (ej. 1:1, 16:9, 9:16).
Respuesta
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_abc123xyz789"
}
}
Mensaje de estado legible.
Guarda el taskId — lo necesitarás para consultar el estado o depurar problemas más adelante.
Ejemplos
Modo async (Polling)
curl -X POST https://api.apixo.ai/api/v1/generateTask/nano-banana \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "async",
"input": {
"mode": "text-to-image",
"prompt": "A futuristic city at sunset",
"aspect_ratio": "16:9"
}
}'
const response = await fetch ( 'https://api.apixo.ai/api/v1/generateTask/nano-banana' , {
method: 'POST' ,
headers: {
'Authorization' : 'Bearer YOUR_API_KEY' ,
'Content-Type' : 'application/json' ,
},
body: JSON . stringify ({
request_type: 'async' ,
input: {
mode: 'text-to-image' ,
prompt: 'A futuristic city at sunset' ,
aspect_ratio: '16:9' ,
},
}),
});
const { data } = await response . json ();
console . log ( 'Task ID:' , data . taskId );
import requests
response = requests.post(
'https://api.apixo.ai/api/v1/generateTask/nano-banana' ,
headers = {
'Authorization' : 'Bearer YOUR_API_KEY' ,
'Content-Type' : 'application/json' ,
},
json = {
'request_type' : 'async' ,
'input' : {
'mode' : 'text-to-image' ,
'prompt' : 'A futuristic city at sunset' ,
'aspect_ratio' : '16:9' ,
},
}
)
task_id = response.json()[ 'data' ][ 'taskId' ]
print ( f 'Task ID: { task_id } ' )
Modo callback (Webhooks)
curl -X POST https://api.apixo.ai/api/v1/generateTask/nano-banana \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "callback",
"callback_url": "https://your-server.com/webhook/apixo",
"input": {
"mode": "text-to-image",
"prompt": "A futuristic city at sunset",
"aspect_ratio": "16:9"
}
}'
const response = await fetch ( 'https://api.apixo.ai/api/v1/generateTask/nano-banana' , {
method: 'POST' ,
headers: {
'Authorization' : 'Bearer YOUR_API_KEY' ,
'Content-Type' : 'application/json' ,
},
body: JSON . stringify ({
request_type: 'callback' ,
callback_url: 'https://your-server.com/webhook/apixo' ,
input: {
mode: 'text-to-image' ,
prompt: 'A futuristic city at sunset' ,
aspect_ratio: '16:9' ,
},
}),
});
response = requests.post(
'https://api.apixo.ai/api/v1/generateTask/nano-banana' ,
headers = {
'Authorization' : 'Bearer YOUR_API_KEY' ,
'Content-Type' : 'application/json' ,
},
json = {
'request_type' : 'callback' ,
'callback_url' : 'https://your-server.com/webhook/apixo' ,
'input' : {
'mode' : 'text-to-image' ,
'prompt' : 'A futuristic city at sunset' ,
'aspect_ratio' : '16:9' ,
},
}
)
Respuestas de error
Code Descripción 400Parámetros de solicitud inválidos 401Clave API inválida o faltante 403Permisos insuficientes 429Límite de tasa excedido 500Error del servidor
Consulta Errores para el manejo detallado de errores.