Saltar a contenido

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 200x200 redimensiona 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>"
  • $INPUT referencia el archivo original
  • -quality 80 establece la calidad de compresión al 80%
  • $OUTPUT.webp genera 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 center ancla el recorte al centro
  • -extent 150x150 recorta 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>.png referencia otro archivo almacenado en GFile
  • -gravity southeast posiciona la superposición en la esquina inferior derecha
  • -composite fusiona 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.