Calcule la duración de un vídeo con fotograma congelado
Un fotograma congelado mantiene una imagen en pantalla mientras la línea de tiempo continúa, por lo que insertarlo alarga el resultado sin modificar la duración del metraje original en movimiento.
Ejecutar — gratis
Esta calculadora recibe la duración original, la marca temporal donde empieza la pausa y la longitud deseada, todo en segundos. Comprueba que el punto pertenezca a la línea de tiempo de origen y devuelve la duración total nueva. Puede usarla para planificar una edición, verificar una entrega, estimar una locución o preparar metadatos antes del renderizado.
Introduzca los tiempos en segundos
Indique la duración completa del vídeo sin modificar como original_duration, la marca temporal que desea mantener como freeze_point y el tiempo añadido como freeze_length. Los tres valores se expresan en segundos y admiten decimales, tanto para decisiones inferiores a un segundo como para metraje largo. Por ejemplo, 2.5 representa dos segundos y medio. La duración original debe ser mayor que cero; la congelación puede valer cero si solo desea validar el punto previsto. Este puede coincidir con el inicio, estar dentro del vídeo o ser exactamente el instante final, pero nunca puede ser negativo ni posterior al final original. Mantenga todos los datos en la misma escala. Si su editor muestra minutos y segundos, conviértalos a segundos totales antes de enviarlos; así evitará interpretar 1:30 como 1.30 segundos en vez de 90 segundos.
Comprenda qué incluye el cálculo
El cálculo suma la longitud de la congelación a la duración original. El punto de congelación decide si la inserción propuesta es válida, pero no altera la cantidad añadida: una pausa de cuatro segundos añade cuatro segundos tanto al principio como en el centro o sobre el fotograma final. Por ello, new_total_duration equivale a la duración de origen más la pausa insertada. El modelo supone una inserción real que desplaza hacia delante todo el material posterior. No representa la sustitución de metraje existente por una imagen fija, ya que esa operación puede conservar la duración total. Tampoco incorpora transiciones, márgenes, cambios de velocidad, fotogramas duplicados por la frecuencia ni relleno de audio, salvo que usted añada esos tiempos a su planificación. La respuesta repite los tres valores aceptados junto al resultado para facilitar auditorías, notas de edición y comparaciones con el archivo exportado.
Aplique el resultado a su flujo de edición
Use la duración nueva como valor de planificación antes de iniciar un renderizado o actualizar los metadatos de entrega. Puede comprobar si un tutorial sigue respetando un límite después de detenerse en un detalle, reservar suficiente narración o música para una toma fija y validar una lista de decisiones antes de enviarla al renderizador. Una marca que exceda el material disponible se rechazará. Como no se carga ningún archivo, también resulta útil cuando el vídeo debe permanecer en almacenamiento local: solo se envían datos numéricos de tiempo. Para un trabajo preciso por fotogramas, convierta primero la posición y la cantidad de fotogramas retenidos a segundos usando la frecuencia exacta del proyecto. Preste especial atención a frecuencias fraccionarias como 29.97, cuyas marcas visibles redondeadas pueden apartarse de la línea de tiempo exacta. Esta capacidad calcula duración; no inspecciona códecs, pistas de código de tiempo, frecuencia variable ni el archivo renderizado.
Qué puede hacer con ella
Planificar una pausa didáctica
Compruebe la duración final al mantener un fotograma el tiempo suficiente para que el público pueda leerlo.
Validar una decisión de edición
Rechace una instrucción de congelación situada antes del inicio o después del final del material.
Actualizar metadatos de entrega
Calcule la duración prevista antes de que el renderizador o el flujo de publicación cree el archivo final.
Preguntas frecuentes
¿Cuánto cuesta el cálculo?
Puede ejecutarlo gratis en el navegador de esta página. Las solicitudes por API usan el precio base vigente de $0.002.
¿Qué unidades debo usar?
Introduzca la duración original, el punto y la longitud de la congelación en segundos. Se admiten segundos decimales.
¿Puede estar el punto exactamente al final?
Sí. La marca final pertenece a la duración original y representa la retención del último fotograma.
¿Por qué el punto no aparece en la suma?
Sirve para validar dónde ocurre la inserción. La longitud añadida es igual en cualquier posición válida de la línea de tiempo.
¿Sustituir metraje por una imagen fija aumenta la duración?
No necesariamente. Esta calculadora modela una pausa insertada que desplaza el material posterior, no una sustitución dentro del tiempo existente.
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/freeze-frame-duration \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"original_duration":90,"freeze_point":32.5,"freeze_length":4.25}'const res = await fetch("https://api.kit.forhosting.com/video/freeze-frame-duration", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"original_duration": 90,
"freeze_point": 32.5,
"freeze_length": 4.25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/freeze-frame-duration",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"original_duration": 90,
"freeze_point": 32.5,
"freeze_length": 4.25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/freeze-frame-duration", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"original_duration":90,"freeze_point":32.5,"freeze_length":4.25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"original_duration":90,"freeze_point":32.5,"freeze_length":4.25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/freeze-frame-duration", 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
{
"original_duration": 90,
"freeze_point": 32.5,
"freeze_length": 4.25
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.freeze_frame_duration",
"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 | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
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. |