Skip to content

Pixteroid is a Node.js API designed for efficient image upscaling and restoration, powered by AI and utilizing the NCNN framework. It employs Real-ESRGAN and ESRGAN model weights to upscale and restore images, providing three distinct levels of detail and size customization to suit various needs.

License

Notifications You must be signed in to change notification settings

darsan-in/Pixteroid

Repository files navigation

Pixteroid - AI-Powered Image Upscaling and Restorative API

Pixteroid is a Node.js API designed for efficient image upscaling and restoration, powered by AI and utilizing the NCNN framework. It employs Real-ESRGAN and ESRGAN model weights to upscale and restore images, providing three distinct levels of detail and size customization to suit various needs.

Supported Platforms

Linux Windows Node JS


GitHub last commit GitHub commit activity


GitHub License GitHub Release

CodeFactor Grade


NPM Downloads GitHub Repo stars


Table of Contents 📝

Features and Benefits ✨

  • AI-Powered Upscaling and Restoration: Leverages AI-powered Real-ESRGAN and ESRGAN models to upscale and restore images with enhanced quality.
  • Multiple Detail Levels: Offers three levels of detail to cater to different use cases, from quick previews to high-resolution prints.
  • Custom Size Scaling: Supports custom size scaling to fit specific dimensions while preserving image quality.
  • Efficient Performance: Built on the NCNN framework, ensuring optimized performance across different platforms.
  • Simple Integration: Easily integrate into any Node.js project with straightforward API calls.
  • Open Source: Fully open-source, with ongoing updates and community contributions.

Use Cases ✅

  • Graphic Design: Enhance and restore low-resolution images for use in high-quality designs.
  • E-commerce: Automatically upscale and restore product images for better visual appeal.
  • Print Media: Prepare and restore images for print without losing detail, even from smaller sources.
  • AI Research: Utilize advanced upscaling and restoration models for experimental and research purposes.
  • Web Development: Improve and restore image quality on websites with minimal load time impact.
  • Photography: Restore and enhance old or low-resolution photographs.

🙏🏻 Friendly Request to Users

Every star on this repository is a sign of encouragement, a vote of confidence, and a reminder that our work is making a difference. If this project has brought value to you, even in the smallest way, please consider showing your support by giving it a star.

"Star" button located at the top-right of the page, near the repository name.

Your star isn’t just a digital icon—it’s a beacon that tells us we're on the right path, that our efforts are appreciated, and that this work matters. It fuels our passion and drives us to keep improving, building, and sharing.

If you believe in what we’re doing, please share this project with others who might find it helpful. Together, we can create something truly meaningful.

Thank you for being part of this journey. Your support means the world to us. 🌍💖


Installation - Step-by-Step Guide 🪜

  • Step 1: Install using npm.
npm install pixteroid

Usage

Upscale single image at a time.

const { upscale } = require("pixteroid");
const { join, relative } = require("path");

const imagePath = "image-samples/0200.png";
const outputPath = join("single-output", relative(process.cwd(), imagePath));
const level = "level1"; //level1 or level2 or level3 - low to higher level

upscale(imagePath, outputPath, level)
  .then(() => {
    console.log("done");
  })
  .catch((err) => {
    console.log(err);
  });

Upscale multiple images asynchronously.

const { globSync } = require("glob");
const { upscaleAll } = require("pixteroid");

/* only 50 samples taken by slicing */
const imagePaths = globSync("image-samples/**.jpg").slice(0, 50);
const destinationPath = "output-samples";
const level = "level1"; //level1 or level2 or level3 - low to higher level
const batchSize = 2; //This is optional parameter def=2

upscaleAll(imagePaths, destinationPath, level, batchSize)
  .then(() => {
    console.log("done");
  })
  .catch((err) => {
    console.log(err);
  });

In-Action 🤺

pixteroid result 1 pixteroid result 2 pixteroid result 3

License ©️

This project is licensed under the Apache License 2.0.

Contributing to Our Project 🤝

We’re always open to contributions and fixing issues—your help makes this project better for everyone.

If you encounter any errors or issues, please don’t hesitate to raise an issue. This ensures we can address problems quickly and improve the project.

For those who want to contribute, we kindly ask you to review our Contribution Guidelines before getting started. This helps ensure that all contributions align with the project's direction and comply with our existing license.

We deeply appreciate everyone who contributes or raises issues—your efforts are crucial to building a stronger community. Together, we can create something truly impactful.

Thank you for being part of this journey!

Website 🌐

npmjs - pixteroid

Contact Information

For any questions, please reach out via hello@darsan.in or LinkedIn.

Credits 🙏🏻

I would like to extend our gratitude to Xintao for implementing Real-ESRGAN with the NCNN framework. Special thanks to Tencent for creating the NCNN framework, a high-performance neural network inference computing framework optimized for mobile platforms. NCNN is designed with mobile deployment in mind, is cross-platform, and runs faster than all known open-source frameworks on mobile CPUs. It is currently used in various Tencent applications, such as QQ, Qzone, WeChat, and Pitu.


Darsan at Linkedin place holder image Darsan at Youtube place holder image Darsan at NPM place holder image Darsan at Github place holder image Darsan Website


Topics

  • image upscaling
  • image restoration
  • AI-powered
  • Node.js image API
  • NCNN framework
  • Real-ESRGAN
  • ESRGAN
  • high-resolution images
  • AI image processing
  • detail enhancement
  • custom image scaling
  • open-source
  • graphic design tools
  • e-commerce tools
  • web development
  • photography enhancement
  • print media
  • image quality
  • scaling algorithms
  • performance optimization