Convertir un vídeo
Un archivo de video vale lo que valen los sistemas que realmente puedan abrirlo, y ningún formato único satisface a todos: este endpoint convierte entre MP4, WebM, MOV, AVI y MKV para que el mismo material llegue correctamente a donde tenga que llegar, sin necesidad de una aplicación de escritorio de por medio.
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é el formato todavía importa
Los contenedores y códecs nunca terminaron de converger: el MOV sigue apareciendo en flujos de cámara y edición, el AVI persiste en sistemas de transmisión y archivo más antiguos, el MKV es común en flujos de código abierto y de entusiastas, mientras que MP4 y WebM dominan la web moderna porque navegadores y plataformas móviles se construyeron alrededor de ellos. Un equipo que recibe material de un mundo y publica en otro se topa con esto constantemente, no como caso excepcional, sino como un desajuste rutinario entre lo que llegó y lo que el destino realmente acepta.
Qué hace en realidad el trabajo de conversión
Se llama a POST /video/convert con el archivo de origen y el formato destino, y la solicitud devuelve un task_id mientras la conversión corre en segundo plano. El servicio reempaqueta, y cuando hace falta recodifica, los flujos de video y audio hacia la combinación de contenedor y códec destino, conservando el contenido pero cambiando el envoltorio en el que viaja: el mismo material, ahora legible por un conjunto distinto de herramientas.
Contenedores contra códecs, en breve
Vale la pena separar las dos ideas que en realidad representan los nombres de formato: MP4 y MKV son contenedores, cajas que pueden llevar dentro distintas combinaciones de códec, mientras que el códec (hoy comúnmente H.264 o H.265 para video) es lo que realmente comprime la imagen. Este endpoint resuelve ambas capas del problema, eligiendo valores por defecto sensatos para el contenedor destino de modo que el resultado se reproduzca de forma confiable, en lugar de cumplir técnicamente una especificación pero fallar en silencio en algún reproductor.
El ángulo de automatización
La conversión de formato rara vez ocurre de forma aislada: suele ser un eslabón en una cadena que empieza con una subida desde una cámara o un cliente y termina con los requisitos de ingesta de una plataforma específica, ya sea un CMS, una red publicitaria o un flujo de streaming con sus propias reglas de formato. Convertir esa conversión en una llamada de API en lugar de una exportación manual permite que la misma regla corra sin supervisión sobre toda una biblioteca, noche tras noche, en vez de que alguien la repita a mano por cada archivo nuevo.
Dónde está esto hoy
Este endpoint está terminando su despliegue final. Todo lo documentado aquí —la ruta, los formatos soportados, el precio— es la versión que se publicará, y como con cualquier tarea de la plataforma, se hacen tres reintentos automáticos antes de reportar cualquier falla, y una conversión fallida nunca se cobra.
Qué puede hacer con ella
Material de cámara preparado para la web
Un equipo de producción recibe archivos MOV crudos de cámaras y los convierte a MP4 de forma automática antes de entregarlos a un flujo de publicación orientado a la web.
Material de archivo llevado a herramientas modernas
Un archivo con grabaciones antiguas en AVI las convierte a MKV o MP4 en lote para que la colección sea reproducible en las herramientas actuales de edición y streaming.
Requisitos de entrega específicos de plataforma
Una red publicitaria exige una combinación exacta de contenedor y códec, así que un equipo de medios convierte cada pieza creativa a ese formato de forma automática antes de enviarla.
Flujos de código abierto y multiplataforma
Un equipo de desarrollo estandariza sus recursos de video internos en MKV por flexibilidad de edición, y luego convierte a WebM específicamente para la versión web de su producto.
Preguntas frecuentes
¿Qué formatos soporta esta api convertir video?
Convierte entre MP4, WebM, MOV, AVI y MKV, manejando tanto el contenedor como el códec subyacente para que el resultado realmente se reproduzca en la plataforma destino.
¿Es gratis esta api convertir video?
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.
¿Convertir un video reduce su calidad?
Convertir entre contenedores con un códec compatible conserva la calidad casi intacta, mientras que convertir entre códecs implica recodificar, así que la configuración de salida y el formato destino influyen en el resultado final.
¿Cómo se entrega el archivo convertido?
Mediante un webhook firmado cuando la tarea termina, o desde un enlace firmado válido por 24 horas tras completarse la conversión.
¿Puedo convertir un lote grande de videos a la vez?
Sí, cada conversión es una tarea asíncrona independiente con su propio task_id, así que convertir toda una biblioteca es cuestión de enviar una solicitud por archivo.
¿Qué pasa si una conversión falla?
La tarea se reintenta automáticamente hasta tres veces; si sigue fallando, se recibe un error claro y ese intento nunca se cobra.
¿Se puede convertir de MOV a MP4?
Sí, convertir de MOV a MP4 es una de las conversiones más comunes que maneja este endpoint, junto con AVI y MKV en cualquier dirección hacia MP4 o WebM.
¿Este endpoint ya está disponible?
Está en su despliegue final; los formatos, el endpoint y el precio aquí descritos son la versión definitiva y pronto comenzará a aceptar tareas.
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/convert \
-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/convert", {
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/convert",
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/convert", 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/convert", 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.convert",
"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. |