/APIXO Docs

Quickstart

Generate your first AI image in 5 minutes

Quickstart

Generate your first AI image in under 5 minutes.

Prerequisites

Step 1: Submit a Generation Task

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 serene Japanese garden with cherry blossoms, golden hour lighting, photorealistic",
      "aspect_ratio": "16:9"
    }
  }'

Response:

{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_abc123xyz"
  }
}

Step 2: Poll for Results

Wait a few seconds, then check the task status:

curl "https://api.apixo.ai/api/v1/statusTask/nano-banana?taskId=task_abc123xyz" \
  -H "Authorization: Bearer YOUR_API_KEY"

Success Response:

{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_abc123xyz",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://cdn.apixo.ai/generated/abc123.jpg\"]}",
    "costTime": 12500,
    "createTime": 1704067200000,
    "completeTime": 1704067212500
  }
}

Step 3: Download Your Image

The resultUrls array contains direct links to your generated images. Open the URL in a browser or download programmatically.

Generated images are available for 24 hours. Download and store important results.

Complete Example

Here's a complete working example:

const generateImage = async (prompt) => {
  const API_KEY = process.env.APIXO_API_KEY;
  const MODEL = 'nano-banana';
  
  // Submit
  const submit = await fetch(`https://api.apixo.ai/api/v1/generateTask/${MODEL}`, {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      request_type: 'async',
      input: { mode: 'text-to-image', prompt, aspect_ratio: '1:1' },
    }),
  });
  
  const { data: { taskId } } = await submit.json();
  
  // Poll
  while (true) {
    await new Promise(r => setTimeout(r, 3000));
    const status = await fetch(
      `https://api.apixo.ai/api/v1/statusTask/${MODEL}?taskId=${taskId}`,
      { headers: { 'Authorization': `Bearer ${API_KEY}` } }
    );
    const { data } = await status.json();
    
    if (data.state === 'success') {
      return JSON.parse(data.resultJson).resultUrls;
    }
    if (data.state === 'failed') {
      throw new Error(data.failMsg);
    }
  }
};
 
// Usage
const urls = await generateImage('A cute robot drinking coffee');
console.log(urls);

Next Steps

On this page