Calcule marcas de tiempo para miniaturas de video
Planifique un conjunto limpio de imágenes de vista previa antes de decodificar un solo fotograma.
Ejecutar — gratis
Indique la duración del video y la cantidad de miniaturas que necesita; la calculadora devolverá marcas de tiempo deterministas y equidistantes en segundos. Evita deliberadamente el primer y el último segundo, donde los fundidos, fotogramas negros, títulos y pantallas finales suelen producir vistas previas poco útiles. El resultado puede utilizarse directamente en una orden de extracción, un flujo multimedia, un generador de guiones gráficos o la línea de tiempo de un reproductor.
Elija puntos representativos sin muestrear los extremos
Un buen conjunto de miniaturas debe resumir el video, no limitarse a dividir su duración bruta. El instante inicial suele contener un fotograma negro, un fundido de entrada, una claqueta de carga o un fotograma clave incompleto. El final también puede mostrar un fundido, créditos, una tarjeta final o ningún fotograma decodificable justo en el límite de duración. Esta calculadora descarta esas zonas poco fiables y define una ventana útil desde un segundo después del comienzo hasta un segundo antes del final. Si solicita dos o más marcas, coloca la primera al inicio de esa ventana segura, la última al final y distribuye las demás a intervalos iguales. Si solicita una sola, devuelve el punto medio del video. El comportamiento es explícito y repetible: una misma duración y cantidad siempre generan el mismo plan. Así puede enviar los segundos directamente a otro proceso de extracción sin reescribir la lógica de espaciado ni pedir por error el extremo inaccesible del archivo multimedia.
Comprenda el cálculo y sus límites
La entrada se expresa en segundos y admite duraciones fraccionarias, algo importante porque los metadatos multimedia rara vez terminan en un segundo entero. Para varias miniaturas, el intervalo se obtiene dividiendo la duración útil —la duración total menos dos segundos— entre una unidad menos que la cantidad solicitada. Cada marca es el primer segundo seguro más ese intervalo multiplicado por su posición, empezando en cero. Los resultados se redondean a un máximo de seis decimales para mantener estable la salida JSON y conservar precisión inferior al segundo. La duración debe superar dos segundos, pues un clip más corto no deja una zona que excluya ambos extremos. La cantidad debe ser un entero de al menos uno; cero o un valor negativo no forman un plan válido y generan un error de entrada. Los límites superiores evitan matrices innecesariamente grandes. La herramienta solo calcula posiciones: no examina fotogramas, detecta escenas ni garantiza que un decodificador busque la fracción exacta solicitada.
Integre las marcas en su flujo de miniaturas
Comience con la duración fiable que indique su analizador multimedia, los metadatos del reproductor o el servicio de carga. Elija una cantidad acorde con el destino: una vista previa compacta al recorrer la línea de tiempo quizá necesite pocos fotogramas, mientras que un guion gráfico extenso puede requerir decenas. Envíe esos valores a la calculadora y conserve el orden devuelto al extraer las imágenes. La mayoría de herramientas de video aceptan segundos o permiten convertirlos a su propia notación temporal. Como el plan es uniforme, también sirve para claves de caché deterministas y tareas repetibles: un reintento pedirá exactamente las mismas posiciones. Recuerde que la precisión final depende del extractor. Algunos modos rápidos saltan al fotograma clave más próximo; los modos exactos decodifican hasta alcanzar el tiempo pedido. Si necesita cobertura basada en el contenido, aplique detección de escenas. Para una cobertura temporal previsible, lotes, pruebas y tiras de vista previa, estas marcas ofrecen un contrato transparente y fácil de reproducir.
Qué puede hacer con ella
Cree una tira de vista previa
Genere posiciones previsibles para las imágenes que aparecen cuando una persona recorre la línea de tiempo del video.
Planifique un guion gráfico
Cree una hoja de contactos uniforme sin seleccionar fotogramas iniciales negros ni pantallas finales.
Programe extracciones por lotes
Entregue una lista estable de marcas a una tarea de FFmpeg, un trabajador multimedia o un flujo de procesamiento de cargas.
Preguntas frecuentes
¿Cuánto cuesta?
Cada solicitud de API cuesta $0.002. También puede usar la calculadora en el navegador.
¿Por qué se excluyen el primer y el último segundo?
Esas zonas suelen contener fundidos, fotogramas negros, títulos, créditos o un límite no decodificable, por lo que producen vistas previas deficientes.
¿Qué ocurre si solicita una sola miniatura?
La calculadora devuelve el punto medio del video, que queda dentro de la ventana segura para cualquier duración aceptada.
¿Esta herramienta extrae las imágenes?
No. Solo devuelve marcas de tiempo; utilice el resultado con un decodificador o extractor de fotogramas.
¿Admite fracciones de segundo?
Sí. La duración y las marcas pueden contener fracciones, y la salida se redondea a un máximo de seis decimales.
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, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/video/thumbnail-timestamps \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_seconds":120,"count":5}'const res = await fetch("https://api.kit.forhosting.com/video/thumbnail-timestamps", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_seconds": 120,
"count": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/thumbnail-timestamps",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_seconds": 120,
"count": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/thumbnail-timestamps", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_seconds":120,"count":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_seconds":120,"count":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/thumbnail-timestamps", 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
{
"duration_seconds": 120,
"count": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.thumbnail_timestamps",
"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_items | 10000 |
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. |