Răsfoiți documentele pentru dezvoltatori

REST API

Încărcați și partajați fișiere

Acest tutorial preia un fișier local numit demo.mp4 și îl transformă într-o partajare funcțională URL. Parcurgeți pașii în ordine; fiecare răspuns furnizează o valoare folosită de următoarea cerere.

1

Creați și salvați o cheie API

Deschideți Setările pentru dezvoltatori, selectați încărcări: scrieți, files:read, shares:write și shares:read, apoi creați cheia. Copiați-l acum - secretul complet este afișat o singură dată.

Domenii disponibile: încărcări: scriere, files:read, shares:write și shares:read.

Rezultat așteptat:Aveți un secret care începe cu prefixul cheii Video2URL. Păstrează-l privat.
2

Pregătiți-vă terminalul

Pune cheia într-o variabilă de mediu, astfel încât să nu apară în fiecare comandă sau în istoricul shell-ului tău. Înlocuiți substituentul înainte de a apăsa Enter.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Rezultat așteptat:Comanda imprimă cheia încărcată, nu secretul în sine.
3

Creați o sarcină de încărcare

Spuneți Video2URL numele exact de fișier, tipul MIME și dimensiunea octetilor. Aceasta returnează o încărcare temporară R2 URL; încă nu încărcă videoclipul.

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}'
Rezultat așteptat:Un răspuns JSON care conține data.uploadId și data.upload.url. Salvați ambele valori pentru pașii următori.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Trimite octeții video

Încărcați demo.mp4 direct în URL temporar. Nu adăugați cheia Video2URL API la această solicitare PUT. Utilizați tipul de conținut returnat de răspunsul de creare-încărcare. Încărcați fișierul brut în URL presemnat folosind tipul de conținut returnat.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Rezultat așteptat:Serverul de încărcare returnează HTTP 200. Un corp de răspuns gol este normal.
5

Finalizați și verificați încărcarea

După ce PUT reușește, spuneți lui Video2URL să verifice obiectul stocat și să creeze înregistrarea fișierului. Nu apelați acest pas înainte ca PUT să se încheie.

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"
Rezultat așteptat:Răspunsul conține data.file.fileId. Salvați FILE_ID; identifică dosarul completat.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Creați distribuirea finală URL

Creați un link nelistat din FILE_ID. Nelistat înseamnă că oricine are URL îl poate deschide, dar nu este plasat într-un director public.

  • Titlul este optional.
  • Parola este opțională.
  • Vizibilitatea este opțională.
  • Vizibilitatea este implicită nelistată.

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"}"
Rezultat așteptat:Răspunsul conține înregistrarea de partajare și URL. Deschide SHARE_URL într-o fereastră privată de browser pentru a o verifica.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Creați cea mai îngustă cheie de care aveți nevoie. Rotiți prin crearea și implementarea unui înlocuitor înainte de a revoca vechea cheie. Dacă accesul plătit se termină, cheile rămân salvate, dar apelurile sunt întrerupte; reînnoirea unui plan eligibil restabilește accesul.

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