Zgłoś zadanie generowania do dowolnego obsługiwanego modelu AI.
Endpoint
POST https://api.apixo.ai/api/v1/generateTask/{model}
Zastąp {model} identyfikatorem modelu (np. nano-banana, flux-2, sora-2, midjourney).
Nagłówki
Token Bearer do uwierzytelniania API. Format: Bearer YOUR_API_KEY
Musi być application/json.
Treść żądania
request_type
string
domyślnie: "async"
wymagane
Jak otrzymać wyniki. async — polling przez endpoint statusu, callback — dostawa przez webhook.
URL webhook do odbioru wyników. Wymagany, gdy request_type to callback. Musi być publicznie dostępny URL HTTPS odpowiadający HTTP 200 w ciągu 30 sekund. Szczegóły patrz Webhooks .
Parametry generowania specyficzne dla modelu. Tryb generowania (np. text-to-image, image-to-image, text-to-video).
Opis tekstowy żądanego wyniku.
Obrazy referencyjne dla trybów edycji (np. image-to-image).
Proporcje wymiarów wyjścia (np. 1:1, 16:9, 9:16).
Odpowiedź
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_abc123xyz789"
}
}
Czytelna wiadomość statusu.
Zapisz taskId — będzie potrzebny do sprawdzenia statusu lub debugowania problemów.
Przykłady
Tryb 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 } ' )
Tryb 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' ,
},
}
)
Odpowiedzi błędów
Kod Opis 400Nieprawidłowe parametry żądania 401Nieprawidłowy lub brakujący klucz API 403Niewystarczające uprawnienia 429Przekroczony limit rate 500Błąd serwera
Szczegóły obsługi błędów patrz Błędy .