REST API
Subir y compartir archivos
Este tutorial toma un archivo local llamado demo.mp4 y lo convierte en un recurso compartido funcional URL. Complete los pasos en orden; cada respuesta proporciona un valor utilizado por la siguiente solicitud.
Crear y guardar una clave API
Abra la configuración del desarrollador, seleccione uploads:write, files:read, shares:write y shares:read y luego cree la clave. Cópielo ahora: el secreto completo se muestra solo una vez.
Alcances disponibles: uploads:write, files:read, shares:write y shares:read.
Prepara tu terminal
Coloque la clave en una variable de entorno para que no aparezca en todos los comandos ni en el historial de su shell. Reemplace el marcador de posición antes de presionar Enter.
read -s VIDEO2URL_API_KEY
echo "key loaded"Crear un trabajo de carga
Indique a Video2URL el nombre de archivo exacto, el tipo de MIME y el tamaño de bytes. Esto devuelve una carga temporal de R2 URL; aun no sube el video.
POST /api/v1/uploads
curl -sS -X POST https://video2url.com/api/v1/uploads \
-H "Authorization: Bearer $VIDEO2URL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filename":"demo.mp4","mimeType":"video/mp4","sizeBytes":1048576}'export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"Enviar los bytes del vídeo.
Cargue demo.mp4 directamente al URL temporal. No agregue la clave Video2URL API a esta solicitud PUT. Utilice el tipo de contenido devuelto por la respuesta de creación y carga. Cargue el archivo sin formato en el URL prefirmado utilizando el tipo de contenido devuelto.
curl --fail-with-body -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
--data-binary @demo.mp4Completa y verifica la carga.
Después de que PUT tenga éxito, dígale a Video2URL que verifique el objeto almacenado y cree el registro del archivo. No llame a este paso antes de que finalice PUT.
POST /api/v1/uploads/{uploadId}/complete · GET /api/v1/uploads/{uploadId}
curl -sS -X POST "https://video2url.com/api/v1/uploads/$UPLOAD_ID/complete" \
-H "Authorization: Bearer $VIDEO2URL_API_KEY"export FILE_ID="paste data.file.fileId here"JavaScript & Python
Crea la clave más estrecha que necesites. Gire creando e implementando un reemplazo antes de revocar la clave anterior. Si finaliza el acceso pago, las claves permanecen guardadas pero las llamadas se pausan; renovar un plan elegible restablece el acceso.
const response = await fetch('https://video2url.com/api/v1/uploads', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.VIDEO2URL_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ filename: 'demo.mp4', mimeType: 'video/mp4', sizeBytes: file.size }),
});
const created = await response.json();import os, requests
headers = {"Authorization": f"Bearer {os.environ['VIDEO2URL_API_KEY']}"}
created = requests.post("https://video2url.com/api/v1/uploads", headers=headers, json={"filename": "demo.mp4", "mimeType": "video/mp4", "sizeBytes": 1048576})
created.raise_for_status()
with open("demo.mp4", "rb") as video:
requests.put(created.json()["data"]["upload"]["url"], data=video).raise_for_status()