Miniatura de un PDF
Un selector de archivos lleno de íconos grises idénticos de PDF obliga a cualquier usuario a abrir y cerrar documentos solo para encontrar el correcto. Esta API de miniatura de PDF renderiza la primera página de cualquier PDF en una imagen de vista previa, para que una biblioteca de documentos, un adjunto de chat o una cuadrícula de carga muestren lo que realmente hay adentro antes de que alguien haga clic.
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é un ícono genérico no alcanza
Una carpeta llena de contratos, facturas o formularios escaneados se ve idéntica desde afuera: misma extensión, mismo ícono gris, la misma incertidumbre sobre cuál es cuál. Eso obliga a los usuarios a un ciclo lento de abrir un documento, echar un vistazo, cerrarlo y probar con el siguiente, exactamente el tipo de fricción que elimina una pequeña imagen de vista previa. Una miniatura de la primera página convierte un muro de nombres de archivo en algo que una persona puede escanear visualmente en segundos, igual que una galería de fotos supera a una carpeta de archivos numerados.
Qué devuelve el endpoint
Envíe un documento a POST /pdf/thumbnail y devuelve un task_id de inmediato, ya que el renderizado ocurre de forma asíncrona en segundo plano. La primera página se convierte en una imagen estándar, con un tamaño pensado para contextos típicos de vista previa como listas de archivos, cuadrículas y tarjetas de adjuntos, capturando la página exactamente como se imprimiría o mostraría, incluyendo cualquier imagen, color y diseño de texto de esa página. Las páginas posteriores a la primera no se renderizan, porque una miniatura está pensada para responder una sola pregunta rápido: qué es este documento.
Por qué la primera página carga con el peso
Las convenciones de documentos llevan mucho tiempo tratando la página uno como el resumen de todo lo que sigue: una portada, un bloque de título, un membrete, un encabezado de factura con el monto y la fecha visibles de un vistazo. Esa convención es precisamente lo que hace útil, y no limitante, renderizar una sola página: para la gran mayoría de los documentos de negocio, la primera página por sí sola le dice más a quien la mira que cualquier nombre de archivo, sin el costo de renderizar cada página de cada archivo de una biblioteca.
Dónde gana su lugar en un flujo de trabajo
Encaja de forma natural en cualquier pantalla de gestión documental, un portal de clientes donde los usuarios suben sus propios archivos, un CRM que adjunta PDF a registros, o un producto de mensajería que necesita una vista previa visual del adjunto en lugar de un simple enlace con el nombre del archivo. Generar la miniatura de forma asíncrona en el momento de la carga, en lugar de en cada vez que se muestra la pantalla, mantiene las interfaces rápidas porque la vista previa ya está lista y en caché mucho antes de que alguien la necesite.
Entrega y precio
La imagen de la miniatura se entrega por un webhook firmado, recomendado para flujos automatizados, o un enlace firmado válido durante 24 horas; el documento de origen y la imagen generada se eliminan tras la ventana de retención y nunca se usan para entrenar nada. El precio es $0.040 por solicitud más $0.001 por documento, una estructura predecible ya sea que genere una sola vista previa o la ejecute sobre una biblioteca grande existente. Este endpoint está activo ahora mismo y listo para tráfico de producción.
Qué puede hacer con ella
Mostrar vistas previas reales en una cuadrícula de documentos
Reemplace un muro de íconos idénticos de PDF en un gestor de archivos o base de conocimiento con miniaturas reales de la primera página, para que los usuarios reconozcan el documento que necesitan sin abrirlo.
Previsualizar adjuntos en chat o tickets de soporte
Genere una miniatura visual para los PDF adjuntos a un ticket de soporte o mensaje de chat, para que los agentes vean qué se envió sin descargar cada archivo.
Enriquecer un registro de CRM con una vista del documento
Adjunte una pequeña imagen de vista previa junto a cada contrato o factura almacenada en un registro de cliente, dando a ventas y soporte un ancla visual de un vistazo.
Agilizar colas de revisión en un portal documental
Genere miniaturas para cada PDF subido a un portal de recepción o revisión, dejando que el personal filtre la cola de forma visual en lugar de entrar archivo por archivo.
Preguntas frecuentes
¿Cómo genero una miniatura de PDF con una API?
Envíe el archivo a POST /pdf/thumbnail, que devuelve un task_id de inmediato. La imagen renderizada de la primera página se entrega por webhook o enlace firmado cuando termina la tarea.
¿La API de miniatura de PDF 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.
¿Genera miniaturas de todas las páginas o solo de una?
Solo se renderiza la primera página, ya que es la que representa al documento completo con mayor fiabilidad y la que necesita una vista previa para responder qué contiene el archivo.
¿En qué formato de imagen viene la miniatura?
La primera página se convierte en una imagen estándar de vista previa, con un tamaño pensado para contextos típicos de listas de archivos, cuadrículas y tarjetas de adjuntos.
¿Puedo generar miniaturas para un lote grande de PDF?
Sí. Cada solicitud es una tarea asíncrona independiente, así que puede enviar una biblioteca grande en paralelo y recoger cada miniatura por webhook a medida que se completa.
¿La miniatura se verá distinta a la página impresa real?
No. El renderizado captura la primera página tal como se imprimiría o mostraría, incluyendo imágenes, colores y diseño de texto, solo que reducida al tamaño de vista previa.
¿Cómo se calcula el precio de las miniaturas?
Cada solicitud cuesta un fijo de $0.040 más $0.001 por documento procesado, así que el costo escala de forma predecible ya sea que renderice un solo archivo o un archivo entero.
¿El endpoint de miniaturas está activo ahora mismo?
Sí, está activo y acepta tráfico de producción hoy mismo.
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/pdf/thumbnail \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/thumbnail", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/thumbnail",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/thumbnail", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/thumbnail", 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
{
"pdf": "https://ejemplo.com/documento.pdf"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.thumbnail",
"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 | 25 |
max_pages | 200 |
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. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |