@boruto_vk7/stickengine 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,89 +1,127 @@
1
- # @boruto_vk7/stickengine
1
+ # StickEngine
2
2
 
3
- Simple **WhatsApp sticker** engine for Node.js.
3
+ **Professional WhatsApp sticker engine for Node.js.**
4
4
 
5
- - Static **and animated** WebP stickers
6
- - Pack name / author EXIF (WhatsApp metadata)
7
- - One-line API: `StickEngine.create()`
8
- - **ESM + CommonJS**
9
- - GIF / MP4 / WebP / PNG / JPG
5
+ Build production-ready **static and animated** stickers with correct EXIF pack metadata, transparent framing (no black bars), and a one-line API.
10
6
 
11
- > Requires **ffmpeg** + **ffprobe** on your system.
12
-
13
- ---
14
-
15
- ## Install
7
+ [![npm](https://img.shields.io/npm/v/@boruto_vk7/stickengine.svg)](https://www.npmjs.com/package/@boruto_vk7/stickengine)
8
+ [![Node](https://img.shields.io/node/v/@boruto_vk7/stickengine.svg)](https://nodejs.org)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-red.svg)](./LICENSE)
16
10
 
17
11
  ```bash
18
12
  npm install @boruto_vk7/stickengine
19
13
  ```
20
14
 
15
+ ---
16
+
17
+ ## Why StickEngine
18
+
19
+ Most sticker helpers break on the details that matter in real bots:
20
+
21
+ | Problem in typical libs | StickEngine |
22
+ |-------------------------|-------------|
23
+ | Black bars on portrait/landscape media | **True transparent pad** (`format=rgba` → `pad=…:black@0`) |
24
+ | Animated WebP EXIF crashes (`save` vs `muxAnim`) | **Compatible with node-webpmux v1 + v3** |
25
+ | Oversized animated stickers rejected by WA | **Auto quality/FPS shrink under ~1MB** |
26
+ | Awkward queue-only APIs | **`StickEngine.create()` → `{ buffer, path, base64 }`** |
27
+ | ESM *or* CJS only | **Dual package (import + require)** |
28
+
29
+ Built for Baileys, Evolution, Venom, whatsapp-web.js and any stack that sends a WebP buffer.
30
+
31
+ ---
32
+
33
+ ## Requirements
34
+
35
+ - **Node.js ≥ 18**
36
+ - **ffmpeg** + **ffprobe** available in `PATH`
37
+ (or install `@ffmpeg-installer/ffmpeg` + `@ffprobe-installer/ffprobe` and set paths via `fluent-ffmpeg`)
38
+
21
39
  ```bash
22
- # system dependency
23
- sudo apt install ffmpeg # Debian/Ubuntu
24
- # brew install ffmpeg # macOS
40
+ # Debian / Ubuntu
41
+ sudo apt install ffmpeg
42
+
43
+ # macOS
44
+ brew install ffmpeg
25
45
  ```
26
46
 
27
47
  ---
28
48
 
29
- ## Quick start (easiest)
49
+ ## Quick start
30
50
 
31
51
  ### ESM / TypeScript
32
52
 
33
53
  ```ts
34
54
  import StickEngine from '@boruto_vk7/stickengine';
35
55
 
36
- // path | URL | Buffer
37
- const sticker = await StickEngine.create('./cat.gif', {
56
+ const sticker = await StickEngine.create('./photo.jpg', {
38
57
  metadata: {
39
- pack: 'My Pack',
40
- author: 'Boruto',
41
- emojis: ['😺'],
58
+ pack: 'StickEngine',
59
+ author: 'Borutovk7',
60
+ emojis: [''],
42
61
  },
43
62
  });
44
63
 
45
- console.log(sticker.path); // /tmp/.../sticker_xxx.webp
46
- console.log(sticker.buffer); // Buffer — send this to WhatsApp
47
- console.log(sticker.base64); // base64 string
48
- console.log(sticker.animated);// true/false
64
+ // WhatsApp-ready WebP
65
+ await sock.sendMessage(jid, { sticker: sticker.buffer });
49
66
  ```
50
67
 
51
68
  ### CommonJS
52
69
 
53
70
  ```js
54
71
  const StickEngine = require('@boruto_vk7/stickengine').default;
55
- // or: const { StickEngine } = require('@boruto_vk7/stickengine');
56
72
 
57
- const sticker = await StickEngine.create('./photo.jpg', {
58
- metadata: { pack: 'Cool Pack', author: 'Me' },
73
+ const sticker = await StickEngine.create(buffer, {
74
+ metadata: { pack: 'My Pack', author: 'Bot' },
59
75
  });
60
76
  ```
61
77
 
62
- ### Buffer only (bots)
78
+ ### Even shorter
63
79
 
64
80
  ```ts
65
- const buf = await StickEngine.toBuffer(imageBuffer, {
66
- metadata: { pack: 'Bot Pack', author: 'Waguri' },
81
+ const buf = await StickEngine.toBuffer(media, {
82
+ metadata: { pack: 'Waguri', author: 'Evolution' },
67
83
  });
68
- // send buf as sticker
69
84
  ```
70
85
 
86
+ Accepts **file path**, **http(s) URL**, or **Buffer**.
87
+
71
88
  ---
72
89
 
73
- ## Baileys example
90
+ ## Transparent framing (no black borders)
74
91
 
75
- ```ts
76
- import StickEngine from '@boruto_vk7/stickengine';
92
+ By default StickEngine uses **`fit: 'contain'`**:
77
93
 
78
- const sticker = await StickEngine.create(mediaBuffer, {
79
- metadata: { pack: 'Waguri', author: 'Bot' },
80
- });
94
+ 1. Convert frame to **RGBA**
95
+ 2. Scale down to fit inside 512×512 (keeps aspect ratio)
96
+ 3. Pad with **fully transparent** pixels — never black, never white
81
97
 
82
- await sock.sendMessage(jid, {
83
- sticker: sticker.buffer,
98
+ ```ts
99
+ await StickEngine.create(input, {
100
+ fit: 'contain', // default — transparent margins
101
+ // fit: 'cover', // fill 512×512, crop center
102
+ // fit: 'fill', // stretch (distorts)
103
+ // fit: 'none', // only shrink if larger than 512; no pad
84
104
  });
85
105
  ```
86
106
 
107
+ That is what removes the black letterboxing you see on thin or wide stickers.
108
+
109
+ ---
110
+
111
+ ## Result object
112
+
113
+ ```ts
114
+ interface StickResult {
115
+ path: string; // absolute path to .webp
116
+ buffer: Buffer; // send this to WhatsApp
117
+ base64: string; // raw base64 (no data: prefix)
118
+ animated: boolean;
119
+ width: number;
120
+ height: number;
121
+ size: number; // bytes
122
+ }
123
+ ```
124
+
87
125
  ---
88
126
 
89
127
  ## Options
@@ -91,119 +129,169 @@ await sock.sendMessage(jid, {
91
129
  ```ts
92
130
  await StickEngine.create(input, {
93
131
  metadata: {
94
- pack: 'Pack name',
95
- author: 'Author',
96
- emojis: ['🔥'],
97
- id: 'optional-pack-id',
132
+ pack: 'Pack name shown in WhatsApp',
133
+ author: 'Publisher name',
134
+ emojis: ['🔥', '✨'],
135
+ id: 'optional-stable-pack-id',
98
136
  },
99
- fps: 15, // animated FPS (default 15)
100
- quality: 75, // animated quality 1–100
101
- maxDuration: 6, // seconds (WhatsApp-friendly)
102
- edit: { // static images only
137
+
138
+ fit: 'contain', // contain | cover | fill | none
139
+ fps: 15, // animated FPS
140
+ quality: 80, // 1–100 (auto-reduced if anim > 1MB)
141
+ maxDuration: 6, // seconds (WA-friendly)
142
+
143
+ edit: {
144
+ // static images only
103
145
  circle: true,
104
- sepia: true,
105
- brightness: 0.1,
106
- text: { content: 'LOL', color: 'WHITE', stroke: true },
146
+ greyscale: false,
147
+ sepia: false,
148
+ blur: 0,
149
+ brightness: 0, // -1 … 1
150
+ contrast: 0, // -1 … 1
151
+ text: {
152
+ content: 'TOP',
153
+ color: 'WHITE',
154
+ stroke: true, // outlined caption
155
+ },
107
156
  },
108
- // transparent: 'REMOVE_BG_API_KEY', // static only
157
+
158
+ // transparent: 'REMOVE_BG_API_KEY', // static only (remove.bg)
109
159
  autoClean: false,
110
160
  tempDir: './tmp_stickengine',
111
161
  });
112
162
  ```
113
163
 
114
- | Option | Default | Notes |
115
- |--------|---------|--------|
116
- | `metadata.pack` | `StickEngine` | Pack title in WhatsApp |
117
- | `metadata.author` | `Borutovk7` | Publisher |
118
- | `fps` | `15` | Animated stickers |
119
- | `quality` | `75` | Auto-lowers if file > 1MB |
120
- | `maxDuration` | `6` | Cuts longer videos |
164
+ | Option | Default | Description |
165
+ |--------|---------|-------------|
166
+ | `metadata.pack` | `StickEngine` | Sticker pack title |
167
+ | `metadata.author` | `Borutovk7` | Pack publisher |
168
+ | `fit` | `contain` | Canvas fit mode (transparent pad by default) |
169
+ | `fps` | `15` | Animated frame rate |
170
+ | `quality` | `80` | WebP quality; auto-lowers for large animations |
171
+ | `maxDuration` | `6` | Trim long videos/GIFs |
121
172
  | `edit` | `false` | Jimp filters (static only) |
122
- | `transparent` | `false` | remove.bg API key |
123
- | `autoClean` | `false` | Call `.clean()` yourself if needed |
173
+ | `transparent` | `false` | remove.bg API key / key list |
174
+ | `autoClean` | `false` | Set `true` only if you manage file lifetime yourself |
124
175
 
125
176
  ---
126
177
 
127
- ## Result object
178
+ ## Animated stickers & EXIF
179
+
180
+ WhatsApp animated stickers are **animated WebP** with EXIF pack metadata.
181
+
182
+ StickEngine:
183
+
184
+ 1. Detects GIF / MP4 / animated WebP
185
+ 2. Encodes with `libwebp` (loop, alpha, duration cap)
186
+ 3. Shrinks quality/FPS until size is under ~1MB
187
+ 4. Writes EXIF using the correct **node-webpmux** path for your installed version
188
+ - never crashes with `Using save for animations…`
189
+ - falls back across v1 `muxAnim` and v3 `save({ frames })`
190
+
191
+ ---
192
+
193
+ ## Baileys
128
194
 
129
195
  ```ts
130
- interface StickResult {
131
- path: string; // absolute .webp path
132
- buffer: Buffer; // file bytes
133
- base64: string; // no data: prefix
134
- animated: boolean;
135
- width: number;
136
- height: number;
137
- size: number; // bytes
196
+ import StickEngine from '@boruto_vk7/stickengine';
197
+
198
+ export async function sendSticker(sock: any, jid: string, media: Buffer) {
199
+ const { buffer } = await StickEngine.create(media, {
200
+ metadata: {
201
+ pack: 'Waguri Evolution',
202
+ author: 'Borutovk7',
203
+ emojis: ['💜'],
204
+ },
205
+ fit: 'contain',
206
+ });
207
+
208
+ await sock.sendMessage(jid, { sticker: buffer });
138
209
  }
139
210
  ```
140
211
 
141
212
  ---
142
213
 
143
- ## More features
214
+ ## More APIs
144
215
 
145
- ### Text sticker
216
+ ### Instance pipeline
146
217
 
147
218
  ```ts
148
219
  const engine = new StickEngine({
149
- metadata: { pack: 'TP', author: 'Me' },
220
+ metadata: { pack: 'Studio', author: 'You' },
221
+ fit: 'cover',
150
222
  });
151
- const sticker = await engine.createTextSticker('TOP!', { color: 'WHITE' });
223
+
224
+ const sticker = await engine.build('./clip.mp4');
225
+ engine.clean(); // optional temp cleanup
152
226
  ```
153
227
 
154
- ### Tray icon (96×96)
228
+ ### Batch queue
229
+
230
+ ```ts
231
+ const engine = new StickEngine({ metadata: { pack: 'Batch', author: 'Bot' } });
232
+ engine.add('./a.jpg', './b.gif', buffer);
233
+ const results = await engine.start();
234
+ // PromiseSettledResult<string>[] → value = path when fulfilled
235
+ ```
236
+
237
+ ### Text sticker
155
238
 
156
239
  ```ts
157
240
  const engine = new StickEngine();
158
- const trayPath = await engine.createTrayIcon('./logo.png');
241
+ const sticker = await engine.createTextSticker('ARISE', { color: 'WHITE' });
159
242
  ```
160
243
 
161
- ### Batch queue
244
+ ### Tray icon (96×96)
162
245
 
163
246
  ```ts
164
- const engine = new StickEngine({ metadata: { pack: 'Batch', author: 'Me' } });
165
- engine.add('./a.jpg', './b.gif', buffer);
166
- const results = await engine.start();
167
- // results[i].status === 'fulfilled' → results[i].value is the path
247
+ const trayPath = await engine.createTrayIcon('./logo.png');
168
248
  ```
169
249
 
170
250
  ### Events
171
251
 
172
252
  ```ts
173
- engine.on('st.start', ({ index }) => console.log('start', index));
174
- engine.on('st.info', (info) => console.log(info));
175
- engine.on('st.data', ({ file, animated }) => console.log(file, animated));
176
- engine.on('st.error', ({ error }) => console.error(error));
177
- engine.on('st.done', (result) => console.log(result.size));
253
+ engine.on('st.start', ({ index }) => {});
254
+ engine.on('st.info', (info) => {});
255
+ engine.on('st.data', ({ file, animated }) => {});
256
+ engine.on('st.done', (result) => {});
257
+ engine.on('st.error', ({ error }) => {});
178
258
  ```
179
259
 
180
260
  ---
181
261
 
182
- ## Animated WebP EXIF fix
262
+ ## API surface
183
263
 
184
- Older builds called `img.save()` on **animated** stickers, which throws:
264
+ | Method | Description |
265
+ |--------|-------------|
266
+ | `StickEngine.create(input, opts?)` | One-shot → `StickResult` |
267
+ | `StickEngine.toBuffer(input, opts?)` | One-shot → `Buffer` |
268
+ | `StickEngine.toBase64String(input, opts?)` | One-shot → base64 |
269
+ | `engine.build(input)` | Instance one-shot |
270
+ | `engine.addFile` / `engine.add` / `engine.start` | Batch queue |
271
+ | `engine.createTextSticker(text, opts?)` | Text → sticker |
272
+ | `engine.createTrayIcon(input)` | Pack tray WebP |
273
+ | `engine.clean()` | Delete tracked temps |
274
+ | `getBuffer(url)` | Download helper |
185
275
 
186
- ```text
187
- Using `save` for animations is not currently supported. Use `muxAnim` instead
188
- ```
189
-
190
- This version:
276
+ ---
191
277
 
192
- 1. Detects animation via `hasAnim` / `frameCount` / `frames`
193
- 2. Saves animated WebP with **`muxAnim({ path, exif: true, ... })`**
194
- 3. Falls back to `muxAnim` if `save()` still rejects
278
+ ## Project standards
195
279
 
196
- Static stickers still use `save()`.
280
+ - TypeScript source, dual **ESM + CJS** emit
281
+ - Strict typing for options and results
282
+ - Zero config for the happy path
283
+ - Designed for long-running bot processes
197
284
 
198
285
  ---
199
286
 
200
- ## Requirements
287
+ ## Author
288
+
289
+ **Borutovk7** — creator of StickEngine.
201
290
 
202
- - Node.js **≥ 18**
203
- - `ffmpeg` + `ffprobe` in `PATH`
291
+ If you ship stickers at scale, this is the engine you want under the hood.
204
292
 
205
293
  ---
206
294
 
207
295
  ## License
208
296
 
209
- MIT · [Borutovk7](https://github.com/Borutovk7)
297
+ MIT © Borutovk7
@@ -126,6 +126,7 @@ class StickEngine extends node_events_1.EventEmitter {
126
126
  fps: 15,
127
127
  quality: 75,
128
128
  maxDuration: 6,
129
+ fit: 'contain',
129
130
  metadata: {
130
131
  pack: 'StickEngine',
131
132
  author: 'Borutovk7',
@@ -449,20 +450,54 @@ class StickEngine extends node_events_1.EventEmitter {
449
450
  }
450
451
  }
451
452
  // ── FFmpeg / Jimp ────────────────────────────────────────────────────────
453
+ /**
454
+ * Build FFmpeg -vf chain for a clean 512 sticker canvas.
455
+ * Critical: `format=rgba` BEFORE pad, and pad color must be fully transparent
456
+ * (`black@0`). Using `color=0x00000000` after an opaque format yields black bars.
457
+ */
458
+ buildScaleFilter(isAnimated, fps) {
459
+ const fit = this.options.fit || 'contain';
460
+ const parts = ['format=rgba'];
461
+ if (isAnimated) {
462
+ parts.push(`fps=${Math.max(1, fps)}`);
463
+ }
464
+ switch (fit) {
465
+ case 'cover':
466
+ // Fill 512×512, crop center — no bars
467
+ parts.push("scale=512:512:force_original_aspect_ratio=increase:flags=lanczos", 'crop=512:512');
468
+ break;
469
+ case 'fill':
470
+ // Stretch (rarely wanted)
471
+ parts.push('scale=512:512:flags=lanczos');
472
+ break;
473
+ case 'none':
474
+ // Only shrink if larger than 512 on any side; keep original ratio; no pad
475
+ parts.push("scale='min(512,iw)':'min(512,ih)':force_original_aspect_ratio=decrease:flags=lanczos");
476
+ break;
477
+ case 'contain':
478
+ default:
479
+ // Fit inside 512×512 + true transparent margins (NO black borders)
480
+ parts.push('scale=512:512:force_original_aspect_ratio=decrease:flags=lanczos',
481
+ // black@0 = transparent; must come after format=rgba
482
+ 'pad=512:512:(ow-iw)/2:(oh-ih)/2:color=black@0');
483
+ break;
484
+ }
485
+ parts.push('setsar=1', 'format=rgba');
486
+ return parts.join(',');
487
+ }
452
488
  async convertToWebp(input, output, isAnimated) {
453
489
  const run = (quality, fps) => new Promise((resolve, reject) => {
454
490
  const ff = (0, fluent_ffmpeg_1.default)(input).on('error', reject).on('end', () => resolve());
455
- // Transparent pad for stickers looks better than white
456
- const vf = isAnimated
457
- ? `scale=512:512:force_original_aspect_ratio=decrease,fps=${fps},pad=512:512:(ow-iw)/2:(oh-ih)/2:color=0x00000000,setsar=1,format=rgba`
458
- : `scale=512:512:force_original_aspect_ratio=decrease,pad=512:512:(ow-iw)/2:(oh-ih)/2:color=0x00000000,setsar=1,format=rgba`;
491
+ const vf = this.buildScaleFilter(isAnimated, fps);
459
492
  const opts = [
460
493
  '-vcodec',
461
494
  'libwebp',
462
495
  '-vf',
463
496
  vf,
497
+ '-pix_fmt',
498
+ 'yuva420p',
464
499
  '-lossless',
465
- isAnimated ? '0' : '1',
500
+ isAnimated ? '0' : '0',
466
501
  '-compression_level',
467
502
  '6',
468
503
  '-q:v',
@@ -475,12 +510,17 @@ class StickEngine extends node_events_1.EventEmitter {
475
510
  '-vsync',
476
511
  '0',
477
512
  ];
513
+ // Prefer alpha-capable webp
514
+ if (!isAnimated) {
515
+ // slight quality bump for static; still lossy keeps alpha reliable across ffmpeg builds
516
+ opts.push('-quality', String(Math.max(1, Math.min(100, quality))));
517
+ }
478
518
  if (isAnimated) {
479
519
  opts.push('-t', String(this.options.maxDuration || 6));
480
520
  }
481
521
  ff.addOutputOptions(opts).toFormat('webp').save(output);
482
522
  });
483
- let quality = this.options.quality ?? 75;
523
+ let quality = this.options.quality ?? 80;
484
524
  let fps = this.options.fps ?? 15;
485
525
  await run(quality, fps);
486
526
  // WhatsApp animated stickers should stay under ~1MB
@@ -1 +1 @@
1
- {"version":3,"file":"StickEngine.js","sourceRoot":"","sources":["../../src/StickEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StickEngine.js","sourceRoot":"","sources":["../../src/StickEngine.ts"],"names":[],"mappings":"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"}
Binary file
@@ -87,6 +87,7 @@ export class StickEngine extends EventEmitter {
87
87
  fps: 15,
88
88
  quality: 75,
89
89
  maxDuration: 6,
90
+ fit: 'contain',
90
91
  metadata: {
91
92
  pack: 'StickEngine',
92
93
  author: 'Borutovk7',
@@ -410,20 +411,54 @@ export class StickEngine extends EventEmitter {
410
411
  }
411
412
  }
412
413
  // ── FFmpeg / Jimp ────────────────────────────────────────────────────────
414
+ /**
415
+ * Build FFmpeg -vf chain for a clean 512 sticker canvas.
416
+ * Critical: `format=rgba` BEFORE pad, and pad color must be fully transparent
417
+ * (`black@0`). Using `color=0x00000000` after an opaque format yields black bars.
418
+ */
419
+ buildScaleFilter(isAnimated, fps) {
420
+ const fit = this.options.fit || 'contain';
421
+ const parts = ['format=rgba'];
422
+ if (isAnimated) {
423
+ parts.push(`fps=${Math.max(1, fps)}`);
424
+ }
425
+ switch (fit) {
426
+ case 'cover':
427
+ // Fill 512×512, crop center — no bars
428
+ parts.push("scale=512:512:force_original_aspect_ratio=increase:flags=lanczos", 'crop=512:512');
429
+ break;
430
+ case 'fill':
431
+ // Stretch (rarely wanted)
432
+ parts.push('scale=512:512:flags=lanczos');
433
+ break;
434
+ case 'none':
435
+ // Only shrink if larger than 512 on any side; keep original ratio; no pad
436
+ parts.push("scale='min(512,iw)':'min(512,ih)':force_original_aspect_ratio=decrease:flags=lanczos");
437
+ break;
438
+ case 'contain':
439
+ default:
440
+ // Fit inside 512×512 + true transparent margins (NO black borders)
441
+ parts.push('scale=512:512:force_original_aspect_ratio=decrease:flags=lanczos',
442
+ // black@0 = transparent; must come after format=rgba
443
+ 'pad=512:512:(ow-iw)/2:(oh-ih)/2:color=black@0');
444
+ break;
445
+ }
446
+ parts.push('setsar=1', 'format=rgba');
447
+ return parts.join(',');
448
+ }
413
449
  async convertToWebp(input, output, isAnimated) {
414
450
  const run = (quality, fps) => new Promise((resolve, reject) => {
415
451
  const ff = ffmpeg(input).on('error', reject).on('end', () => resolve());
416
- // Transparent pad for stickers looks better than white
417
- const vf = isAnimated
418
- ? `scale=512:512:force_original_aspect_ratio=decrease,fps=${fps},pad=512:512:(ow-iw)/2:(oh-ih)/2:color=0x00000000,setsar=1,format=rgba`
419
- : `scale=512:512:force_original_aspect_ratio=decrease,pad=512:512:(ow-iw)/2:(oh-ih)/2:color=0x00000000,setsar=1,format=rgba`;
452
+ const vf = this.buildScaleFilter(isAnimated, fps);
420
453
  const opts = [
421
454
  '-vcodec',
422
455
  'libwebp',
423
456
  '-vf',
424
457
  vf,
458
+ '-pix_fmt',
459
+ 'yuva420p',
425
460
  '-lossless',
426
- isAnimated ? '0' : '1',
461
+ isAnimated ? '0' : '0',
427
462
  '-compression_level',
428
463
  '6',
429
464
  '-q:v',
@@ -436,12 +471,17 @@ export class StickEngine extends EventEmitter {
436
471
  '-vsync',
437
472
  '0',
438
473
  ];
474
+ // Prefer alpha-capable webp
475
+ if (!isAnimated) {
476
+ // slight quality bump for static; still lossy keeps alpha reliable across ffmpeg builds
477
+ opts.push('-quality', String(Math.max(1, Math.min(100, quality))));
478
+ }
439
479
  if (isAnimated) {
440
480
  opts.push('-t', String(this.options.maxDuration || 6));
441
481
  }
442
482
  ff.addOutputOptions(opts).toFormat('webp').save(output);
443
483
  });
444
- let quality = this.options.quality ?? 75;
484
+ let quality = this.options.quality ?? 80;
445
485
  let fps = this.options.fps ?? 15;
446
486
  await run(quality, fps);
447
487
  // WhatsApp animated stickers should stay under ~1MB
@@ -1 +1 @@
1
- {"version":3,"file":"StickEngine.js","sourceRoot":"","sources":["../../src/StickEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StickEngine.js","sourceRoot":"","sources":["../../src/StickEngine.ts"],"names":[],"mappings":"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"}
Binary file
@@ -47,6 +47,14 @@ export interface StickEngineOptions {
47
47
  quality?: number;
48
48
  /** Max animated duration in seconds (default 6). */
49
49
  maxDuration?: number;
50
+ /**
51
+ * How to fit media into the 512×512 sticker canvas.
52
+ * - `contain` (default): keep aspect ratio, **transparent** margins (no black bars)
53
+ * - `cover`: fill 512×512 and crop overflow
54
+ * - `fill`: stretch to 512×512 (distorts)
55
+ * - `none`: only scale down if larger than 512 on a side (no pad, no crop)
56
+ */
57
+ fit?: 'contain' | 'cover' | 'fill' | 'none';
50
58
  /** Temp directory (default ./tmp_stickengine). */
51
59
  tempDir?: string;
52
60
  }
@@ -121,6 +129,12 @@ export declare class StickEngine extends EventEmitter {
121
129
  */
122
130
  private addExif;
123
131
  private detectAnimatedWebp;
132
+ /**
133
+ * Build FFmpeg -vf chain for a clean 512 sticker canvas.
134
+ * Critical: `format=rgba` BEFORE pad, and pad color must be fully transparent
135
+ * (`black@0`). Using `color=0x00000000` after an opaque format yields black bars.
136
+ */
137
+ private buildScaleFilter;
124
138
  private convertToWebp;
125
139
  private applyJimpEdits;
126
140
  private getMediaInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"StickEngine.d.ts","sourceRoot":"","sources":["../../src/StickEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StickEngine.d.ts","sourceRoot":"","sources":["../../src/StickEngine.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAuBvD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IACxC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB9F;AA0BD;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,YAAY;IACpC,OAAO,EAAE,QAAQ,CACtB,IAAI,CACF,kBAAkB,EAClB,MAAM,GAAG,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,aAAa,CACzD,CACF,GACC,kBAAkB,CAAC;IAErB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,YAAY,CAAgB;gBAExB,OAAO,GAAE,kBAAuB;IAyB5C;;OAEG;WACU,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAS9F;;OAEG;WACU,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAK3F;;OAEG;WACU,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjG,oDAAoD;IAC9C,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBpD,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAK/B,GAAG,CAAC,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAKjC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;IAOtD,iCAAiC;IACjC,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,KAAK;YAKC,WAAW;YA0EX,gBAAgB;IAgC9B;;;OAGG;YACW,OAAO;YAyHP,kBAAkB;IAkBhC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;YAyCV,aAAa;YA8Db,cAAc;IAwC5B,OAAO,CAAC,YAAY;IA2BpB,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI7C,8CAA8C;IACxC,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BxD,+CAA+C;IACzC,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAO,GACxE,OAAO,CAAC,WAAW,CAAC;CAsBxB;AAED,eAAe,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@boruto_vk7/stickengine",
3
- "version": "1.0.0",
4
- "description": "Simple WhatsApp sticker engine — static & animated WebP, EXIF pack metadata, ESM + CommonJS.",
3
+ "version": "1.1.0",
4
+ "description": "Professional WhatsApp sticker engine — transparent framing, animated WebP EXIF, ESM+CJS.",
5
5
  "author": "Borutovk7",
6
6
  "contributors": [
7
7
  "Eduh Dev"