Поиск

Документация на метод "aiimages"

API для генерации изображений
Инструмент: https://tools.pixelplus.ru/tools/ai-images

Описание параметров

modelName (обязательный)
Выберите модель искусственного интеллекта для генерации изображений:
  • "gpt4o-image" — GPT-Image-1
  • "leonardo" — Leonardo
  • "flux-pro-1.1" — Flux 1.1 Pro
  • "midjourney --v 6.1" — Midjourney 6.1
  • "midjourney --v 5.2" — Midjourney 5.2
  • "niji --v 5.2" — Niji 5.2
  • "niji --v 6.1" — Niji 6.1
  • "dalle" — DALL-E-3
  • "stableDiffusion3" — Stable Diffusion 3
  • "stableDiffusion3_Turbo" — Stable Diffusion 3 Turbo
  • "google/nano-banana" — Nano Banana
  • "nano-banana-pro" — Nano Banana Pro
request_field (обязательный)
Запрос к нейросети для генерации изображения.
Максимальная длина: 2000 символов (1000 для Leonardo)
part (обязательный)
Тип операции:
  • "chat_bot" — обычная генерация изображения
  • "with_image" — генерация с использованием исходного изображения
  • "replace_background" — замена фона (цена: 600)
  • "remove_background" — удаление фона (цена: 150)
  • "upscale" — увеличение разрешения (цена: 75)
image_url (опционально)
Изображение в формате .png, .jpg, .jpeg или .webp для использования в качестве референса.
Поддерживающие модели:
Midjourney, Niji, Nano Banana, Nano Banana Pro, GPT-Image-1, Flux 1.1 Pro
Требования к URL:
  • ✓ Должен быть валидным и доступным
  • ✓ Содержать расширение изображения (.png, .jpg, .jpeg, .webp)
  • ✗ Локальные пути и localhost не поддерживаются
  • ✓ Ресурс должен быть доступен (проверяется через HEAD запрос)
img_ref (опционально, только Midjourney)
Определяет, какие аспекты исходного изображения использовать при генерации:
img — Использует композицию, стиль и цветовую гамму. Сохраняет общее визуальное ощущение оригинала.
cref — Основывается на персонажах, воссоздавая их в новых сценариях. Идеально для серий с одними персонажами.
sref — Фокусируется на стиле и эстетике. Переносит визуальный стиль без копирования деталей.
aspect_ratio (опционально)
Соотношение сторон генерируемого изображения. Поддержка зависит от модели:
Leonardo: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9
Midjourney: 1:1, 16:9, 5:4, 4:3, 3:2, 2:1, 9:16, 4:5, 3:4, 2:3, 1:2
Niji: 1:1, 1:2, 2:3, 4:5, 4:7, 2:1, 3:2, 5:4, 7:4, 16:9, 9:16
DALL-E: 1:1, 4:7, 7:4
Flux 1.1 Pro: 1:1, 1:2, 2:1, 2:3, 3:2, 4:5, 5:4, 4:7, 7:4, 9:16, 16:9
Nano Banana: 1:1, 3:4, 4:3, 9:16, 16:9, auto
Nano Banana Pro: auto, 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
imagesCount (опционально)
Количество изображений для генерации: от 1 до 4
Поддерживающие модели: Leonardo, DALL-E, YandexART
resolution (опционально)
Качество/разрешение изображения: 1K, 2K, 4K
Доступно только для: Nano Banana Pro

Ценообразование

Основные цены по моделям:

Модель Цена за 1 изображение (в лимитах)
Leonardo Зависит от количества
DALL-E (1:1) 300
DALL-E (не 1:1) 600
YandexART 100
Stable Diffusion 3 485
Stable Diffusion 3 Turbo 300
Flux 1.1 Pro 300
GPT-Image-1 Зависит от количества
Nano Banana 740 (за запрос)
Nano Banana Pro 900 (за запрос)
Midjourney 1200 (за запрос)
Niji 1200 (за запрос)

Специальные операции:

Операция Цена
Replace Background 600
Remove Background 150
Upscale 75
Примечание: для Leonardo с использованием image_url цена удваивается.

⚠️ Валидация и обработка ошибок

Проверяемые параметры:

  • ✓ Модель — должна быть одной из доступных
  • ✓ Вкладка (part) — должна быть в списке допустимых
  • ✓ Соотношение сторон — должно быть поддерживаемым для выбранной модели
  • ✓ Разрешение — валидация для Nano Banana Pro (1K, 2K, 4K)
  • ✓ Количество изображений — от 1 до 4 (для поддерживающих моделей)
  • ✓ Запрос — не пустой, без параметров --, без URL
  • ✓ Длина запроса — не превышает максимум для модели
  • ✓ Контент — не содержит запрещенный контент (18+)
  • ✓ URL изображения — валидный формат и доступный ресурс

Основные сообщения об ошибках:

  • "Ошибка - неправильно выбранная модель нейросети!"
  • "Ошибка — неправильно выбранная вкладка!"
  • "Ошибка — неправильно выбрано соотношение сторон!"
  • "Ошибка — неправильно выбрано качество!"
  • "Выберите, пожалуйста, количество изображений от 1 до 4."
  • "Введите, пожалуйста, запрос."
  • "Уменьшите размер запроса до {maxLength} символов."
  • "Ошибка, уберите, пожалуйста, из запроса параметры..."
  • "Ошибка, уберите, пожалуйста, из запроса ссылки."
  • "Исправьте, пожалуйста, запрос — фильтр 18+..."
  • "Исправьте, пожалуйста, URL — некорректный формат."
  • "Исправьте, пожалуйста, URL — локальные пути не поддерживаются."
  • "Исправьте, пожалуйста, URL — указанный ресурс недоступен."
  • "Исправьте параметр референса для изображения. Допустимые значения: img, cref, sref."

Примеры использования

Пример 1: Генерация с Leonardo

{
  "modelName": "leonardo",
  "request_field": "красивый пейзаж с горами",
  "part": "chat_bot",
  "aspect_ratio": "16:9",
  "imagesCount": 1,
  "photoReal": "on"
}

Пример 2: Генерация с Midjourney и референсом

{
  "modelName": "midjourney --v 6.1",
  "request_field": "персонаж в киберпанк стиле",
  "part": "with_image",
  "image_url": "https://example.com/reference.png",
  "img_ref": "cref",
  "aspect_ratio": "1:1"
}

Пример 3: DALL-E с нестандартным соотношением

{
  "modelName": "dalle",
  "request_field": "научно-фантастический город будущего",
  "part": "chat_bot",
  "aspect_ratio": "4:7",
  "imagesCount": 2
}

Пример 4: Nano Banana Pro с высоким качеством

{
  "modelName": "nano-banana-pro",
  "request_field": "портрет в масляной живописи",
  "part": "chat_bot",
  "resolution": "4K",
  "aspect_ratio": "1:1"
}

Важные примечания

  • Автоматический перевод запроса выполняется для всех моделей кроме gpt4o-image, google/nano-banana и nano-banana-pro
  • Для операций с фоном (remove_background, replace_background) требуется image_url
  • URL изображения проверяется на доступность и корректность формата
  • Максимум 4 параллельных генерации одновременно (для поддерживающих моделей)
  • Контент проверяется на соответствие политике 18+ перед отправкой в API

Пример получения данных с данного API:

1. Постановка задачи для модели Leonardo:

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://tools.pixelplus.ru/api/aiimages?key={key}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => array(
      'request_field' => 'Цири из "Ведьмак 3" в Каер Морхене, борющаяся с Дикой Охотой, динамичная сцена боя, детализированное изображение, фэнтезийный стиль, насыщенные цвета, заснеженный пейзаж в фоне.',
      'photoReal' => 'on',
      'aspect_ratio' => '1:1',
      'imagesCount' => '1',
      'modelName' => 'leonardo'
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

2. Постановка задачи для модели DALL-E-3:

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://tools.pixelplus.ru/api/aiimages?key={key}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => array(
      'request_field' => 'Цири из "Ведьмак 3" в Каер Морхене, борющаяся с Дикой Охотой, динамичная сцена боя, детализированное изображение, фэнтезийный стиль, насыщенные цвета, заснеженный пейзаж в фоне.',
      'imagesCount' => '1',
      'modelName' => 'dalle'
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

3. Постановка задачи для модели Midjourney 6:

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://tools.pixelplus.ru/api/aiimages?key={key}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => array(
      'request_field' => 'Цири из "Ведьмак 3" в Каер Морхене, борющаяся с Дикой Охотой, динамичная сцена боя, детализированное изображение, фэнтезийный стиль, насыщенные цвета, заснеженный пейзаж в фоне.',
      'aspect_ratio' => '1:1',
      'modelName' => 'midjourney'
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

4. Постановка задачи для модели YandexART:

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://tools.pixelplus.ru/api/aiimages?key={key}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => array(
      'request_field' => 'Цири из "Ведьмак 3" в Каер Морхене, борющаяся с Дикой Охотой, динамичная сцена боя, детализированное изображение, фэнтезийный стиль, насыщенные цвета, заснеженный пейзаж в фоне.',
      'imagesCount' => '1',
      'modelName' => 'yandexART'
      ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

5. Постановка задачи для замены фона:

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://tools.pixelplus.ru/api/aiimages?key={key}',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => array(
      'request_field' => 'Заснеженный ночной лес',
      'part' => 'replace_background',
      'image_url' => 'https://i.pinimg.com/originals/40/ff/2b/40ff2b9c8dcfbda6c9b5fe7c0dafbaf4.jpg'
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

6. Получение ответа:

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://tools.pixelplus.ru/api/aiimages?key={key}&report_id={report_id}',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;