Parcourir la documentation des développeurs

REST API

Télécharger et partager des fichiers

Ce didacticiel prend un fichier local nommé demo.mp4 et le transforme en partage de travail URL. Complétez les étapes dans l'ordre ; chaque réponse fournit une valeur utilisée par la requête suivante.

1

Créer et enregistrer une clé API

Ouvrez les paramètres du développeur, sélectionnez uploads:write, files:read, shares:write et shares:read, puis créez la clé. Copiez-le maintenant : le secret complet n'est affiché qu'une seule fois.

Portées disponibles : uploads:write, files:read, shares:write et shares:read.

Résultat attendu :Vous disposez d'un secret qui commence par le préfixe de clé Video2URL. Gardez-le privé.
2

Préparez votre terminal

Placez la clé dans une variable d'environnement afin qu'elle n'apparaisse pas dans chaque commande ou dans l'historique de votre shell. Remplacez l'espace réservé avant d'appuyer sur Entrée.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Résultat attendu :La commande imprime la clé chargée, pas le secret lui-même.
3

Créer une tâche de téléchargement

Indiquez à Video2URL le nom exact du fichier, le type MIME et la taille en octets. Cela renvoie un téléchargement temporaire R2 URL ; il ne télécharge pas encore la vidéo.

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}'
Résultat attendu :Une réponse JSON contenant data.uploadId et data.upload.url. Enregistrez les deux valeurs pour les étapes suivantes.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Envoyer les octets vidéo

Téléchargez demo.mp4 directement sur le URL temporaire. N'ajoutez pas la clé Video2URL API à cette demande PUT. Utilisez le Content-Type renvoyé par la réponse create-upload. Téléchargez le fichier brut sur le URL présigné à l'aide du type de contenu renvoyé.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Résultat attendu :Le serveur de téléchargement renvoie HTTP 200. Un corps de réponse vide est normal.
5

Terminez et vérifiez le téléchargement

Une fois PUT réussi, demandez à Video2URL de vérifier l'objet stocké et de créer l'enregistrement de fichier. N'appelez pas cette étape avant la fin du PUT.

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"
Résultat attendu :La réponse contient data.file.fileId. Save FILE_ID ; il identifie le dossier complété.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Créer le partage final URL

Créez un lien non répertorié à partir de FILE_ID. Non répertorié signifie que toute personne possédant le URL peut l'ouvrir, mais il n'est pas placé dans un répertoire public.

  • Le titre est facultatif.
  • Le mot de passe est facultatif.
  • La visibilité est facultative.
  • La visibilité par défaut est non répertoriée.

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"}"
Résultat attendu :La réponse contient l'enregistrement de partage et URL. Ouvrez SHARE_URL dans une fenêtre de navigateur privé pour le vérifier.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Créez la clé la plus étroite dont vous avez besoin. Effectuez une rotation en créant et en déployant un remplacement avant de révoquer l'ancienne clé. Si l'accès payant prend fin, les clés restent enregistrées mais les appels sont suspendus ; le renouvellement d’un forfait admissible rétablit l’accès.

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