Telusuri dokumen pengembang

REST API

Unggah dan bagikan file

Tutorial ini mengambil satu file lokal bernama demo.mp4 dan mengubahnya menjadi share yang berfungsi URL. Selesaikan langkah-langkahnya secara berurutan; setiap respons memberikan nilai yang digunakan oleh permintaan berikutnya.

1

Buat dan simpan kunci API

Buka pengaturan Pengembang, pilih unggahan: tulis, files:read, shares:write, dan shares:read, lalu buat kuncinya. Salin sekarang—rahasia selengkapnya hanya ditampilkan sekali.

Cakupan yang tersedia: unggahan: tulis, files:read, shares:write, dan shares:read.

Hasil yang diharapkan:Anda memiliki rahasia yang dimulai dengan awalan kunci Video2URL. Jaga kerahasiaannya.
2

Siapkan terminal Anda

Letakkan kunci dalam variabel lingkungan sehingga tidak muncul di setiap perintah atau di riwayat shell Anda. Ganti placeholder sebelum menekan Enter.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Hasil yang diharapkan:Perintah mencetak kunci yang dimuat, bukan rahasia itu sendiri.
3

Buat pekerjaan unggahan

Beri tahu Video2URL nama file persisnya, jenis MIME, dan ukuran byte. Ini mengembalikan unggahan R2 sementara URL; itu belum mengunggah videonya.

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}'
Hasil yang diharapkan:Respons JSON berisi data.uploadId dan data.upload.url. Simpan kedua nilai untuk langkah selanjutnya.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Kirim byte video

Unggah demo.mp4 langsung ke URL sementara. Jangan tambahkan kunci Video2URL API ke permintaan PUT ini. Gunakan Tipe Konten yang dikembalikan oleh respons buat-unggah. Unggah file mentah ke URL yang telah ditentukan sebelumnya menggunakan tipe konten yang dikembalikan.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Hasil yang diharapkan:Server pengunggahan mengembalikan HTTP 200. Isi respons yang kosong adalah normal.
5

Selesaikan dan verifikasi unggahan

Setelah PUT berhasil, beri tahu Video2URL untuk memverifikasi objek yang disimpan dan membuat catatan file. Jangan panggil langkah ini sebelum PUT selesai.

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"
Hasil yang diharapkan:Responsnya berisi data.file.fileId. Simpan FILE_ID; itu mengidentifikasi file yang sudah selesai.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Buat pembagian terakhir URL

Buat tautan tidak terdaftar dari FILE_ID. Tidak Terdaftar berarti siapa pun yang memiliki URL dapat membukanya, namun tidak ditempatkan di direktori publik.

  • Judul bersifat opsional.
  • Kata sandi bersifat opsional.
  • Visibilitas adalah opsional.
  • Visibilitas defaultnya adalah tidak tercantum.

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"}"
Hasil yang diharapkan:Responsnya berisi catatan berbagi dan URL. Buka SHARE_URL di jendela browser pribadi untuk memverifikasinya.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Buat kunci tersempit yang Anda butuhkan. Putar dengan membuat dan menerapkan kunci pengganti sebelum mencabut kunci lama. Jika akses berbayar berakhir, kunci tetap disimpan tetapi panggilan dijeda; memperbarui paket yang memenuhi syarat akan memulihkan akses.

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