Pregledajte dokumentaciju programera

REST API

Prijenos i dijeljenje datoteka

Ovaj vodič uzima jednu lokalnu datoteku pod nazivom demo.mp4 i pretvara je u radnu udionicu URL. Dovršite korake redom; svaki odgovor daje vrijednost koju koristi sljedeći zahtjev.

1

Stvorite i spremite API ključ

Otvorite postavke razvojnog programera, odaberite uploads:write, files:read, shares:write i shares:read, a zatim izradite ključ. Kopirajte sada - cijela tajna prikazuje se samo jednom.

Dostupni opsezi: uploads:write, files:read, shares:write i shares:read.

Očekivani rezultat:Imate tajnu koja počinje prefiksom ključa Video2URL. Neka bude privatno.
2

Pripremite svoj terminal

Stavite ključ u varijablu okruženja kako se ne bi pojavio u svakoj naredbi ili u vašoj povijesti ljuske. Zamijenite rezervirano mjesto prije nego što pritisnete Enter.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Očekivani rezultat:Naredba ispisuje učitani ključ, a ne samu tajnu.
3

Stvorite posao učitavanja

Recite Video2URL točan naziv datoteke, MIME vrstu i veličinu bajta. Ovo vraća privremeni R2 prijenos URL; još ne prenosi video.

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}'
Očekivani rezultat:JSON odgovor koji sadrži data.uploadId i data.upload.url. Spremite obje vrijednosti za sljedeće korake.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Pošalji video bajtove

Prenesite demo.mp4 izravno na privremeni URL. Nemojte dodavati Video2URL API ključ ovom PUT zahtjevu. Upotrijebite Content-Type koji vraća odgovor za kreiranje-prijenos. Učitajte neobrađenu datoteku u unaprijed potpisani URL koristeći vraćenu vrstu sadržaja.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Očekivani rezultat:Poslužitelj za učitavanje vraća HTTP 200. Prazno tijelo odgovora je normalno.
5

Dovršite i potvrdite prijenos

Nakon što PUT uspije, recite Video2URL da provjeri pohranjeni objekt i stvori zapis datoteke. Ne pozivajte ovaj korak prije nego što PUT završi.

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"
Očekivani rezultat:Odgovor sadrži data.file.fileId. Spremi FILE_ID; identificira dovršenu datoteku.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Stvorite konačno dijeljenje URL

Stvorite vezu koja nije navedena iz FILE_ID. Nenaveden znači da ga može otvoriti bilo tko s URL, ali nije smješten u javni direktorij.

  • Naslov nije obavezan.
  • Lozinka nije obavezna.
  • Vidljivost nije obavezna.
  • Zadana vidljivost je nenavedena.

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"}"
Očekivani rezultat:Odgovor sadrži zapis dijeljenja i URL. Otvorite SHARE_URL u privatnom prozoru preglednika da biste ga potvrdili.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Izradite najuži ključ koji vam je potreban. Rotirajte stvaranjem i uvođenjem zamjene prije opoziva starog ključa. Ako plaćeni pristup završi, ključevi ostaju spremljeni, ali se pozivi pauziraju; obnova plana koji ispunjava uvjete vraća pristup.

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