1.1.2 • Published 7 months ago

@brojs/kandinsky v1.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

KandinskyJS

JavaScript библиотека для генерации изображений с помощью нейросети Kandinsky.

Установка

npm install @brojs/kandinsky

Использование

const { KandinskyAPI, AspectRatio } = require('@brojs/kandinsky');
const fs = require('fs');

// Создание экземпляра API
const api = new KandinskyAPI();

// Генерация изображения с указанием размеров
async function generateImage(imageName, params) {
  try {
    const images = await api.generate(params);
    
    // Сохраняем изображение в файл
    if (images && images.length > 0) {
      const imageData = images[0].replace(/^data:image\/\w+;base64,/, '');
      const buffer = Buffer.from(imageData, 'base64');
      fs.writeFileSync(`generated_image_${imageName}.jpg`, buffer);
      console.log(`Изображение сохранено в файл generated_image_${imageName}.jpg`);
    }
  } catch (error) {
    console.error('Ошибка при генерации:', error);
  }
}

// Пример 1: Генерация с указанием размеров
generateImage('1', {
  query: 'рыжая лиса в городе',
  width: 512,
  height: 256,
  style: 'ANIME',
  negativePromptDecoder: 'яркие цвета, кислотность',
});

// Пример 2: Генерация с aspect ratio через enum
generateImage('2', {
  query: 'рыжая лиса в городе',
  width: 800,
  aspectRatio: AspectRatio.Horizontal_3_2, // будет 800x533
  style: 'ANIME',
});

// Пример 3: Генерация только с aspect ratio через enum
generateImage('3', {
  query: 'рыжая лиса в городе',
  aspectRatio: AspectRatio.Vertical_2_3, // будет 682x1024
  style: 'KANDINSKY',
});

Параметры генерации

  • query (обязательный): Текстовое описание желаемого изображения
  • width (опционально): Ширина изображения в пикселях (по умолчанию 1024)
  • height (опционально): Высота изображения в пикселях (по умолчанию 1024)
  • aspectRatio (опционально): Соотношение сторон изображения (ширина/высота). Можно использовать enum AspectRatio:
    • AspectRatio.Square_1_1 — 1:1 (квадрат, 1)
    • AspectRatio.Vertical_2_3 — 2:3 (вертикальное, 0.6667)
    • AspectRatio.Horizontal_3_2 — 3:2 (горизонтальное, 1.5)
    • AspectRatio.Vertical_9_16 — 9:16 (вертикальное, 0.5625)
    • AspectRatio.Horizontal_16_9 — 16:9 (широкоформатное, 1.7778)
  • numImages (опционально): Количество генерируемых изображений (по умолчанию 1)
  • style (опционально): Стиль изображения (например, 'ANIME')
  • negativePromptDecoder (опционально): Отрицательный промпт для исключения нежелательных элементов

Ограничения размеров

  • Минимальный размер: 256x256 пикселей
  • Максимальный размер: 1024x1024 пикселей
  • При использовании aspectRatio размеры автоматически масштабируются с сохранением пропорций

Требования

  • Node.js 14 или выше
  • API ключ и секретный ключ от Kandinsky API

Лицензия

ISC

1.1.2

7 months ago

1.1.1

7 months ago

1.1.0

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago