Endpoints
Method Endpoint Description POST /api/v1/generateTask/flux2Создание задачи генерации GET /api/v1/statusTask/flux2Запрос статуса задачи
Authentication
Все запросы требуют API Key в заголовке:
Authorization: Bearer YOUR_API_KEY
Request Body
{
"request_type" : "async" ,
"callback_url" : "https://..." ,
"provider" : "auto" ,
"input" : {
"mode" : "pro-text-to-image" ,
"prompt" : "..." ,
"aspect_ratio" : "16:9" ,
"resolution" : "1K" ,
"image_urls" : [ "..." ]
}
}
Parameters
request_type
string
по умолчанию: "async"
async (polling) или callback (webhook)
Callback URL, обязателен при request_type=callback (условно)
provider
string
по умолчанию: "auto"
Стратегия маршрутизации: auto, value или official
Параметры входа модели mode
string
по умолчанию: "pro-text-to-image"
обязательно
pro-text-to-image, pro-image-to-image, flex-text-to-image, or flex-image-to-image
Text description, 3-5000 characters
aspect_ratio
string
по умолчанию: "1:1"
обязательно
1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, or auto
resolution
string
по умолчанию: "1K"
обязательно
1K or 2K
Source image URLs, required for *-image-to-image modes, max 8 (conditional)
Mode Options:
pro-text-to-image — Pro quality, text only
pro-image-to-image — Pro quality, requires image_urls
flex-text-to-image — Fast generation, text only
flex-image-to-image — Fast generation, requires image_urls
Example
Text-to-Image
curl -X POST "https://api.apixo.ai/api/v1/generateTask/flux2" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "async",
"input": {
"mode": "pro-text-to-image",
"prompt": "a cozy cyberpunk cafe with neon lights",
"aspect_ratio": "16:9",
"resolution": "1K"
}
}'
Image-to-Image
curl -X POST "https://api.apixo.ai/api/v1/generateTask/flux2" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "async",
"input": {
"mode": "flex-image-to-image",
"prompt": "make it look like sunrise",
"image_urls": ["https://example.com/image.jpg"],
"aspect_ratio": "9:16",
"resolution": "2K"
}
}'
Response
POST /api/v1/generateTask/flux2
При успехе возвращает taskId для последующих запросов статуса.
Success:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678"
}
}
Error:
{
"code" : 400 ,
"message" : "Insufficient credits" ,
"data" : null
}
GET /api/v1/statusTask/flux2
Запрос статуса выполнения задачи и результатов по taskId.
curl -X GET "https://api.apixo.ai/api/v1/statusTask/flux2?taskId=task_12345678" \
-H "Authorization: Bearer YOUR_API_KEY"
Success:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678" ,
"state" : "success" ,
"resultJson" : "{ \" resultUrls \" :[ \" https://r2.apixo.ai/xxx.png \" ]}" ,
"createTime" : 1767965610929 ,
"completeTime" : 1767965652317 ,
"costTime" : 41388
}
}
Failed:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678" ,
"state" : "failed" ,
"failCode" : "CONTENT_VIOLATION" ,
"failMsg" : "Content does not meet safety guidelines"
}
}
Status Response Fields
Уникальный идентификатор задачи.
Текущее состояние задачи: pending, processing, success или failed.
JSON-строка с массивом resultUrls. Присутствует только при success. Парсите через JSON.parse().
Код ошибки. Присутствует только при state=failed. См. Error Codes .
Читаемое сообщение об ошибке. Присутствует только при state=failed.
Timestamp создания задачи (Unix миллисекунды).
Timestamp завершения задачи (Unix миллисекунды).
Длительность обработки в миллисекундах.
Error Codes
Code Description 400 Неверные параметры или ошибка запроса 401 Недействительный или отсутствующий API Key 429 Превышен лимит запросов
Fail Code Description CONTENT_VIOLATIONКонтент нарушает правила безопасности INVALID_IMAGE_URLНе удаётся получить доступ к URL изображения
Rate Limits
Limit Value Requests 10000 / minute Concurrent tasks 1000
При превышении возвращается ошибка 429. Подождите и повторите.
Tips
Generation time : Average ~30 seconds. Submit task, wait 20 seconds, then poll every 3 seconds.
Callback mode : При высокой конкуренции используйте режим callback вместо частого polling.
Image expiration : Result URLs are valid for 15 days. Скачивайте и сохраняйте важные результаты вовремя.
Content moderation : Prompts must comply with content safety guidelines. Violations return CONTENT_VIOLATION.
Image formats : image_urls supports JPG, PNG, WebP formats, max 10MB per image.
Result URLs expire after 15 days. Скачивайте и сохраняйте важные результаты вовремя. При высокой конкуренции используйте режим callback вместо частого polling.