REST API
Tải lên và chia sẻ tập tin
Hướng dẫn này lấy một tệp cục bộ có tên demo.mp4 và biến nó thành một tệp chia sẻ hoạt động URL. Hoàn thành các bước theo thứ tự; mỗi phản hồi cung cấp một giá trị được sử dụng cho yêu cầu tiếp theo.
Tạo và lưu khóa API
Mở cài đặt dành cho nhà phát triển, chọn tải lên:ghi, files:read, shares:write và shares:read, sau đó tạo khóa. Sao chép ngay bây giờ—toàn bộ bí mật chỉ được hiển thị một lần.
Phạm vi có sẵn: tải lên:ghi, files:read, shares:write và shares:read.
Chuẩn bị thiết bị đầu cuối của bạn
Đặt khóa vào biến môi trường để nó không xuất hiện trong mọi lệnh hoặc trong lịch sử shell của bạn. Thay thế phần giữ chỗ trước khi nhấn Enter.
read -s VIDEO2URL_API_KEY
echo "key loaded"Tạo một công việc tải lên
Cho Video2URL biết chính xác tên tệp, loại MIME và kích thước byte. Điều này trả về bản tải lên R2 tạm thời URL; nó chưa tải video lên.
POST /api/v1/uploads
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}'export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"Gửi byte video
Tải trực tiếp demo.mp4 lên URL tạm thời. Không thêm khóa Video2URL API vào yêu cầu PUT này. Sử dụng Loại nội dung được trả về bởi phản hồi tạo-tải lên. Tải tệp thô lên URL được chỉ định bằng cách sử dụng loại nội dung được trả về.
curl --fail-with-body -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
--data-binary @demo.mp4Hoàn tất và xác minh việc tải lên
Sau khi PUT thành công, hãy yêu cầu Video2URL xác minh đối tượng được lưu trữ và tạo bản ghi tệp. Không gọi bước này trước khi PUT kết thúc.
POST /api/v1/uploads/{uploadId}/complete · GET /api/v1/uploads/{uploadId}
curl -sS -X POST "https://video2url.com/api/v1/uploads/$UPLOAD_ID/complete" \
-H "Authorization: Bearer $VIDEO2URL_API_KEY"export FILE_ID="paste data.file.fileId here"JavaScript & Python
Tạo khóa hẹp nhất bạn cần. Xoay bằng cách tạo và triển khai thay thế trước khi thu hồi khóa cũ. Nếu quyền truy cập trả phí kết thúc, khóa vẫn được lưu nhưng cuộc gọi sẽ tạm dừng; gia hạn gói đủ điều kiện sẽ khôi phục quyền truy cập.
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();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()