Transformación de Imágenes
Aplica transformaciones en tiempo real a imágenes sin necesidad de re-subirlas. Todos los comandos de transformación usan la sintaxis de ImageMagick — la herramienta estándar de la industria para procesamiento de imágenes.
Cómo funciona
Pasa comandos de ImageMagick a través del parámetro de consulta format. GFile ejecuta la transformación, almacena en caché el resultado como sub-archivo y devuelve la imagen procesada. Usa $INPUT y $OUTPUT.<ext> como marcadores para los archivos de origen y destino.
/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/view?format=<comando-imagemagick>&apiKey=<your-api-key>
Transformaciones disponibles
| Operación | Comando | Descripción |
|---|---|---|
| Redimensionar | -resize 300x200 |
Redimensionar a ancho×alto |
| Rotar | -rotate 90 |
Rotar por ángulo (grados) |
| Voltear vertical | -flip |
Voltear verticalmente |
| Voltear horizontal | -flop |
Voltear horizontalmente |
| Escala de grises | -colorspace Gray |
Convertir a escala de grises |
| Desenfoque | -blur 0x5 |
Aplicar desenfoque gaussiano (radio×sigma) |
| Nitidez | -sharpen 0x1 |
Aumentar nitidez |
| Conversión de formato | -format webp |
Convertir a otro formato |
| Calidad | -quality 80 |
Establecer calidad de compresión (1-100) |
| Recorte | -crop 200x200+50+50 |
Recortar a ancho×alto en desplazamiento +x+y |
| Miniatura | -thumbnail 150x150^ |
Crear miniatura con relleno proporcional |
| Eliminar metadatos | -strip |
Eliminar EXIF y metadatos |
Ejemplos
Redimensionar una imagen
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/view?format=-resize 200x200&apiKey=<your-api-key>"
-resize 200x200redimensiona para caber dentro de 200×200 píxeles, preservando la proporción
Convertir formato y establecer calidad
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/view?format=$INPUT -quality 80 $OUTPUT.webp&apiKey=<your-api-key>"
$INPUTreferencia el archivo original-quality 80establece la calidad de compresión al 80%$OUTPUT.webpgenera salida en formato WebP
Crear una miniatura centrada
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/view?format=$INPUT -resize 150x150^ -gravity center -extent 150x150 $OUTPUT.png&apiKey=<your-api-key>"
-resize 150x150^redimensiona para llenar el área de 150×150 (puede desbordar)-gravity centerancla el recorte al centro-extent 150x150recorta exactamente a 150×150 píxeles
Componer imágenes (superposición de marca de agua)
Referencia otros archivos en tu pipeline de transformación usando $<file-uuid>:
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/view?format=$INPUT $<watermark-file-uuid>.png -gravity southeast -composite $OUTPUT.png&apiKey=<your-api-key>"
$<watermark-file-uuid>.pngreferencia otro archivo almacenado en GFile-gravity southeastposiciona la superposición en la esquina inferior derecha-compositefusiona las imágenes
Obtener metadatos de imagen
Recupera información técnica detallada (dimensiones, formato, espacio de color):
curl "/api/v1/tenants/:tenantId/buckets/:bucketId/files/:fileId/info?apiKey=<your-api-key>"
Retorna la salida JSON de ImageMagick con dimensiones, formato, espacio de color y más.