Durchsuchen Sie Entwicklerdokumente

REST API

Dateien hochladen und teilen

Dieses Tutorial verwendet eine lokale Datei mit dem Namen demo.mp4 und wandelt sie in eine Arbeitsfreigabe URL um. Führen Sie die Schritte der Reihe nach aus. Jede Antwort liefert einen Wert, der von der nächsten Anfrage verwendet wird.

1

Erstellen und speichern Sie einen API-Schlüssel

Öffnen Sie die Entwicklereinstellungen, wählen Sie uploads:write, files:read, shares:write und shares:read aus und erstellen Sie dann den Schlüssel. Kopieren Sie es jetzt – das vollständige Geheimnis wird nur einmal angezeigt.

Verfügbare Bereiche: uploads:write, files:read, shares:write und shares:read.

Erwartetes Ergebnis:Sie haben ein Geheimnis, das mit dem Schlüsselpräfix Video2URL beginnt. Halten Sie es privat.
2

Bereiten Sie Ihr Terminal vor

Fügen Sie den Schlüssel in eine Umgebungsvariable ein, damit er nicht in jedem Befehl oder in Ihrem Shell-Verlauf erscheint. Ersetzen Sie den Platzhalter, bevor Sie die Eingabetaste drücken.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Erwartetes Ergebnis:Der Befehl gibt den geladenen Schlüssel aus, nicht das Geheimnis selbst.
3

Erstellen Sie einen Upload-Job

Teilen Sie Video2URL den genauen Dateinamen, den MIME-Typ und die Bytegröße mit. Dies gibt einen temporären R2-Upload URL zurück; Das Video wird noch nicht hochgeladen.

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}'
Erwartetes Ergebnis:Eine JSON-Antwort, die data.uploadId und data.upload.url. enthält. Speichern Sie beide Werte für die nächsten Schritte.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Senden Sie die Videobytes

Laden Sie demo.mp4 direkt auf das temporäre URL hoch. Fügen Sie dieser PUT-Anfrage nicht den Schlüssel Video2URL API hinzu. Verwenden Sie den von der Create-Upload-Antwort zurückgegebenen Content-Type. Laden Sie die Rohdatei unter Verwendung des zurückgegebenen Inhaltstyps in das vorsignierte URL hoch.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Erwartetes Ergebnis:Der Upload-Server gibt HTTP 200 zurück. Ein leerer Antworttext ist normal.
5

Schließen Sie den Upload ab und überprüfen Sie ihn

Nachdem PUT erfolgreich war, weisen Sie Video2URL an, das gespeicherte Objekt zu überprüfen und den Dateidatensatz zu erstellen. Rufen Sie diesen Schritt nicht auf, bevor PUT abgeschlossen ist.

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"
Erwartetes Ergebnis:Die Antwort enthält data.file.fileId. Save FILE_ID; es identifiziert die fertige Datei.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Erstellen Sie die endgültige Freigabe URL

Erstellen Sie einen nicht gelisteten Link von FILE_ID. Nicht gelistet bedeutet, dass jeder mit dem URL es öffnen kann, es jedoch nicht in einem öffentlichen Verzeichnis abgelegt wird.

  • Der Titel ist optional.
  • Das Passwort ist optional.
  • Sichtbarkeit ist optional.
  • Die Sichtbarkeit ist standardmäßig auf „Nicht gelistet“ eingestellt.

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"}"
Erwartetes Ergebnis:Die Antwort enthält den Freigabedatensatz und URL. Öffnen Sie SHARE_URL in einem privaten Browserfenster, um es zu überprüfen.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Erstellen Sie den schmalsten Schlüssel, den Sie benötigen. Führen Sie eine Rotation durch, indem Sie einen Ersatz erstellen und bereitstellen, bevor Sie den alten Schlüssel widerrufen. Wenn der kostenpflichtige Zugang endet, bleiben die Schlüssel gespeichert, aber Anrufe werden unterbrochen; Durch die Erneuerung eines berechtigten Plans wird der Zugriff wiederhergestellt.

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