Blader door ontwikkelaarsdocumentatie

REST API

Bestanden uploaden en delen

Deze tutorial gebruikt één lokaal bestand met de naam demo.mp4 en verandert dit in een werkende share URL. Voer de stappen in volgorde uit; elk antwoord levert een waarde op die door het volgende verzoek wordt gebruikt.

1

Maak een API-sleutel en sla deze op

Open de ontwikkelaarsinstellingen, selecteer uploads:write, files:read, shares:write en shares:read en maak vervolgens de sleutel. Kopieer het nu: het volledige geheim wordt slechts één keer getoond.

Beschikbare scopes: uploads:write, files:read, shares:write en shares:read.

Verwacht resultaat:Je hebt een geheim dat begint met het sleutelvoorvoegsel Video2URL. Houd het privé.
2

Bereid uw terminal voor

Plaats de sleutel in een omgevingsvariabele, zodat deze niet in elke opdracht of in uw shellgeschiedenis verschijnt. Vervang de tijdelijke aanduiding voordat u op Enter drukt.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Verwacht resultaat:De opdracht drukt de geladen sleutel af, niet het geheim zelf.
3

Maak een uploadtaak

Vertel Video2URL de exacte bestandsnaam, het MIME-type en de bytegrootte. Dit retourneert een tijdelijke R2-upload URL; de video wordt nog niet geüpload.

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}'
Verwacht resultaat:Een JSON-antwoord met data.uploadId en data.upload.url.. Bewaar beide waarden voor de volgende stappen.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Verzend de videobytes

Upload demo.mp4 rechtstreeks naar de tijdelijke URL. Voeg de sleutel Video2URL API niet toe aan dit PUT-verzoek. Gebruik het Content-Type dat wordt geretourneerd door het create-upload-antwoord. Upload het onbewerkte bestand naar de vooraf ondertekende URL met behulp van het geretourneerde inhoudstype.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Verwacht resultaat:De uploadserver retourneert HTTP 200. Een lege antwoordtekst is normaal.
5

Voltooi en verifieer de upload

Nadat PUT is geslaagd, vertelt u Video2URL dat hij het opgeslagen object moet verifiëren en het bestandsrecord moet maken. Roep deze stap niet op voordat de PUT klaar is.

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"
Verwacht resultaat:Het antwoord bevat data.file.fileId. Opslaan FILE_ID; het identificeert het voltooide bestand.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Maak het laatste aandeel URL

Maak een niet-vermelde link vanuit FILE_ID. Niet vermeld betekent dat iedereen met de URL deze kan openen, maar dat deze niet in een openbare map wordt geplaatst.

  • Titel is optioneel.
  • Wachtwoord is optioneel.
  • Zichtbaarheid is optioneel.
  • De zichtbaarheid is standaard ingesteld op verborgen.

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"}"
Verwacht resultaat:Het antwoord bevat de deelrecord en URL. Open SHARE_URL in een privébrowservenster om het te verifiëren.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Creëer de smalste sleutel die je nodig hebt. Roteer door een vervanging te maken en te implementeren voordat u de oude sleutel intrekt. Als de betaalde toegang eindigt, blijven de sleutels opgeslagen, maar worden gesprekken onderbroken; Als u een in aanmerking komend abonnement verlengt, wordt de toegang hersteld.

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