@digipair/skill-sharp 0.95.6 → 0.96.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/schema.fr.json CHANGED
@@ -10,7 +10,9 @@
10
10
  "paths": {
11
11
  "/metadata": {
12
12
  "post": {
13
- "tags": ["service"],
13
+ "tags": [
14
+ "service"
15
+ ],
14
16
  "summary": "Métadonnées",
15
17
  "description": "Retourne les métadonnées de l’image (dimensions, format, EXIF, etc.).",
16
18
  "parameters": [
@@ -18,245 +20,568 @@
18
20
  "name": "content",
19
21
  "required": true,
20
22
  "description": "Image encodée en base64",
21
- "schema": { "type": "string" }
23
+ "schema": {
24
+ "type": "string"
25
+ }
22
26
  }
23
27
  ]
24
28
  }
25
29
  },
26
30
  "/stats": {
27
31
  "post": {
28
- "tags": ["service"],
32
+ "tags": [
33
+ "service"
34
+ ],
29
35
  "summary": "Statistiques",
30
36
  "description": "Retourne des statistiques sur l’image comme la moyenne ou l’écart-type.",
31
37
  "parameters": [
32
38
  {
33
39
  "name": "content",
34
40
  "required": true,
35
- "schema": { "type": "string" }
41
+ "schema": {
42
+ "type": "string"
43
+ }
36
44
  }
37
45
  ]
38
46
  }
39
47
  },
40
48
  "/raw": {
41
49
  "post": {
42
- "tags": ["service"],
50
+ "tags": [
51
+ "service"
52
+ ],
43
53
  "summary": "Brut (RAW)",
44
54
  "description": "Retourne le buffer brut de l’image en base64.",
45
55
  "parameters": [
46
56
  {
47
57
  "name": "content",
48
58
  "required": true,
49
- "schema": { "type": "string" }
59
+ "schema": {
60
+ "type": "string"
61
+ }
50
62
  }
51
63
  ]
52
64
  }
53
65
  },
54
66
  "/resize": {
55
67
  "post": {
56
- "tags": ["service"],
68
+ "tags": [
69
+ "service"
70
+ ],
57
71
  "summary": "Redimensionner",
58
72
  "description": "Redimensionne l’image selon la largeur et la hauteur spécifiées.",
59
73
  "parameters": [
60
- { "name": "content", "required": true, "schema": { "type": "string" } },
61
- { "name": "width", "required": true, "schema": { "type": "integer" } },
62
- { "name": "height", "required": true, "schema": { "type": "integer" } },
63
- { "name": "options", "required": false, "schema": { "type": "object" } }
74
+ {
75
+ "name": "content",
76
+ "required": true,
77
+ "schema": {
78
+ "type": "string"
79
+ }
80
+ },
81
+ {
82
+ "name": "width",
83
+ "required": true,
84
+ "schema": {
85
+ "type": "number"
86
+ }
87
+ },
88
+ {
89
+ "name": "height",
90
+ "required": true,
91
+ "schema": {
92
+ "type": "number"
93
+ }
94
+ },
95
+ {
96
+ "name": "options",
97
+ "required": false,
98
+ "schema": {
99
+ "type": "object"
100
+ }
101
+ }
64
102
  ]
65
103
  }
66
104
  },
67
105
  "/rotate": {
68
106
  "post": {
69
- "tags": ["service"],
107
+ "tags": [
108
+ "service"
109
+ ],
70
110
  "summary": "Rotation",
71
111
  "description": "Fait pivoter l’image (angle optionnel, utilise EXIF si absent).",
72
112
  "parameters": [
73
- { "name": "content", "required": true, "schema": { "type": "string" } },
74
- { "name": "angle", "required": false, "schema": { "type": "integer" } }
113
+ {
114
+ "name": "content",
115
+ "required": true,
116
+ "schema": {
117
+ "type": "string"
118
+ }
119
+ },
120
+ {
121
+ "name": "angle",
122
+ "required": false,
123
+ "schema": {
124
+ "type": "number"
125
+ }
126
+ }
75
127
  ]
76
128
  }
77
129
  },
78
130
  "/extract": {
79
131
  "post": {
80
- "tags": ["service"],
132
+ "tags": [
133
+ "service"
134
+ ],
81
135
  "summary": "Rogner",
82
136
  "description": "Extrait une portion de l’image.",
83
137
  "parameters": [
84
- { "name": "content", "required": true, "schema": { "type": "string" } },
85
- { "name": "left", "required": true, "schema": { "type": "integer" } },
86
- { "name": "top", "required": true, "schema": { "type": "integer" } },
87
- { "name": "width", "required": true, "schema": { "type": "integer" } },
88
- { "name": "height", "required": true, "schema": { "type": "integer" } }
138
+ {
139
+ "name": "content",
140
+ "required": true,
141
+ "schema": {
142
+ "type": "string"
143
+ }
144
+ },
145
+ {
146
+ "name": "left",
147
+ "required": true,
148
+ "schema": {
149
+ "type": "number"
150
+ }
151
+ },
152
+ {
153
+ "name": "top",
154
+ "required": true,
155
+ "schema": {
156
+ "type": "number"
157
+ }
158
+ },
159
+ {
160
+ "name": "width",
161
+ "required": true,
162
+ "schema": {
163
+ "type": "number"
164
+ }
165
+ },
166
+ {
167
+ "name": "height",
168
+ "required": true,
169
+ "schema": {
170
+ "type": "number"
171
+ }
172
+ }
89
173
  ]
90
174
  }
91
175
  },
92
176
  "/flip": {
93
177
  "post": {
94
- "tags": ["service"],
178
+ "tags": [
179
+ "service"
180
+ ],
95
181
  "summary": "Miroir vertical",
96
182
  "description": "Retourne l’image verticalement.",
97
- "parameters": [{ "name": "content", "required": true, "schema": { "type": "string" } }]
183
+ "parameters": [
184
+ {
185
+ "name": "content",
186
+ "required": true,
187
+ "schema": {
188
+ "type": "string"
189
+ }
190
+ }
191
+ ]
98
192
  }
99
193
  },
100
194
  "/flop": {
101
195
  "post": {
102
- "tags": ["service"],
196
+ "tags": [
197
+ "service"
198
+ ],
103
199
  "summary": "Miroir horizontal",
104
200
  "description": "Retourne l’image horizontalement.",
105
- "parameters": [{ "name": "content", "required": true, "schema": { "type": "string" } }]
201
+ "parameters": [
202
+ {
203
+ "name": "content",
204
+ "required": true,
205
+ "schema": {
206
+ "type": "string"
207
+ }
208
+ }
209
+ ]
210
+ }
211
+ },
212
+ "/autoOrient": {
213
+ "post": {
214
+ "tags": [
215
+ "service"
216
+ ],
217
+ "summary": "Orientation automatique",
218
+ "description": "Corrige l’orientation de l’image en fonction des métadonnées EXIF.",
219
+ "parameters": [
220
+ {
221
+ "name": "content",
222
+ "required": true,
223
+ "schema": {
224
+ "type": "string"
225
+ }
226
+ }
227
+ ]
106
228
  }
107
229
  },
108
230
  "/grayscale": {
109
231
  "post": {
110
- "tags": ["service"],
232
+ "tags": [
233
+ "service"
234
+ ],
111
235
  "summary": "Niveaux de gris",
112
236
  "description": "Convertit l’image en niveaux de gris.",
113
- "parameters": [{ "name": "content", "required": true, "schema": { "type": "string" } }]
237
+ "parameters": [
238
+ {
239
+ "name": "content",
240
+ "required": true,
241
+ "schema": {
242
+ "type": "string"
243
+ }
244
+ }
245
+ ]
114
246
  }
115
247
  },
116
248
  "/linear": {
117
249
  "post": {
118
- "tags": ["service"],
250
+ "tags": [
251
+ "service"
252
+ ],
119
253
  "summary": "Linéaire",
120
254
  "description": "Applique une transformation linéaire à l’image.",
121
255
  "parameters": [
122
- { "name": "content", "required": true, "schema": { "type": "string" } },
123
- { "name": "multiplier", "required": true, "schema": { "type": "number" } },
124
- { "name": "offset", "required": true, "schema": { "type": "number" } }
256
+ {
257
+ "name": "content",
258
+ "required": true,
259
+ "schema": {
260
+ "type": "string"
261
+ }
262
+ },
263
+ {
264
+ "name": "multiplier",
265
+ "required": true,
266
+ "schema": {
267
+ "type": "number"
268
+ }
269
+ },
270
+ {
271
+ "name": "offset",
272
+ "required": true,
273
+ "schema": {
274
+ "type": "number"
275
+ }
276
+ }
125
277
  ]
126
278
  }
127
279
  },
128
280
  "/threshold": {
129
281
  "post": {
130
- "tags": ["service"],
282
+ "tags": [
283
+ "service"
284
+ ],
131
285
  "summary": "Seuil",
132
286
  "description": "Applique un seuil à l’image pour la convertir en noir et blanc.",
133
287
  "parameters": [
134
- { "name": "content", "required": true, "schema": { "type": "string" } },
135
- { "name": "level", "required": false, "schema": { "type": "integer", "default": 128 } },
288
+ {
289
+ "name": "content",
290
+ "required": true,
291
+ "schema": {
292
+ "type": "string"
293
+ }
294
+ },
295
+ {
296
+ "name": "level",
297
+ "required": false,
298
+ "schema": {
299
+ "type": "number",
300
+ "default": 128
301
+ }
302
+ },
136
303
  {
137
304
  "name": "option",
138
305
  "required": false,
139
- "schema": { "type": "object" }
306
+ "schema": {
307
+ "type": "object"
308
+ }
140
309
  }
141
310
  ]
142
311
  }
143
312
  },
144
313
  "/tint": {
145
314
  "post": {
146
- "tags": ["service"],
315
+ "tags": [
316
+ "service"
317
+ ],
147
318
  "summary": "Teinte",
148
319
  "description": "Applique une teinte colorée à l’image.",
149
320
  "parameters": [
150
- { "name": "content", "required": true, "schema": { "type": "string" } },
151
- { "name": "r", "required": true, "schema": { "type": "integer" } },
152
- { "name": "g", "required": true, "schema": { "type": "integer" } },
153
- { "name": "b", "required": true, "schema": { "type": "integer" } }
321
+ {
322
+ "name": "content",
323
+ "required": true,
324
+ "schema": {
325
+ "type": "string"
326
+ }
327
+ },
328
+ {
329
+ "name": "r",
330
+ "required": true,
331
+ "schema": {
332
+ "type": "number"
333
+ }
334
+ },
335
+ {
336
+ "name": "g",
337
+ "required": true,
338
+ "schema": {
339
+ "type": "number"
340
+ }
341
+ },
342
+ {
343
+ "name": "b",
344
+ "required": true,
345
+ "schema": {
346
+ "type": "number"
347
+ }
348
+ }
154
349
  ]
155
350
  }
156
351
  },
157
352
  "/modulate": {
158
353
  "post": {
159
- "tags": ["service"],
354
+ "tags": [
355
+ "service"
356
+ ],
160
357
  "summary": "Modulation",
161
358
  "description": "Ajuste la luminosité, la saturation et la teinte.",
162
359
  "parameters": [
163
- { "name": "content", "required": true, "schema": { "type": "string" } },
164
- { "name": "brightness", "required": false, "schema": { "type": "number" } },
165
- { "name": "saturation", "required": false, "schema": { "type": "number" } },
166
- { "name": "hue", "required": false, "schema": { "type": "number" } }
360
+ {
361
+ "name": "content",
362
+ "required": true,
363
+ "schema": {
364
+ "type": "string"
365
+ }
366
+ },
367
+ {
368
+ "name": "brightness",
369
+ "required": false,
370
+ "schema": {
371
+ "type": "number"
372
+ }
373
+ },
374
+ {
375
+ "name": "saturation",
376
+ "required": false,
377
+ "schema": {
378
+ "type": "number"
379
+ }
380
+ },
381
+ {
382
+ "name": "hue",
383
+ "required": false,
384
+ "schema": {
385
+ "type": "number"
386
+ }
387
+ }
167
388
  ]
168
389
  }
169
390
  },
170
391
  "/blur": {
171
392
  "post": {
172
- "tags": ["service"],
393
+ "tags": [
394
+ "service"
395
+ ],
173
396
  "summary": "Flou",
174
397
  "description": "Applique un flou à l’image.",
175
398
  "parameters": [
176
- { "name": "content", "required": true, "schema": { "type": "string" } },
177
- { "name": "radius", "required": false, "schema": { "type": "number" } }
399
+ {
400
+ "name": "content",
401
+ "required": true,
402
+ "schema": {
403
+ "type": "string"
404
+ }
405
+ },
406
+ {
407
+ "name": "radius",
408
+ "required": false,
409
+ "schema": {
410
+ "type": "number"
411
+ }
412
+ }
178
413
  ]
179
414
  }
180
415
  },
181
416
  "/sharpen": {
182
417
  "post": {
183
- "tags": ["service"],
418
+ "tags": [
419
+ "service"
420
+ ],
184
421
  "summary": "Netteté",
185
422
  "description": "Accentue les contours de l’image.",
186
- "parameters": [{ "name": "content", "required": true, "schema": { "type": "string" } }]
423
+ "parameters": [
424
+ {
425
+ "name": "content",
426
+ "required": true,
427
+ "schema": {
428
+ "type": "string"
429
+ }
430
+ }
431
+ ]
187
432
  }
188
433
  },
189
434
  "/toFormat": {
190
435
  "post": {
191
- "tags": ["service"],
436
+ "tags": [
437
+ "service"
438
+ ],
192
439
  "summary": "Conversion de format",
193
440
  "description": "Convertit l’image vers un autre format.",
194
441
  "parameters": [
195
- { "name": "content", "required": true, "schema": { "type": "string" } },
442
+ {
443
+ "name": "content",
444
+ "required": true,
445
+ "schema": {
446
+ "type": "string"
447
+ }
448
+ },
196
449
  {
197
450
  "name": "format",
198
451
  "required": true,
199
452
  "description": "jpeg, png, webp, avif",
200
- "schema": { "type": "string", "enum": ["jpeg", "png", "webp", "avif"] }
453
+ "schema": {
454
+ "type": "string",
455
+ "enum": [
456
+ "jpeg",
457
+ "png",
458
+ "webp",
459
+ "avif"
460
+ ]
461
+ }
201
462
  }
202
463
  ]
203
464
  }
204
465
  },
205
466
  "/jpeg": {
206
467
  "post": {
207
- "tags": ["service"],
468
+ "tags": [
469
+ "service"
470
+ ],
208
471
  "summary": "Exporter en JPEG",
209
472
  "description": "Convertit l’image en format JPEG avec qualité personnalisable.",
210
473
  "parameters": [
211
- { "name": "content", "required": true, "schema": { "type": "string" } },
212
- { "name": "quality", "required": false, "schema": { "type": "integer", "default": 80 } }
474
+ {
475
+ "name": "content",
476
+ "required": true,
477
+ "schema": {
478
+ "type": "string"
479
+ }
480
+ },
481
+ {
482
+ "name": "quality",
483
+ "required": false,
484
+ "schema": {
485
+ "type": "number",
486
+ "default": 80
487
+ }
488
+ }
213
489
  ]
214
490
  }
215
491
  },
216
492
  "/png": {
217
493
  "post": {
218
- "tags": ["service"],
494
+ "tags": [
495
+ "service"
496
+ ],
219
497
  "summary": "Exporter en PNG",
220
498
  "description": "Convertit l’image en format PNG avec niveau de compression personnalisé.",
221
499
  "parameters": [
222
- { "name": "content", "required": true, "schema": { "type": "string" } },
500
+ {
501
+ "name": "content",
502
+ "required": true,
503
+ "schema": {
504
+ "type": "string"
505
+ }
506
+ },
223
507
  {
224
508
  "name": "compressionLevel",
225
509
  "required": false,
226
- "schema": { "type": "integer", "default": 6 }
510
+ "schema": {
511
+ "type": "number",
512
+ "default": 6
513
+ }
227
514
  }
228
515
  ]
229
516
  }
230
517
  },
231
518
  "/webp": {
232
519
  "post": {
233
- "tags": ["service"],
520
+ "tags": [
521
+ "service"
522
+ ],
234
523
  "summary": "Exporter en WebP",
235
524
  "description": "Convertit l’image en format WebP avec qualité personnalisable.",
236
525
  "parameters": [
237
- { "name": "content", "required": true, "schema": { "type": "string" } },
238
- { "name": "quality", "required": false, "schema": { "type": "integer", "default": 80 } }
526
+ {
527
+ "name": "content",
528
+ "required": true,
529
+ "schema": {
530
+ "type": "string"
531
+ }
532
+ },
533
+ {
534
+ "name": "quality",
535
+ "required": false,
536
+ "schema": {
537
+ "type": "number",
538
+ "default": 80
539
+ }
540
+ }
239
541
  ]
240
542
  }
241
543
  },
242
544
  "/avif": {
243
545
  "post": {
244
- "tags": ["service"],
546
+ "tags": [
547
+ "service"
548
+ ],
245
549
  "summary": "Exporter en AVIF",
246
550
  "description": "Convertit l’image en format AVIF avec qualité personnalisable.",
247
551
  "parameters": [
248
- { "name": "content", "required": true, "schema": { "type": "string" } },
249
- { "name": "quality", "required": false, "schema": { "type": "integer", "default": 50 } }
552
+ {
553
+ "name": "content",
554
+ "required": true,
555
+ "schema": {
556
+ "type": "string"
557
+ }
558
+ },
559
+ {
560
+ "name": "quality",
561
+ "required": false,
562
+ "schema": {
563
+ "type": "number",
564
+ "default": 50
565
+ }
566
+ }
250
567
  ]
251
568
  }
252
569
  },
253
570
  "/composite": {
254
571
  "post": {
255
- "tags": ["service"],
572
+ "tags": [
573
+ "service"
574
+ ],
256
575
  "summary": "Superposition",
257
576
  "description": "Superpose une ou plusieurs images (ex. : watermark).",
258
577
  "parameters": [
259
- { "name": "content", "required": true, "schema": { "type": "string" } },
578
+ {
579
+ "name": "content",
580
+ "required": true,
581
+ "schema": {
582
+ "type": "string"
583
+ }
584
+ },
260
585
  {
261
586
  "name": "overlays",
262
587
  "required": true,
@@ -266,11 +591,21 @@
266
591
  "items": {
267
592
  "type": "object",
268
593
  "properties": {
269
- "input": { "type": "string" },
270
- "top": { "type": "integer" },
271
- "left": { "type": "integer" }
594
+ "input": {
595
+ "type": "string"
596
+ },
597
+ "top": {
598
+ "type": "number"
599
+ },
600
+ "left": {
601
+ "type": "number"
602
+ }
272
603
  },
273
- "required": ["input", "top", "left"]
604
+ "required": [
605
+ "input",
606
+ "top",
607
+ "left"
608
+ ]
274
609
  }
275
610
  }
276
611
  }
@@ -282,4 +617,4 @@
282
617
  "schemas": {}
283
618
  },
284
619
  "x-scene-blocks": {}
285
- }
620
+ }