Отправьте задачу генерации в любую поддерживаемую AI-модель.
Endpoint
POST https://api.apixo.ai/api/v1/generateTask/{model}
Замените {model} на ID модели (например, nano-banana, flux-2, sora-2, midjourney).
Bearer token для аутентификации API. Формат: Bearer YOUR_API_KEY
Должно быть application/json.
Request Body
request_type
string
по умолчанию: "async"
обязательно
Способ получения результатов. async — polling через status endpoint, callback — доставка через webhook.
Webhook URL для получения результатов. Обязателен при request_type = callback. Должен быть публично доступный HTTPS URL, отвечающий HTTP 200 в течение 30 секунд. См. Webhooks для деталей.
Параметры генерации, специфичные для модели. Режим генерации (например, text-to-image, image-to-image, text-to-video).
Текстовое описание желаемого результата.
Эталонные изображения для режимов редактирования (например, image-to-image).
Соотношение сторон вывода (например, 1:1, 16:9, 9:16).
Response
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_abc123xyz789"
}
}
Читаемое сообщение о статусе.
Сохраните taskId — он понадобится для запроса статуса и отладки.
Examples
Async Mode (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 } ' )
Callback Mode (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' ,
},
}
)
Error Responses
Code Description 400Неверные параметры запроса 401Недействительный или отсутствующий API key 403Недостаточно прав 429Превышен лимит запросов 500Ошибка сервера
См. Ошибки для подробной обработки ошибок.