Documentación de la API
Envía la clave con Authorization: Bearer. La API admite JPEG, PNG y WebP estáticos de hasta 5 MB y 20 megapíxeles. Las respuestas de error incluyen un código HTTP y un campo error.
Formatos y límites
La API recibe imágenes estáticas JPEG, PNG y WebP. Devuelve el formato original, JPEG, PNG o WebP. No admite GIF, BMP, HEIC, AVIF, JPEG XL, SVG, TIFF ni imágenes animadas. El límite por archivo es de 5 MB y 20 megapíxeles. El servicio comprueba el tipo MIME, la firma y la decodificación; esto no sustituye un análisis antivirus.
Clave de acceso
Crea una clave en tu cuenta. El valor completo se muestra una sola vez. Envíalo en la cabecera Authorization y guárdalo en el servidor, nunca en código público.
Solicitud de compresión
Envía POST con multipart/form-data a /api-compress.php. El archivo va en image. format es opcional y admite original, jpeg, png o webp; el valor predeterminado es original. billing_mode admite standard o bitrix; el valor predeterminado es standard. Una respuesta correcta contiene la imagen procesada y cabeceras con los tamaños.
curl
curl -X POST 'https://ankpicpress.com/api-compress.php' \
+ -H 'Authorization: Bearer ank_test_DEMO_ONLY_NOT_A_REAL_KEY' \
+ -F 'image=@photo.jpg' -F 'format=webp' --output photo.webpModo del módulo Bitrix
ank.imagecompress usa billing_mode=bitrix y la cabecera X-ANK-Request-ID con 64 caracteres hexadecimales. Repite el mismo identificador al reintentar la misma tarea. Un identificador usado para otro archivo o formato devuelve 409. El resultado de un reintento se conserva hasta 30 días. En este modo se cobra un crédito solo si el resultado válido es menor que el original. En modo standard, cada procesamiento correcto cuesta un crédito.
Disponibilidad
GET /api-health.php no requiere clave, no procesa imágenes ni consume créditos. Devuelve 200 y {"status":"ok"} si el servicio está disponible; 503 y {"status":"unavailable"} si falla la comprobación. HEAD devuelve el mismo estado sin cuerpo.
Saldo
GET /api-balance.php requiere Authorization: Bearer <API_KEY>. Devuelve free_remaining, paid_credits y total_available sin cambiar el saldo. Una clave inválida o revocada devuelve 401. El límite es de 60 solicitudes por minuto y clave; al superarlo se devuelve 429.
Créditos y errores
Las primeras 500 unidades de API de cada mes natural son gratuitas y no se acumulan. Cada optimización o conversión correcta cuesta un crédito. Los créditos comprados no caducan. Errores: 400 solicitud inválida; 401 clave inválida; 402 saldo insuficiente; 413 límite de tamaño; 415 formato no admitido; 429 límite de solicitudes; 503 error temporal. Los errores se devuelven en JSON con el campo error.