Gennemse udviklerdokumenter

REST API

Upload og del filer

Denne vejledning tager en lokal fil ved navn demo.mp4 og forvandler den til en fungerende share URL. Gennemfør trinene i rækkefølge; hvert svar giver en værdi, der bruges af den næste anmodning.

1

Opret og gem en API nøgle

Åbn udviklerindstillinger, vælg uploads:write, files:read, shares:write og shares:read, og opret derefter nøglen. Kopier det nu - hele hemmeligheden vises kun én gang.

Tilgængelige skoper: uploads:write, files:read, shares:write og shares:read.

Forventet resultat:Du har en hemmelighed, der begynder med Video2URL nøglepræfikset. Hold det privat.
2

Forbered din terminal

Sæt nøglen i en miljøvariabel, så den ikke vises i hver kommando eller i din shell-historik. Udskift pladsholderen, før du trykker på Enter.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Forventet resultat:Kommandoen udskriver nøglen indlæst, ikke selve hemmeligheden.
3

Opret et uploadjob

Fortæl Video2URL det nøjagtige filnavn, MIME-type og bytestørrelse. Dette returnerer en midlertidig R2 upload URL; den uploader ikke videoen endnu.

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}'
Forventet resultat:Et JSON-svar, der indeholder data.uploadId og data.upload.url.. Gem begge værdier til de næste trin.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Send videobytes

Upload demo.mp4 direkte til den midlertidige URL. Tilføj ikke Video2URL API-nøglen til denne PUT-anmodning. Brug den Content-Type, der returneres af opret-upload-svaret. Upload råfilen til den foruddefinerede URL ved hjælp af den returnerede indholdstype.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Forventet resultat:Uploadserveren returnerer HTTP 200. En tom svartekst er normal.
5

Fuldfør og verificer uploaden

Efter at PUT lykkes, bede Video2URL om at verificere det lagrede objekt og oprette filposten. Kald ikke dette trin, før PUT er færdig.

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"
Forventet resultat:Svaret indeholder data.file.fileId. Gem FILE_ID; den identificerer den færdige fil.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Opret den endelige andel URL

Opret et unoteret link fra FILE_ID. Unoteret betyder, at alle med URL kan åbne den, men den er ikke placeret i en offentlig mappe.

  • Titel er valgfri.
  • Adgangskode er valgfri.
  • Synlighed er valgfri.
  • Synlighed er som standard ikke-noteret.

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"}"
Forventet resultat:Svaret indeholder deleposten og URL. Åbn SHARE_URL i et privat browservindue for at bekræfte det.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Opret den smalleste nøgle, du har brug for. Roter ved at oprette og implementere en erstatning, før du tilbagekalder den gamle nøgle. Hvis den betalte adgang ophører, forbliver nøglerne gemt, men opkald pauser; fornyelse af en berettiget plan genopretter adgangen.

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()