Перейти к основному содержанию
Создайте первое изображение ИИ менее чем за 5 минут.

Предварительные требования

Шаг 1: Отправка задачи генерации

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"
    }
  }'
Ответ:
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_abc123xyz"
  }
}

Шаг 2: Ожидание результатов (polling)

Подождите несколько секунд, затем проверьте статус задачи:
curl "https://api.apixo.ai/api/v1/statusTask/nano-banana?taskId=task_abc123xyz" \
  -H "Authorization: Bearer YOUR_API_KEY"
Успешный ответ:
{
  "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
  }
}

Шаг 3: Скачивание изображения

Массив resultUrls содержит прямые ссылки на сгенерированные изображения. Откройте URL в браузере или скачайте программно.
Сгенерированные изображения доступны в течение 24 часов. Сохраняйте важные результаты.

Полный пример

Готовый рабочий пример:
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);

Дальнейшие шаги