Recortar audio
La parte buena de una grabación suele ser treinta segundos escondidos dentro de cuarenta minutos, y arrastrar una forma de onda en un editor para encontrarla es el camino lento. Este endpoint corta exactamente la ventana que usted indique y deja el resto atrás.
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 cuarenta minutos que nadie necesitaba
Una grabación completa de una reunión de directorio contiene una decisión digna de citar, un podcast de dos horas contiene un fragmento digno de compartir en redes, una llamada de cliente contiene un momento de retroalimentación digno de rescatar para un resumen. Enviar el archivo completo cada vez obliga a quien lo recibe a hacer la búsqueda que usted ya hizo. audio.trim existe para que viaje el fragmento, no el contenedor entero.
Cómo se hace el corte
Haga POST a /audio/trim con el archivo de origen y un punto de inicio y de fin, y la tarea corre de forma asíncrona, devolviendo un task_id de inmediato. Cuando el recorte termina, recibe el fragmento resultante mediante una llamada de webhook firmada o un enlace firmado que permanece válido por 24 horas, tiempo suficiente para que una cola de trabajo o una persona pase a recogerlo.
Precisión sin artefactos de recodificación
Recortar suena simple, y conceptualmente lo es: elegir un inicio, elegir un final, conservar lo que hay entre ambos. Pero cortar de forma ingenua en puntos arbitrarios de un flujo de audio comprimido puede introducir clics o desalineaciones de cuadro si no se hace con cuidado, una lección que todo ingeniero de audio aprende la primera vez que un corte seco suena mal en vez de terminar limpio. El endpoint maneja el corte correctamente, de modo que el resultado empieza y termina exactamente donde usted lo pidió, sin los artefactos que deja un corte hecho a ciegas.
Su lugar dentro de un flujo de edición más amplio
El recorte rara vez corre solo; suele ser el primer paso antes de que un fragmento se normalice, se limpie de ruido o se convierta a un formato de entrega, y ejecutarlo como su propia tarea asíncrona permite disparar cada paso de esa cadena en cuanto llega el webhook del anterior. Como el precio es por solicitud más por minuto del archivo de origen, extraer un fragmento de diez segundos de una grabación de noventa minutos cuesta casi nada más allá de la tarifa base, lo que hace que recortar a gran escala sea genuinamente práctico y no una tarea manual reservada solo a los destacados que alguien se acuerda de hacer.
Qué puede hacer con ella
Fragmento destacado de un episodio de podcast
Un programa extrae los treinta segundos más citables de un episodio completo para publicarlos como adelanto en redes sociales.
Extracto probatorio de una llamada grabada
Un equipo de soporte rescata el segmento exacto de una llamada donde se hizo un compromiso, sin compartir la conversación completa.
Tono de llamada o notificación
Una aplicación móvil recorta un sonido corto y distintivo de una pista musical más larga para usarlo como tono de notificación personalizado.
Quitar una intro larga antes de procesar
Un flujo de transcripción recorta una intro musical extensa antes de enviar la parte hablada del archivo a los siguientes pasos.
Preguntas frecuentes
¿Cómo recorto audio con la API?
Envíe el archivo y los tiempos de inicio y fin por POST a /audio/trim, guarde el task_id devuelto y reciba el fragmento por webhook o mediante un enlace firmado válido por 24 horas.
¿Es gratis la API para recortar audio?
No, no hay plan gratuito ni prueba; cuesta $0.077 por solicitud más $0.0045 por minuto del audio de origen, y un recorte fallido nunca se cobra.
¿Qué formatos de audio puedo recortar?
Los más comunes: MP3, WAV, OGG, M4A y FLAC; consulte la referencia del endpoint para la lista completa vigente.
¿Puedo extraer más de un fragmento del mismo archivo?
Sí, envíe una tarea de recorte independiente por cada segmento que necesite, y cada una devuelve su propio task_id y resultado por separado.
¿Recortar pierde calidad de audio?
Los puntos de corte se manejan de forma limpia, así que el fragmento resultante no introduce clics ni artefactos más allá de la compresión que ya traía el formato de origen.
¿Ya está disponible este endpoint?
Está en despliegue en este momento y todavía no acepta trabajos; revise el estado del endpoint antes de enviarle tráfico de producción.
¿Qué tan precisos pueden ser los puntos de inicio y fin?
Lo suficientemente precisos para edición de fragmentos y extracción de destacados; consulte la referencia del endpoint para la resolución exacta que acepta.
¿Se conserva mi audio después de recortarlo?
No, los archivos de origen y los resultados 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/audio/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/audio/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/audio/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/audio/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/audio/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": "audio.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 | 200 |
max_minutes | 180 |
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. |