Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/donovandmc/e621thumbnailer

Generate thumbnails for e621 videos.
https://github.com/donovandmc/e621thumbnailer

Last synced: about 1 month ago
JSON representation

Generate thumbnails for e621 videos.

Awesome Lists containing this project

README

        

## E621 Thumbnail
Generate image & gif thumbnails for videos from e621. Note this module can take upwards of 15 seconds to generate a single thumbnail, you should not keep things waiting for generated thumbnails. If you absolutely NEED them, you should pregenerate them in bulk.

### Usage
(any needed temporary files are stored in your operating system's default temporary directory, and are removed once they are no longer needed)
```ts
// const genThumbnail = require("e621-thumbnailer");
import genThumbnail from "e621-thumbnailer";

// assuming top level await
// this is specifically the one I used for testing, and it *IS* NSFW
const imageThumb = await genThumbnail("https://static1.e621.net/data/a5/1d/a51d55b12e7a16a37253783e52c4ec21.webm", "image");
// imageThumb is a buffer of image data, which is the thumbnail
// example: https://thumbs.yiff.media/a51d55b12e7a16a37253783e52c4ec21.png

const gifThumb = await genThumbnail("https://static1.e621.net/data/a5/1d/a51d55b12e7a16a37253783e52c4ec21.webm", {
// defaults
// the length of the resulting gif, in seconds - increasing this will increase the runtime and SIGNIFICANTLY increase the filesize
// 2.5 seconds will generally be 40mb, and 5 seconds will be 100+
gifLength: 2.5,
// the level of optimization applied to the resulting gif, this will increase the runtime slightly (requires gifsicle to be installed and in your path)
// * 0 - disabled
// * 1 - Store only the changed portion of each image.
// * 2 - Store only the changed portion of each image, and use transparency. (default)
// * 3 - Try several optimization methods (usually slower, sometimes better results).
gifOptimizationLevel: 2
});
// gifThumb is a buffer of image data, which is the thumbnail
// example: https://thumbs.yiff.media/a51d55b12e7a16a37253783e52c4ec21.gif
```