Exploreu els documents dels desenvolupadors

REST API

Carregueu i compartiu fitxers

Aquest tutorial pren un fitxer local anomenat demo.mp4 i el converteix en una compartició de treball URL. Completa els passos en ordre; cada resposta proporciona un valor utilitzat per la següent sol·licitud.

1

Creeu i deseu una clau API

Obriu la configuració del desenvolupador, seleccioneu uploads:write, files:read, shares:write i shares:read i, a continuació, creeu la clau. Copieu-lo ara: el secret complet només es mostra una vegada.

Abasts disponibles: uploads:write, files:read, shares:write i shares:read.

Resultat esperat:Tens un secret que comença amb el prefix de clau Video2URL. Manteniu-lo privat.
2

Prepara el teu terminal

Poseu la clau en una variable d'entorn perquè no aparegui a totes les ordres ni a l'historial de l'intèrpret d'ordres. Substituïu el marcador de posició abans de prémer Intro.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Resultat esperat:L'ordre imprimeix la clau carregada, no el secret en si.
3

Crea un treball de càrrega

Digues a Video2URL el nom exacte del fitxer, el tipus de MIME i la mida dels bytes. Això retorna una càrrega R2 temporal URL; encara no puja el vídeo.

POST /api/v1/uploads

curl
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}'
Resultat esperat:Una resposta JSON que conté data.uploadId i data.upload.url. Deseu els dos valors per als passos següents.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Envia els bytes del vídeo

Carregueu demo.mp4 directament al URL temporal. No afegiu la clau Video2URL API a aquesta sol·licitud PUT. Utilitzeu el tipus de contingut que retorna la resposta de creació de càrrega. Carregueu el fitxer en brut al URL presignat mitjançant el tipus de contingut retornat.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Resultat esperat:El servidor de càrrega retorna HTTP 200. És normal un cos de resposta buit.
5

Completa i verifica la càrrega

Després que PUT tingui èxit, digueu a Video2URL que verifiqui l'objecte emmagatzemat i que creï el registre del fitxer. No crideu a aquest pas abans que acabi el PUT.

POST /api/v1/uploads/{uploadId}/complete · GET /api/v1/uploads/{uploadId}

curl
curl -sS -X POST "https://video2url.com/api/v1/uploads/$UPLOAD_ID/complete" \
  -H "Authorization: Bearer $VIDEO2URL_API_KEY"
Resultat esperat:La resposta conté data.file.fileId. Desa FILE_ID; identifica el fitxer completat.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Creeu la compartició final URL

Creeu un enllaç ocult des de FILE_ID. Ocult vol dir que qualsevol persona amb el URL pot obrir-lo, però no es col·loca en un directori públic.

  • El títol és opcional.
  • La contrasenya és opcional.
  • La visibilitat és opcional.
  • Per defecte, la visibilitat és no llistada.

POST /api/v1/shares · GET / DELETE /api/v1/shares/{shareId}

curl
curl -sS -X POST https://video2url.com/api/v1/shares \
  -H "Authorization: Bearer $VIDEO2URL_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{"fileId":"$FILE_ID","visibility":"unlisted"}"
Resultat esperat:La resposta conté el registre compartit i URL. Obriu SHARE_URL en una finestra privada del navegador per verificar-ho.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Creeu la clau més estreta que necessiteu. Gireu creant i desplegant un reemplaçament abans de revocar la clau antiga. Si s'acaba l'accés de pagament, les claus es mantenen desades però les trucades es posen en pausa; la renovació d'un pla elegible restableix l'accés.

JavaScript
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();
Python
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()