@brojs/kandinsky
v1.1.2
Published
JavaScript library for Kandinsky AI image generation
Maintainers
Readme
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(опционально): Соотношение сторон изображения (ширина/высота). Можно использовать enumAspectRatio: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
