Skip to main content

Overview

MiniMax Image 01 is an image generation model for text-to-image generation and single-reference image editing. It supports flat per-image pricing, up to 9 generated images per task, flexible size input, and preset output sizing through resolution + aspect_ratio.
CapabilityValue
Model IDminimax-image-01
Modestext-to-image, image-to-image
Prompt length1-1500 characters
Reference imagesExactly 1 URL for image-to-image
Images per tasknum_images supports 1-9
Resolution tiers1K, 2K
Aspect ratios1:1, 16:9, 4:3, 3:2, 2:3, 3:4, 9:16, 21:9
Size input1024*1024, 1024x1024, 1024X1024
Seed range-1 to 2147483647
Prompt optimizertrue, false

Endpoint and authentication

Base URL:
https://api.apixo.ai/api/v1
MethodEndpointPurpose
POST/generateTask/minimax-image-01Submit a generation task
GET/statusTask/minimax-image-01?taskId={taskId}Poll task status and retrieve results
All requests require your APIXO API key:
Authorization: Bearer YOUR_API_KEY
Submit requests also require:
Content-Type: application/json

Copy-paste async quickstart

This minimal request submits a text-to-image task and returns a taskId.
curl -X POST "https://api.apixo.ai/api/v1/generateTask/minimax-image-01" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {
      "mode": "text-to-image",
      "prompt": "a cinematic panda standing in a rainy neon alley",
      "resolution": "2K",
      "aspect_ratio": "16:9",
      "num_images": 3,
      "prompt_optimizer": false,
      "seed": -1
    }
  }'
Successful response:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678"
  }
}
Save the taskId; you need it to poll for the final result.

Poll for result

curl -X GET "https://api.apixo.ai/api/v1/statusTask/minimax-image-01?taskId=task_12345678" \
  -H "Authorization: Bearer YOUR_API_KEY"
Processing response:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678",
    "state": "processing",
    "createTime": 1767965610929
  }
}
Success response:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://file.apixo.ai/image-1.png\",\"https://file.apixo.ai/image-2.png\"]}",
    "createTime": 1767965610929,
    "completeTime": 1767965652317,
    "costTime": 41388
  }
}
Failed response:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_12345678",
    "state": "failed",
    "failCode": "UPSTREAM_ERROR",
    "failMsg": "Generation failed",
    "createTime": 1767965610929,
    "completeTime": 1767965620132
  }
}

Request body

Text-to-image

{
  "input": {
    "mode": "text-to-image",
    "prompt": "a fashion editorial portrait with dramatic side lighting",
    "resolution": "2K",
    "aspect_ratio": "3:4",
    "num_images": 2,
    "prompt_optimizer": false
  }
}

Image-to-image

{
  "input": {
    "mode": "image-to-image",
    "prompt": "transform this image into a watercolor illustration",
    "image_urls": [
      "https://example.com/reference.png"
    ],
    "size": "1280x720",
    "num_images": 3,
    "prompt_optimizer": true,
    "seed": 42
  }
}

Parameters

request_type
string
default:"async"
Result delivery mode. Use async for polling with statusTask, or callback for webhook delivery.
callback_url
string
Required when request_type is callback. Must be a public HTTPS URL that can receive the final task payload. See Webhooks.
input
object
required
MiniMax Image 01 input parameters.

Size presets from resolution + aspect_ratio

When resolution + aspect_ratio is provided, APIXO resolves the final output size using these presets:
Aspect ratio1K size2K size
1:11024x10242048x2048
16:91280x7202048x1152
4:31152x8642048x1536
3:21248x8322048x1368
2:3832x12481368x2048
3:4864x11521536x2048
9:16720x12801152x2048
21:91344x5762048x880

Response format

Submit task response

POST /generateTask/minimax-image-01 returns a task ID when the task is accepted:
code
integer
API status code. 200 means the task was accepted.
message
string
Human-readable status message.
data.taskId
string
Unique task identifier used with the status endpoint.

Status response fields

taskId
string
Unique task identifier.
state
string
Current task state: pending, processing, success, or failed.
resultJson
string
JSON string containing the generated image URLs. Present when state is success.
failCode
string
Machine-readable failure code. Present when state is failed.
failMsg
string
Human-readable failure message. Present when state is failed.
createTime
integer
Task creation timestamp in Unix milliseconds.
completeTime
integer
Task completion timestamp in Unix milliseconds. Present after completion.
costTime
integer
Processing duration in milliseconds. Present after successful completion.

Webhook callback mode

Use callback mode when your backend should receive the final result automatically instead of polling.
curl -X POST "https://api.apixo.ai/api/v1/generateTask/minimax-image-01" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "callback",
    "callback_url": "https://your-server.com/webhooks/apixo",
    "input": {
      "mode": "text-to-image",
      "prompt": "a clean product photo of wireless earbuds on soft stone",
      "resolution": "1K",
      "aspect_ratio": "1:1",
      "num_images": 2
    }
  }'
See Webhooks for delivery requirements and retry behavior.

Billing

MiniMax Image 01 is billed per generated image using a flat public APIXO price.
UnitAPIXO price
Per generated image$0.0035 / image
Billing behavior:
precharge = requested num_images * unit price
final charge = successful images * unit price
If fewer images succeed than requested, APIXO automatically adjusts the final charge to the actual number of successful outputs.

Latency and polling

Actual latency may vary by prompt complexity, provider route, and current queue load.
ResolutionTypical generation timeRecommended first pollPoll interval
1K15s-30s15s after task creation3s-5s
2K20s-40s20s after task creation3s-5s
For high-concurrency production workloads, use callback mode to avoid frequent polling.

Size rules

  • size supports *, x, and X as separators.
  • Explicit size requires width and height to each stay within 512-2048.
  • If a size dimension is not divisible by 8, APIXO rounds it to the nearest valid multiple of 8.
  • When both size and resolution + aspect_ratio are provided, resolution + aspect_ratio takes precedence.
  • If neither size nor resolution + aspect_ratio is provided, the default output size is 1024*1024.
Rate limits and concurrency can vary by account, API key, and route. If you receive 429, slow down requests and retry with backoff. For account-level details, see System APIs.

Errors and troubleshooting

HTTP errors

CodeMeaningWhat to do
400Invalid request body, mode, parameter, or image URL shapeFix the request before retrying
401Missing or invalid API keyCheck the Authorization header
402Insufficient balance or quotaAdd balance or switch account/key
403Key or route cannot access the modelCheck permissions and route strategy
429Rate limit or concurrency limit reachedRetry with exponential backoff
500Server errorRetry with backoff
502Upstream provider errorRetry with backoff
504Upstream timeoutRetry or use callback mode for long-running jobs

Task failure codes

Fail codeMeaningWhat to do
INVALID_PARAMETERA model parameter is unsupported, out of range, or malformedCheck mode, size, resolution, aspect_ratio, and image_urls
INVALID_IMAGE_URLThe reference image URL could not be fetched or decodedUse a public, direct image URL
INSUFFICIENT_BALANCEThe account does not have enough balance for the taskAdd balance before retrying
UPSTREAM_ERRORProvider-side failureRetry with backoff or try another route
TIMEOUTGeneration did not finish in timeRetry, reduce input complexity, or use callback mode
See Error Codes for the full error reference.