Imágenes para redes
Envía una imagen de origen a nuestra API para redimensionar imágenes para redes sociales y recibe de vuelta el conjunto completo de recortes y tamaños que necesita su equipo para publicar en todas partes, sin reexportar el mismo activo a mano una docena de veces. Existe porque 'redimensionar para redes' en realidad significa una proporción distinta para casi cada destino.
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.
El problema: un activo, muchas proporciones
Una sola imagen de campaña rara vez encaja tal cual en todas las plataformas: un recorte cuadrado para feed, un recorte vertical para historias, un banner ancho para publicaciones y un recorte seguro para perfil son formas distintas, y equivocarse en cualquiera de ellas significa que una parte importante de la imagen queda cortada o deformada. Los equipos de marketing y redes terminan haciendo este redimensionamiento a mano, una y otra vez, con cada activo nuevo. POST /image/social-variants existe para resolver todo ese lote en una sola llamada asíncrona.
Cómo funciona la solicitud
Envía su imagen de origen una sola vez, la tarea se encola y devuelve un task_id de inmediato para que nada quede bloqueado esperando el procesamiento, y el conjunto completo de variantes redimensionadas se entrega después mediante un webhook firmado o un enlace firmado que permanece válido durante 24 horas. Como la salida es un conjunto definido y no un solo archivo, encaja de forma natural con un flujo de 'generar variantes y luego publicar'.
Por qué las proporciones se separaron desde un inicio
Las plataformas sociales no convergieron en una sola forma porque resuelven problemas de visualización distintos: un feed quiere un recorte ancho o cuadrado que se lea bien mientras alguien lo desplaza rápido, un formato de historia quiere un cuadro vertical completo para una pantalla de teléfono, y un perfil o miniatura quiere un recorte pequeño que igual se entienda de un vistazo. Cada restricción llegó en un momento distinto a medida que crecieron los formatos mobile-first y de tipo historia, y por eso la lista de tamaños para redimensionar una sola imagen de campaña solo se ha alargado con el tiempo, no acortado.
Cómo encaja en un flujo de publicación
Como la generación es asíncrona y está orientada a activos, se integra de forma natural en un pipeline de contenido: un sistema de diseño exporta una imagen maestra, la API produce el conjunto por plataforma, y una herramienta de programación toma cada variante desde el payload del webhook para encolar la publicación. Nadie tiene que recordar qué plataforma pide qué recorte este trimestre.
Qué determina la calidad del resultado
Cada variante se genera directamente a partir de su imagen de origen en la resolución que requiere ese tamaño de destino, así que un origen nítido y de alta resolución produce variantes nítidas en todo el conjunto: el endpoint recorta y redimensiona de forma inteligente, pero no inventa detalle que no estaba presente en el original.
Qué puede hacer con ella
Lanzamiento de campaña multiplataforma
Convertir una imagen principal de campaña en todos los recortes necesarios para publicar el mismo lanzamiento en feed, historias y perfil al mismo tiempo.
Automatización del calendario de contenido
Procesar cada activo nuevo con la API en cuanto entra a una herramienta de programación, para que toda publicación llegue ya redimensionada antes de que una persona la toque.
Entrega de activos para agencias
Entregar la imagen aprobada de un cliente a un sistema de diseño que produce automáticamente cada variante para sus cuentas sociales.
Promoción de producto en e-commerce
Redimensionar la foto de un producto en todos los formatos necesarios para promocionarlo en todo el conjunto de canales sociales de una marca a la vez.
Preguntas frecuentes
¿Cómo funciona la API para redimensionar imágenes para redes sociales?
Envía una imagen de origen a POST /image/social-variants; devuelve un task_id de inmediato y entrega el conjunto completo de variantes redimensionadas después vía webhook o un enlace firmado válido por 24 horas.
¿Redimensionar imágenes para redes sociales es gratis?
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.
¿Cuánto cuesta generar un conjunto de variantes?
Cada solicitud cuesta $0.002 más $0.005 por cada juego de variantes producido, y se cobra únicamente cuando la generación se completa con éxito.
¿Qué tamaños de plataforma incluye?
El conjunto cubre las proporciones más comunes que se necesitan en feed, historias y perfil, generadas todas juntas a partir de su imagen de origen.
¿Tengo que preparar los recortes de cada plataforma yo mismo?
No, ese es justamente el punto del endpoint: envía una imagen maestra y él se encarga de redimensionar y recortar todo el conjunto de tamaños de destino.
¿Se cobra si falla un trabajo de redimensionamiento?
No. Una tarea fallida se reintenta automáticamente hasta tres veces y nunca se factura si finalmente no se logra completar.
¿Puedo procesar muchas imágenes de origen en volumen?
Sí, cada imagen de origen se envía como su propia solicitud asíncrona, así que puede encolar un lote completo de contenido y rastrear cada una por su task_id.
¿En qué se diferencia de recortar manualmente en un editor?
Reemplaza la reexportación manual y repetitiva con una sola llamada a la API por imagen de origen, devolviendo el conjunto completo listo para cada plataforma en lugar de un recorte a la vez.
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/social-variants \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/image/social-variants", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/social-variants",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/social-variants", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/social-variants", 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
{
"input": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.social_variants",
"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. |