Recortar un vídeo
La mayoría de las ediciones que necesita un vídeo no son ediciones en realidad: son un punto de inicio y uno de fin. Este endpoint corta exactamente ese rango y entrega un clip limpio, sin tocar las partes que ya quedaron bien.
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.
Los quince minutos de sobra que nadie quiere
Una grabación en bruto casi siempre trae holgura en ambos extremos: una cuenta regresiva antes de que arranque un webinar, un tramo de silencio después de que termina una llamada con un cliente, una toma de calentamiento antes de que la demostración del producto agarre ritmo. Nada de eso pertenece al archivo final, pero abrir un editor completo solo para recortar los bordes es demasiada herramienta para un trabajo de dos cortes. video.trim existe exactamente para ese momento: usted ya sabe los tiempos, solo necesita el clip.
Cómo se ve la solicitud
Envíe POST a /video/trim con el vídeo de origen y los puntos de inicio y fin que quiere conservar, y la respuesta es un task_id inmediato mientras el corte corre en segundo plano. Cuando termina, el archivo recortado llega mediante una llamada de webhook firmada o queda disponible en un enlace firmado válido por 24 horas, según lo que su sistema esté preparado para recibir.
Por qué un recorte no es una recodificación completa
Los archivos de vídeo se construyen a partir de fotogramas clave y los fotogramas que dependen de ellos, y un corte inteligente alinea los puntos de edición con esa estructura en lugar de decodificar y recomprimir cada fotograma del archivo. Esa es la diferencia entre recortar y transcodificar por completo: un recorte suele conservar casi intactas las decisiones de codificación originales, lo que mantiene la calidad intacta y el proceso rápido. Es el mismo principio en el que se apoyan los editores desde los primeros sistemas de edición no lineal: cortar sobre la estructura, no a fuerza bruta.
Cómo encaja en un flujo de trabajo
Recortar rara vez ocurre solo. Un flujo de grabaciones puede recortar el silencio muerto de la captura de un webinar, entregar el resultado a un paso de miniatura y luego a uno de marca de agua, cada uno como una tarea asíncrona independiente encadenada por webhook. Como el precio es una tarifa fija por solicitud más una tarifa pequeña por minuto, recortar una grabación de dos horas hasta dejar ocho minutos de lo mejor se cobra según lo que usted envía, no según lo que conserva, así que conviene recortar temprano en cualquier cadena y no al final.
Qué puede hacer con ella
Eliminar la cuenta regresiva de un webinar
Una plataforma de webinars recorta la cuenta regresiva previa y el silencio posterior de cada grabación antes de archivarla para verla bajo demanda.
Extracción de lo mejor de grabaciones largas
Un equipo de contenido deportivo corta una sola jugada de gol de la grabación completa de un partido para publicarla como clip independiente en redes.
Ventana de redacción de llamadas de soporte
Una plataforma de soporte recorta una llamada con un cliente hasta dejar solo el segmento relevante antes de adjuntarla a un ticket, dejando fuera la música de espera y la charla informal.
Paso de preprocesamiento encadenado
Un flujo de contenido recorta el metraje en bruto primero y luego pasa el clip más corto a tareas de redimensionado y marca de agua, reduciendo el tiempo total de procesamiento en toda la cadena.
Preguntas frecuentes
¿Cómo recorto un vídeo con la API?
Envíe el vídeo de origen y las marcas de tiempo de inicio y fin por POST a /video/trim, guarde el task_id devuelto y reciba el clip recortado por webhook o mediante un enlace firmado válido por 24 horas.
¿Es gratis la API para recortar vídeo?
No, no hay plan gratuito ni prueba; cuesta $0.077 por solicitud más $0.0045 por minuto de vídeo, y un recorte fallido nunca se cobra.
¿El recorte recodifica todo el vídeo?
El corte se hace sobre la estructura existente del vídeo siempre que es posible, evitando una recodificación completa y manteniendo el proceso rápido y prácticamente sin pérdida.
¿Puedo recortar varios segmentos del mismo archivo?
Cada solicitud corta un rango continuo, así que varios segmentos del mismo origen se envían como tareas asíncronas separadas.
¿Qué tan preciso es el punto de inicio y fin?
Usted indica las marcas de tiempo que quiere conservar, y el endpoint corta a ese rango tan cerca como lo permite la estructura del vídeo.
¿Ya está disponible este endpoint?
Está en despliegue en este momento, así que verifique el estado del endpoint antes de enviar tráfico de producción porque todavía no acepta trabajos.
¿La duración del vídeo afecta el precio?
Sí, el precio es una tarifa fija por solicitud más una tarifa por minuto según la duración del vídeo de origen.
¿Se guarda mi vídeo después de terminar el recorte?
No, los archivos de origen y los recortados se eliminan después del período de retención y nunca se usan para entrenamiento.
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/video/trim \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/video/trim", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/trim",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/trim", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/trim", 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
{
"audio": "https://ejemplo.com/audio.mp3"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.trim",
"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. |