Skip to main content

Documentation Index

Fetch the complete documentation index at: https://apixo.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

What this model is for

Use this page after trying Flux 2 in the APIXO playground. It shows the model ID, request body, result format, and the shared async workflow links you need for API integration.

Model ID, endpoint, and auth

  • Model ID: flux2
  • Base URL: https://api.apixo.ai/api/v1
MethodEndpointDescription
POST/api/v1/generateTask/flux2Create generation task
GET/api/v1/statusTask/flux2Query task status

Authentication

All requests require an API Key in the header:
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
default:"async"
async (polling) or callback (webhook)
callback_url
string
Callback URL, required when request_type=callback (conditional)
provider
string
default:"auto"
Routing strategy: auto, value, or official
input
object
required
Model input parameters
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

Copy-paste quickstart

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 and result format

POST /api/v1/generateTask/flux2

Returns taskId on success for subsequent status queries. Success:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678"
  }
}
Error:
{
  "code": 400,
  "message": "Insufficient credits",
  "data": null
}

GET /api/v1/statusTask/flux2

Query task execution status and results via 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"
  }
}

Polling result fields

taskId
string
Unique task identifier.
state
string
Current task state: pending, processing, success, or failed.
resultJson
string
JSON string containing resultUrls array. Only present on success. Parse with JSON.parse().
failCode
string
Error code. Only present when state is failed. See Error Codes.
failMsg
string
Human-readable error message. Only present when state is failed.
createTime
integer
Task creation timestamp (Unix milliseconds).
completeTime
integer
Task completion timestamp (Unix milliseconds).
costTime
integer
Processing duration in milliseconds.

Polling and webhook result retrieval

Use request_type: "async" with the status endpoint when your app wants to poll for completion. Use request_type: "callback" with callback_url when your production service should receive the final result automatically. See Webhooks for delivery details.

Common errors

CodeDescription
400Invalid parameters or request error
401Invalid or missing API Key
429Rate limit exceeded
Fail CodeDescription
CONTENT_VIOLATIONContent violates safety guidelines
INVALID_IMAGE_URLCannot access provided image URL

Rate Limits

LimitValue
Requests10000 / minute
Concurrent tasks1000
Exceeding limits returns 429 error. Wait and retry.

Tips

  • Generation time: Average ~30 seconds. Submit task, wait 20 seconds, then poll every 3 seconds.
  • Callback mode: For high-concurrency scenarios, use callback mode to avoid frequent polling.
  • Image expiration: Result URLs are valid for 15 days. Download and store important outputs promptly.
  • 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. Download and store important outputs promptly. For high-concurrency scenarios, use callback mode to avoid frequent polling.