Redimensionar en lote
Una migración de catálogo, una importación de fotos o el lanzamiento de una colección de temporada rara vez involucran una sola imagen: implican una carpeta entera, todas necesitando el mismo tamaño final. Este endpoint procesa el lote completo en una sola llamada, para que no tenga que escribir un ciclo alrededor de un endpoint de una sola imagen y esperar que su límite de peticiones aguante.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Por qué el lote es un problema distinto al de redimensionar
Redimensionar una imagen es un problema resuelto; redimensionar tres mil es un problema operativo. Significa manejar la concurrencia para no saturar su propia infraestructura, llevar el control de qué archivos se procesaron bien y cuáles no, reintentar solo los fallidos sin reprocesar todo, y hacerlo sin bloquear el proceso que disparó el trabajo. Los equipos que construyen esto encadenando llamadas de un solo endpoint terminan armando a mano una pequeña cola de tareas, casi siempre bajo presión de tiempo durante una migración de catálogo o el relanzamiento de un sitio.
Qué hace realmente una sola llamada
Envía una lista de imágenes de origen, por URL o archivo, junto con un tamaño y modo de ajuste compartidos, o con ajustes específicos por imagen si un subconjunto necesita un tratamiento distinto, y todo el lote corre como una sola tarea asíncrona. Internamente las imágenes se procesan en paralelo, y la tarea da seguimiento a cada una individualmente, así que un archivo dañado o inaccesible dentro del lote no detiene ni hace fallar a las imágenes que lo rodean. Cuando el lote termina, el webhook entrega un manifiesto con cada archivo de salida junto al estado de cada imagen de origen.
La pregunta de escala, respondida con honestidad
No hay un límite artificial que le obligue a partir una migración grande en bloques arbitrarios de cincuenta o cien; el límite práctico es el tamaño del lote que envía y lo que tenga sentido para su propio flujo de trabajo. Lo que sí garantizamos es que el precio se mantiene lineal y transparente: la tarifa de la solicitud se paga una sola vez por todo el lote, y cada imagen se cobra individualmente, solo si se procesa con éxito, así que una migración de diez mil imágenes cuesta exactamente lo que costarían diez mil redimensionamientos individuales, menos nueve mil novecientas noventa y nueve tarifas de solicitud de más.
Dónde encaja en un flujo real
Este es el endpoint al que recurren los equipos para trabajos masivos de una sola vez: migrar un catálogo de productos a una nueva plataforma, generar miniaturas faltantes en un archivo antiguo, o normalizar la entrega de fotos de un fotógrafo antes de publicar, en lugar de subidas constantes de una en una, donde el endpoint de redimensionar una sola imagen encaja mejor. Como todo el lote comparte un único task_id, también es sencillo dar seguimiento al progreso desde un panel o un script de migración, sin manejar miles de identificadores individuales.
Qué puede hacer con ella
Migración de catálogo a una nueva plataforma
Un equipo de e-commerce que cambia de tienda redimensiona toda su biblioteca de imágenes de producto a las medidas del nuevo tema en un puñado de llamadas de lote, en vez de miles de llamadas individuales.
Generar miniaturas faltantes en un archivo antiguo
Un medio de comunicación genera los tamaños de miniatura que faltan para años de artículos archivados en un solo trabajo por lote, sin tocar el flujo de publicación de cada artículo.
Normalización de la entrega de un fotógrafo
Una plataforma de stock o de eventos redimensiona una sesión completa entregada, a veces cientos de imágenes, a las medidas web requeridas justo después de la carga.
Preparación de una colección de temporada
Un retailer que prepara una colección grande redimensiona en lote cada foto de producto nueva al tamaño de la cuadrícula de su tienda antes de publicar la página de la colección.
Preguntas frecuentes
¿Cuántas imágenes puedo redimensionar en una sola llamada de lote?
No hay un límite arbitrario de bloque; envía tantas imágenes de origen como se ajusten a su flujo de trabajo, y cada una se rastrea y factura individualmente dentro del lote.
¿Todas las imágenes del lote deben tener el mismo tamaño?
No, puede definir un tamaño y modo de ajuste compartidos para todo el lote, o cambiar la configuración para imágenes específicas dentro de la misma llamada.
¿Qué pasa si una imagen del lote falla?
Una imagen fallida no detiene el lote; el manifiesto devuelto indica el estado de cada imagen de origen, y solo se cobran las que se redimensionaron con éxito.
¿Existe un plan gratuito para redimensionar imágenes en lote?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cómo se cobra el redimensionamiento en lote?
$0.002 por solicitud de lote más $0.005 por cada imagen efectivamente redimensionada, así que la tarifa de la solicitud se paga una sola vez sin importar qué tan grande sea el lote.
¿Cómo obtengo los resultados de miles de imágenes redimensionadas?
El lote corre como una sola tarea asíncrona y entrega un manifiesto con todos los archivos de salida por webhook firmado, o mediante un enlace firmado válido por 24 horas.
¿Debería usar esto en vez del endpoint de una sola imagen?
Use este endpoint para trabajos masivos de una sola vez, como migraciones o cargas históricas; para subidas constantes de una en una, el endpoint de una sola imagen es más simple y igual de rápido.
¿Las imágenes del lote se procesan en el orden en que las envío?
Las imágenes se procesan en paralelo por velocidad, así que el orden de finalización no está garantizado, pero el manifiesto asocia cada archivo de salida con su imagen de origen correspondiente.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/image/resize-batch \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/resize-batch", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/resize-batch",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/resize-batch", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/resize-batch", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"image": "https://ejemplo.com/imagen.jpg"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.resize_batch",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 15 |
max_megapixels | 12 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |