Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including faceapp with all npm packages installed. Try it out:

var faceapp = require("faceapp")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

faceapp v0.4.7

JavaScript API wrapper for the FaceApp tool for Android and iOS

😎 FaceApp.js

NPM version NPM downloads Build status Dependencies

JavaScript API wrapper for the FaceApp tool for Android and iOS. Licensed under ISC License.

⚠️ Warning

faceapp.js is an unofficial reverse-engineering of the mobile clients and the servers they interact with. This means that it is subject to any of their limitations.
This includes their rate limits. I will not attempt to bypass this as that would break their terms of service, please stop asking ❤.


Rate Limits

NOTE: These are just an estimation based on my own testing.
The FaceApp servers only accept 100 requests in a 10 minute window. Because process() uses two API calls, you can only use process() 50 times during that 10 minute window.

💾 Installation

The package is on the NPM registry as faceapp. Simply install it with your NPM client of choice.

🔧 Usage

First, import the module:

const faceapp = require('faceapp')

The process() function takes two parameters:

  • path: string | file: Buffer - Path to the image file you would like to process. Or a Buffer object representing an image.
  • filterID: string - FaceApp Filter ID

📝 Example

// Import the module
const faceapp = require('faceapp')

// Process the image (filepath)
let image = await faceapp.process('path/to/image.png', 'smile_2')

// Process the image (buffer)
// First we have to get a buffer
let { body } = await superagent.get('')
let image = await faceapp.process(body, 'hot')


There is a CLI available. Install the package globally using npm i -g faceapp and then run faceapp to access the CLI.

📜 Filter IDs

Known Filters:

However, you can get an up-to-date list of all available filter IDs from the API directly using the listFilters function.

let filters = await faceapp.listFilters()
// Returns an array of Filter objects

let filters = await faceapp.listFilters(true)
// Returns an array filter ID strings

❤ Thanks

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free