mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Renames 18 ambiguous or hard-to-search tool names so image tools self-qualify like the other modalities ("Compress" becomes "Compress Image"), and cleans up a few awkward names. Propagated across search (constants.ts), display (en.ts + 20 locales), the OpenAPI base spec + 20 locale specs, and the docs tool-page headings in 21 languages. Removes the duplicate "Normalize Audio" summary shared by the video and audio endpoints. Tool ids and routes are unchanged, so no API paths or bookmarks break.
3.2 KiB
3.2 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Assemble des images côte à côte, empilées ou en grille, avec un contrôle de l'alignement, des espacements, des bordures et du mode de redimensionnement. | 670c5cc944b1 | human | 313c2611aaff |
Assembler des images
Assemble plusieurs images côte à côte, empilées verticalement ou disposées en grille. Prend en charge l'alignement, l'espacement, la bordure, le rayon des coins et plusieurs modes de redimensionnement.
Point d'accès de l'API
POST /api/v1/tools/image/stitch
Paramètres
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| direction | string | Non | "horizontal" |
Direction de la disposition : horizontal, vertical, grid |
| gridColumns | integer | Non | 2 | Nombre de colonnes lorsque la direction est grid (2 à 100) |
| resizeMode | string | Non | "fit" |
Mode de redimensionnement des images : fit, original, stretch, crop |
| alignment | string | Non | "center" |
Alignement transversal : start, center, end |
| gap | number | Non | 0 | Espacement entre les images en pixels (0 à 1000) |
| border | number | Non | 0 | Largeur de la bordure extérieure en pixels (0 à 500) |
| cornerRadius | number | Non | 0 | Rayon des coins appliqué à la sortie finale (0 à 500) |
| backgroundColor | string | Non | "#FFFFFF" |
Couleur d'arrière-plan/bordure en hexadécimal (par exemple #FF0000) |
| format | string | Non | "png" |
Format de sortie : png, jpeg, webp, avif, jxl |
| quality | number | Non | 90 | Qualité de sortie (1 à 100) |
Exemple de requête
curl -X POST http://localhost:1349/api/v1/tools/image/stitch \
-F "file=@image1.png" \
-F "file=@image2.png" \
-F "file=@image3.png" \
-F 'settings={"direction":"horizontal","resizeMode":"fit","gap":10,"backgroundColor":"#FFFFFF","format":"png"}'
Exemple de réponse
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/stitch.png",
"originalSize": 1234567,
"processedSize": 987654
}
Remarques
- Nécessite au moins 2 images. Téléversez plusieurs fichiers image dans la requête multipart.
- Prend en charge les formats d'entrée HEIC, RAW, PSD et SVG (décodés automatiquement).
- Modes de redimensionnement :
fit- Met les images à l'échelle pour correspondre à la plus petite dimension le long de l'axe d'assemblage.original- Conserve les tailles d'origine (peut produire des bords irréguliers).stretch- Force les images à correspondre à la plus petite dimension sans conserver le rapport d'aspect.crop- Recadre les images en mode couverture pour correspondre à la plus petite dimension.
- En mode
grid, les cellules sont dimensionnées selon les dimensions médianes de toutes les images. - Le
cornerRadiusest appliqué à l'ensemble de la sortie finale, et non aux images individuelles. - La taille du canevas est limitée par la configuration serveur
MAX_CANVAS_PIXELSafin d'éviter l'épuisement de la mémoire.