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.1 KiB
3.1 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Une imágenes en horizontal, apiladas o en cuadrícula, con control sobre la alineación, los espacios, los bordes y el modo de redimensionado. | 670c5cc944b1 | human | 1679f36e5612 |
Unir imágenes
Une varias imágenes en horizontal, apiladas en vertical o dispuestas en cuadrícula. Admite alineación, espacio, borde, radio de esquina y varios modos de redimensionado.
API Endpoint
POST /api/v1/tools/image/stitch
Parámetros
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
| direction | string | No | "horizontal" |
Dirección del diseño: horizontal, vertical, grid |
| gridColumns | integer | No | 2 | Número de columnas cuando la dirección es grid (2 a 100) |
| resizeMode | string | No | "fit" |
Cómo se redimensionan las imágenes: fit, original, stretch, crop |
| alignment | string | No | "center" |
Alineación en el eje transversal: start, center, end |
| gap | number | No | 0 | Espacio entre imágenes en píxeles (0 a 1000) |
| border | number | No | 0 | Ancho del borde exterior en píxeles (0 a 500) |
| cornerRadius | number | No | 0 | Radio de esquina aplicado a la salida final (0 a 500) |
| backgroundColor | string | No | "#FFFFFF" |
Color de fondo/borde en hexadecimal (por ejemplo, #FF0000) |
| format | string | No | "png" |
Formato de salida: png, jpeg, webp, avif, jxl |
| quality | number | No | 90 | Calidad de salida (1 a 100) |
Ejemplo de solicitud
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"}'
Ejemplo de respuesta
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/stitch.png",
"originalSize": 1234567,
"processedSize": 987654
}
Notas
- Requiere al menos 2 imágenes. Sube varios archivos de imagen en la solicitud multipart.
- Admite los formatos de entrada HEIC, RAW, PSD y SVG (decodificados automáticamente).
- Modos de redimensionado:
fit: escala las imágenes para coincidir con la dimensión más pequeña a lo largo del eje de unión.original: mantiene los tamaños originales (puede producir bordes desiguales).stretch: fuerza a las imágenes a coincidir con la dimensión más pequeña sin conservar la relación de aspecto.crop: recorta las imágenes en modo cubierta para coincidir con la dimensión más pequeña.
- En el modo
grid, las celdas se dimensionan a las dimensiones medianas de todas las imágenes. - El
cornerRadiusse aplica a toda la salida final, no a las imágenes individuales. - El tamaño del lienzo está limitado por la configuración del servidor
MAX_CANVAS_PIXELSpara evitar el agotamiento de la memoria.